def test_homogeneous_parts_A(self): one = self.poly_ring.one() zero = self.poly_ring.zero() gm = GradedModule([[one,one]],[0,1],[1,2,3]) parts = gm.get_homogeneous_parts([one,one]) parts_true = { 0:[one,zero] , 1:[zero,one] } self.assertEqual(parts,parts_true)
def test_homogeneous_part_basisA(self): x = self.x y = self.y z = self.z one = self.poly_ring.one() gm = GradedModule([[z,one,x**2 + y]],[0,1,2],[1,2,3]) basis = gm.homogeneous_part_basis(6); self.assertEqual(len(basis),10)
def test_monomial_basis(self): x = self.x y = self.y one = self.poly_ring.one() zero = self.poly_ring.zero() gm = GradedModule([[one,one]],[0,1],[1,2,3]) true_basis = [(x**2,zero),(y,zero),(zero,x)] self.assertEqual(Set(gm.monomial_basis(2)),Set(true_basis))
def test_homogeneous_part_basisB(self): #From bug found with ncd x = self.x y = self.y z = self.z zero = self.poly_ring.zero() gm = GradedModule([[zero, x*z, x*y], [zero, -x*z, zero], [y*z, zero, zero]],[1, 1, 1],[1, 1, 1]) basis = gm.homogeneous_part_basis(3); self.assertEqual(len(basis),3)
def test_homogeneous_parts_B(self): x = self.x y = self.y z = self.z one = self.poly_ring.one() zero = self.poly_ring.zero() gm = GradedModule([[one,one]],[0,1],[1,2,3]) parts = gm.get_homogeneous_parts([x*y,x**3+z*y]) self.assertEqual(parts,{3:[x*y,zero],4:[zero,x**3],6:[zero,z*y]})
def test_monomial_basis_zero(self): one = self.poly_ring.one() zero = self.poly_ring.zero() gm = GradedModule([[one,one,one,one]],[0,1,2,3],[1,2,3]) self.assertEqual(gm.monomial_basis(0),[(one,zero,zero,zero)])