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)
#!/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 _rand_w_hom_divisor(n): print "Breiskorn Pham Divisor: ", n div = examples.rand_w_hom_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")
def _braid_divisor(n): print "Braid Divisor: ", n div = examples.braid_divisor(n) logdf = LogarithmicDifferentialForms(div) logdf.homology("complement")