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
def testCoefficientMap(self): double = lambda x: 2 * x two_x = formalsum.DictFormalSum({"x": 2}) self.assertEqual(two_x, self.x.coefficients_map(double))
def testScalarMul(self): d = formalsum.DictFormalSum({'x': 2}) self.assertEqual(d, self.x * 2) self.assertEqual(d, 2 * self.x)
def testNested(self): n = formalsum.DictFormalSum({self.x: self.x}) self.assertEqual(self.x, n[self.x])
def testSubtract(self): z = formalsum.DictFormalSum({'x': 1, 'y': -1}) self.assertEqual(z, self.x - self.y) self.assertEqual(-z, self.y - self.x)
def testNeg(self): mx = formalsum.DictFormalSum({'x': -1}) self.assertEqual(mx, -self.x)
def setUp(self): self.x = formalsum.DictFormalSum({"x": 1}) self.y = formalsum.DictFormalSum({"y": 1}) self.zero = formalsum.DictFormalSum({})