Example #1
0
print "Ideal: " + str(f)
print

startLog()

rg = f.GB()
print "seq GB:", rg
print

#p = t**16 + 272 * t**12 - 7072 * t**8 + 3207424 * t**4 + 12960000;
p = t - x - 2 * y
#p = p * (y**4 + 4);
p = abs(p)

n = f.reduction(p)
print "p = %s, n = %s " % (p, n)
print

n = rg.reduction(p)
print "p = %s, n = %s " % (p, n)
print

N = rg.lift(p)
print "p = %s, N = %s " % (p, [str(a) for a in N])
print

pp = sum([ci * RingElem(ni) for ci, ni in zip(N, rg.list)])
print "N * rg == p:", pp == p

#terminate();
Example #2
0
ff = [ a*c, b*c ];
print "ff = " + str([ str(f) for f in ff ]);
print

ii = pt.ideal( "", ff );
print "SolvableIdeal: " + str(ii);
print;

#exit(0);

rgl = ii.leftGB();
print "seq left GB: " + str(rgl);
print "isLeftGB: " + str(rgl.isLeftGB());
print;

p = RingElem(rgl.list.get(0));
print "p     = " + str(p);
print "c-p   = " + str(c-p);
#print "monic(p) = " + str(p.monic());
pp = p * p;
print "p*p   = " + str(pp);
print "p*y*z = " + str(p*y*z);
print "p*t   = " + str(p*t);
print "t*p   = " + str(t*p);
print;

#no: fl = [ p, p*x ]; # x non existent
#fl = [ p, p*y ];
#no: fl = [ p, p*z ];
#fl = [ p, p*t, p*y ];
#bad: fl = [ p, p*t, p*p ];
Example #3
0
r = WordPolyRing(PolyRing(ZZ(), "a, c, b", PolyRing.lex), "y2, y1, z1, z2, x")
print "Ring: " + str(r)
print

one, a, c, b, y2, y1, z1, z2, x = r.gens()

p1 = x + 2 * y1 * z1 + 3 * a * y1**2 + 5 * y1**4 + 2 * c * y1
p2 = x + 2 * y2 * z2 + 3 * a * y2**2 + 5 * y2**4 + 2 * c * y2
p3 = 2 * z2 + 6 * a * y2 + 20 * y2**3 + 2 * c
p4 = 3 * z1**2 + y1**2 + b
p5 = 3 * z2**2 + y2**2 + b

F = [p1, p2, p3, p4, p5]

# make all variables commute
cm = [RingElem(q) for q in r.ring.commute()]
print "commute: " + str([str(q) for q in cm])
print

g = r.ideal("", F + cm)
print "Ideal: " + str(g)
print

startLog()

rg = g.GB()
print "GB: " + str(rg)
print

bg = rg.isGB()
print "isGB: " + str(bg)
Example #4
0
if False:
    rg = f.parGB(tnum)
    for th in range(tnum, 0, -1):
        rg = f.parGB(th)
        #print "par Output:", rg;
        #print;

rg = f.GB()
#print "seq Output:", rg;
print

arri = arris_algorithm()
ggv1 = ggv_first_implementation()
ff5 = f5z()

F = [RingElem(e) for e in f.list]
print "F:", str([str(e) for e in F])
print

if False:
    ##gg = staglinbasis(F);
    #gg = staglinbasis(F);
    t = System.currentTimeMillis()
    gg = staglinbasis(F)
    t = System.currentTimeMillis() - t
    print "stag executed in " + str(t) + " milliseconds"
    if not r.ideal(list=gg).isGB():
        print "stag no GB"
    print "stag Output:" + str([str(ggg) for ggg in gg])
    print
Example #5
0
print

ii = pt.ideal( "", ff );
print "SolvableIdeal: " + str(ii);
print;

#exit(0);
#startLog();

rgl = ii.leftGB();
print "seq left GB: " + str(rgl);
print "isLeftGB: " + str(rgl.isLeftGB());
print;

#p = RingElem(rgl.list.get(0));
p = RingElem(rgl.list[0]);
print "p          = " + str(p);
print "c          = " + str(c);
#print "c-p        = " + str(c-p);
d = c.monic();
print "d=monic(c) = " + str(d);
print "d-p        = " + str(d-p);
print;

#exit(0);

#no: fl = [ p, p*x ]; # x non existent
#no: fl = [ p, p*z ];
#bad: fl = [ p, p*t, p*p ];
#bad: fl = [ p, p*p ];
#fl = [ p, p*t ];
Example #6
0
print "x:  " + str(x);

print "x == b: " + str(x == b);
print;


L, U, P = a.decompLU();
print "P:  " + str(P);
print;

if P.elem.size() != 0:
    print "L:  " + str(L);
    print;
    print "U:  " + str(U);
    print;
    Us = RingElem(a.elem.getUpperScaled());
    print "scale(U):  " + str(Us);
    print;

    x = a.solveLU(P, c);
    print "x:  " + str(x);

    print "x == b: " + str(x == b);
    print;

    d = a.determinant(P)
    print "det(A):  " + str(d) + " ~= " + str(d.elem.getDecimal());
    #print "det(A):  " + str(d) + " ~= " + str(d.elem.getSymmetricVal());
    print;

print

ii = pt.ideal("", ff)
print "SolvableIdeal: " + str(ii)
print

#exit(0);
startLog()

rgl = ii.leftGB()
print "seq left GB: " + str(rgl)
print "isLeftGB: " + str(rgl.isLeftGB())
print

#p = RingElem(rgl.list.get(0));
p = RingElem(rgl.list[0])
print "p     = " + str(p)
print "c     = " + str(c)
print "c-p   = " + str(c - p)
d = c.monic()
print "d     = " + str(d)
print "d-p   = " + str(d - p)
#print "monic(p) = " + str(p.monic());
#pp = p * p;
#print "p*p   = " + str(pp);
#print "p*y*z = " + str(p*y*z);
#print "p*t   = " + str(p*t);
#print "t*p   = " + str(t*p);
print

#exit(0);