Ejemplo n.º 1
0
 def testAdd(self):
     z = formalsum.DictFormalSum({'x': 1, 'y': 1})
     d = formalsum.DictFormalSum({'x': 2})
     self.assertEqual(z, self.x + self.y)
     self.assertEqual(d, self.x + self.x)
     self.assertEqual(self.x, self.x + self.zero)
     self.assertEqual(self.x, self.zero + self.x)
    def __init__(self, mapping, optype):
        """
        SemigroupAlgebraElement(mapping, optype)

        mapping: mapping from the semigroup to ring.
        optype: one of ADDITIVE(= 0) or MULTIPLICATIVE(= 1).
                (We assume additive semigroup is commutative.)

        The semigroup is not explicitly given.
        """
        self._data = formalsum.DictFormalSum(mapping)
        self.optype = optype
Ejemplo n.º 3
0
 def testCoefficientMap(self):
     double = lambda x: 2 * x
     two_x = formalsum.DictFormalSum({"x": 2})
     self.assertEqual(two_x, self.x.coefficients_map(double))
Ejemplo n.º 4
0
 def testScalarMul(self):
     d = formalsum.DictFormalSum({'x': 2})
     self.assertEqual(d, self.x * 2)
     self.assertEqual(d, 2 * self.x)
Ejemplo n.º 5
0
 def testNested(self):
     n = formalsum.DictFormalSum({self.x: self.x})
     self.assertEqual(self.x, n[self.x])
Ejemplo n.º 6
0
 def testSubtract(self):
     z = formalsum.DictFormalSum({'x': 1, 'y': -1})
     self.assertEqual(z, self.x - self.y)
     self.assertEqual(-z, self.y - self.x)
Ejemplo n.º 7
0
 def testNeg(self):
     mx = formalsum.DictFormalSum({'x': -1})
     self.assertEqual(mx, -self.x)
Ejemplo n.º 8
0
 def setUp(self):
     self.x = formalsum.DictFormalSum({"x": 1})
     self.y = formalsum.DictFormalSum({"y": 1})
     self.zero = formalsum.DictFormalSum({})