def test_create_singular_free(self): free_matrix = "MM[1,1]=1\nMM[1,2]=0\nMM[1,3]=0\n" free_matrix = free_matrix + "MM[2,1]=0\nMM[2,2]=1\nMM[2,3]=0\n" free_matrix = free_matrix + "MM[3,1]=0\nMM[3,2]=0\nMM[3,3]=1\n" free_c = SingularModule.create_from_singular_matrix( self.poly_ring, free_matrix) free = SingularModule.create_free_module(3, self.poly_ring) self.assertTrue(free.equals(free_c))
def test_create_singular(self): out = "mat_inter[1,1]=0\n" out = out + "mat_inter[1,2]=0\n" out = out + "mat_inter[1,3]=x(1)*x(2)*x(3)\n" out = out + "mat_inter[2,1]=x(2)\n" out = out + "mat_inter[2,2]=0\n" out = out + "mat_inter[2,3]=0\n" out = out + "mat_inter[3,1]=-x(3)\n" out = out + "mat_inter[3,2]=x(3)\n" out = out + "mat_inter[3,3]=0\n" mod = SingularModule.create_from_singular_matrix( self.poly_ring, out, "mat_inter") x = self.x y = self.y z = self.z zero = self.poly_ring.zero() mod_true = [[zero, y, -z], [zero, zero, z], [x * y * z, zero, zero]] self.assertEqual(mod.gens, mod_true)