def test_p_forms_crossing_ngens(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   self.assertEqual(len(logdf.p_form_generators(0)),1)
   self.assertEqual(len(logdf.p_form_generators(1)),3)
   self.assertEqual(len(logdf.p_form_generators(2)),3)
   self.assertEqual(len(logdf.p_form_generators(3)),1)
Esempio n. 2
0
 def setUp(self):
     self.poly_ring = PolynomialRing(QQ, "x", 3)
     x = self.x = self.poly_ring.gens()[0]
     y = self.y = self.poly_ring.gens()[1]
     z = self.z = self.poly_ring.gens()[2]
     self.normal_logdf = LogarithmicDifferentialForms(x * y * z)
     self.whitney_logdf = LogarithmicDifferentialForms(x**2 * y - z**2)
 def test_equi_complex_whitney(self):
   whitney = self.x**2*self.y - self.z**2
   logdf = LogarithmicDifferentialForms(whitney)
   complex = logdf.chain_complex("equivarient")
   complex_size = {}
   for i,c in complex.iteritems():
     complex_size[i] = len(c)
   self.assertEqual(complex_size,{0:1,1:1,2:1,3:1})
 def test_relative_homology_0_crossing(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   homology = logdf.homology("relative",0)
   homology_size = {}
   for i,c in homology.iteritems():
     homology_size[i] = len(c)
   self.assertEqual(homology_size,{0:1,1:2,2:1,3:0})
 def test_relative_homology_0_whitney(self):
   whitney = self.x**2*self.y-self.z**2
   logdf = LogarithmicDifferentialForms(whitney)
   homology = logdf.homology("relative",0)
   homology_size = {}
   for i,c in homology.iteritems():
     homology_size[i] = len(c)
   self.assertEqual(homology_size,{0:1,1:0,2:0,3:0})
 def test_complement_homology_crossing(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   homology = logdf.homology("complement")
   homology_size = {}
   for i,c in homology.iteritems():
     homology_size[i] = len(c)
   self.assertEqual(homology_size,{0:1,1:3,2:3,3:1})
 def test_equi_complex_crossing(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   complex = logdf.chain_complex("equivarient")
   complex_size = {}
   for i,c in complex.iteritems():
     complex_size[i] = len(c)
   self.assertEqual(complex_size,{0:1,1:3,2:4,3:4})
 def test_p_module_n_crossing(self):
   #Make sure this doesnt throw an error - fix bug
   for i in range(4,5):
     p_ring = PolynomialRing(QQ,i,"z")
     crossing = p_ring.one()
     for g in p_ring.gens():
       crossing *= g
     logdf = LogarithmicDifferentialForms(crossing)
     logdf.p_module(i-1)
 def test_2_modules_crossing_ngens(self):
   x = self.x
   y = self.y
   z = self.z
   zero = self.poly_ring.zero()
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   crossing_2_module = SingularModule([[z,zero,zero],[zero,y,zero],[zero,zero,x]])
   self.assertTrue(crossing_2_module.equals(logdf.p_module(2)))
 def test_1_modules_crossing_ngens(self):
   x = self.x
   y = self.y
   z = self.z
   zero = self.poly_ring.zero()
   crossing = x*y*z
   logdf = LogarithmicDifferentialForms(crossing)
   crossing_1_module = SingularModule([[y*z,zero,zero],[zero,x*z,zero],[zero,zero,x*y]])
   self.assertTrue(crossing_1_module.equals(logdf.p_module(1)))
def _crossing_divisor(n):
    print "Crossing divisor: ", n
    div = examples.crossing_divisor(n)
    logdf = LogarithmicDifferentialForms(div)
    logdf.homology("complement")
def _rand_w_hom_divisor(n):
    print "Breiskorn Pham Divisor: ", n
    div = examples.rand_w_hom_divisor(n)
    logdf = LogarithmicDifferentialForms(div)
    logdf.homology("complement")
def _braid_divisor(n):
    print "Braid Divisor: ", n
    div = examples.braid_divisor(n)
    logdf = LogarithmicDifferentialForms(div)
    logdf.homology("complement")
#!/usr/local/bin/sage

from logarithmic_forms import LogarithmicDifferentialForms


from sage.rings.rational_field import QQ
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing


#Make a more general class for these

print "Whintney Umbrlla fact sheet"

poly_ring = PolynomialRing(QQ,3,'z')
z0 = poly_ring.gens()[0]
z1 = poly_ring.gens()[1]
z2 = poly_ring.gens()[2]
divisor = z0**2*z1-z2**2

print "Divisor equation: ",divisor
logdf = LogarithmicDifferentialForms(divisor)
print "Modules of logarithmic differential forms:-"
for i in range(4):
    print "--"+str(i)+": Module generated by "+str(logdf.p_form_generators(i))
print "0 wieghted part of the module of logarthmic differential forms:-"
for i in range(4):
    print "--"+str(i)+": complex vector space with basis "+str(logdf.p_forms_zero_basis(i))
print "Complement Homology (Based on global logarithmic comparrason theorem: "
print logdf.complement_homology()
 def test_0_modules_crossing_ngens(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   crossing_0_module = SingularModule([[crossing]])
   self.assertTrue(crossing_0_module.equals(logdf.p_module(0)))
def _rand_w_hom_divisor(n):
  print "Breiskorn Pham Divisor: ",n
  div = examples.rand_w_hom_divisor(n)
  logdf = LogarithmicDifferentialForms(div)
  logdf.homology("complement")
 def test_3_modules_crossing_ngens(self):
   crossing = self.x*self.y*self.z
   logdf = LogarithmicDifferentialForms(crossing)
   crossing_3_module = SingularModule([[self.poly_ring.one()]])
   self.assertTrue(crossing_3_module.equals(logdf.p_module(3)))
#!/usr/local/bin/sage

from logarithmic_forms import LogarithmicDifferentialForms

from sage.rings.rational_field import QQ
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing

#Make a more general class for these

print "Whintney Umbrlla fact sheet"

poly_ring = PolynomialRing(QQ, 3, 'z')
z0 = poly_ring.gens()[0]
z1 = poly_ring.gens()[1]
z2 = poly_ring.gens()[2]
divisor = z0**2 * z1 - z2**2

print "Divisor equation: ", divisor
logdf = LogarithmicDifferentialForms(divisor)
print "Modules of logarithmic differential forms:-"
for i in range(4):
    print "--" + str(i) + ": Module generated by " + str(
        logdf.p_form_generators(i))
print "0 wieghted part of the module of logarthmic differential forms:-"
for i in range(4):
    print "--" + str(i) + ": complex vector space with basis " + str(
        logdf.p_forms_zero_basis(i))
print "Complement Homology (Based on global logarithmic comparrason theorem: "
print logdf.complement_homology()
def _braid_divisor(n):
  print "Braid Divisor: ",n
  div = examples.braid_divisor(n)
  logdf = LogarithmicDifferentialForms(div)
  logdf.homology("complement")
def _crossing_divisor(n):
  print "Crossing divisor: ",n
  div = examples.crossing_divisor(n)
  logdf = LogarithmicDifferentialForms(div)
  logdf.homology("complement")