Beispiel #1
0
     (
       ( e3 ), ( e1 ), ( e1 e3 - e1 ),
       ( e3 ), ( e2 ), ( e2 e3 - e2 )
     )
""";

r = SolvableRing( rs );
print "SolvableRing: " + str(r);
print;

ps = """
(
 ( e1 e3^3 + e2^10 - a ),
 ( e1^3 e2^2 + e3 ),
 ( e3^3 + e3^2 - b )
)
""";

f = r.ideal( ps );
print "SolvIdeal: " + str(f);
print;

from edu.jas.gbufd import SolvableSyzygySeq;

R = SolvableSyzygySeq(r.ring.coFac).resolution( f.pset );

for i in range(0,R.size()): 
   print "\n %s. resolution" % (i+1);
   print "\n", R[i];

from edu.jas.gb     import SolvableGroebnerBaseParallel;
from edu.jas.poly   import TermOrderOptimization;
from edu.jas.poly   import GenSolvablePolynomialRing;
from edu.jas.ufd    import PolyUfdUtil;
from edu.jas.ufd    import QuotientRing;
from java.lang      import System;


t = System.currentTimeMillis();
s = SolvableSyzygySeq(f.ring.ring.coFac).rightZeroRelationsArbitrary( f.list );
t = System.currentTimeMillis() - t;
print "executed in %s ms" % t; 
sr = ModuleList(f.ring.ring, s);

print "rightSyzygy for f:\n" + str(sr.toScript());
print "#rightSyzygy for f = " + str(s.size());
print "#rightSyzygy[0] for f = " + str(s[0].size());
print;

#for p in sr.list:
#   print "p = " + str( [ str(pc.toScript()) for pc in p] );
#print

# optional:
ir = GenSolvablePolynomialRing(sr.ring.coFac.ring,sr.ring);
print "ir = " + str(ir.toScript());
qrel = sr.ring.table.relationList();
irel = PolyUfdUtil.integralFromQuotientCoefficients(ir,qrel);
ir.addRelations(irel);
print "qr = " + str(sr.ring.toScript());
print "ir = " + str(ir.toScript());
Beispiel #3
0
     RelationTable
     (
       ( e3 ), ( e1 ), ( e1 e3 - e1 ),
       ( e3 ), ( e2 ), ( e2 e3 - e2 )
     )
"""

r = SolvableRing(rs)
print "SolvableRing: " + str(r)
print

ps = """
(
 ( e1 e3^3 + e2^10 - a ),
 ( e1^3 e2^2 + e3 ),
 ( e3^3 + e3^2 - b )
)
"""

f = r.ideal(ps)
print "SolvIdeal: " + str(f)
print

from edu.jas.gbufd import SolvableSyzygySeq

R = SolvableSyzygySeq(r.ring.coFac).resolution(f.pset)

for i in range(0, R.size()):
    print "\n %s. resolution" % (i + 1)
    print "\n", R[i]