Example #1
0
# Ore extension solvable polynomial example, Gomez-Torrecillas, 2003

pcz = PolyRing(QQ(), "x,y,z")
#is automatic: [one,x,y,z] = pcz.gens();

zrelations = [z, y, y * z + x]

print "zrelations: = " + str([str(f) for f in zrelations])
print

pz = SolvPolyRing(QQ(), "x,y,z", PolyRing.lex, zrelations)
print "SolvPolyRing: " + str(pz)
print

pzq = SRF(pz)
print "SolvableQuotientRing: " + str(pzq.ring.toScript())
# + ", assoz: " + str(pzq.ring.isAssociative());
#print "gens =" + str([ str(f) for f in pzq.ring.generators() ]);
print

pct = PolyRing(pzq, "t")
#is automatic: [one,x,y,z,t] = p.gens();

trelations = [t, y, y * t + y, t, z, z * t - z]

print "relations: = " + str([str(f) for f in trelations])
print

pt = SolvPolyRing(pzq, "t", PolyRing.lex, trelations)
print "SolvPolyRing: " + str(pt)
print

#exit(0)

ff = [u * (w - v), u * (v**2 + t), u * (v * u - x * y)]
f = rs.ideal("", ff)
print "f: " + str(f)
print

rf = f.rightGB()
print "rf: " + str(rf)
print

#----- quotient of rsc: --------------

q = SRF(rcs)
print "q: " + str(q.ring.toScript())
print
#one,x,xi,y,yi,z,zi,t,ti = q.gens();
#print "x: " + str(x);
#print "t: " + str(t);
#print

rm = PolyRing(q, "u,v,w", PolyRing.lex)
#is automatic: [one,x,y,z,t,u,v,w] = rm.gens();

mrel = [v, u, u * v + x, w, v, v * w + y, w, u, u * w - z]

print "mrel: = " + str([str(r) for r in mrel])
print
Example #3
0
r = PolyRing(QQ(), "p1,q1")
#is automatic: [one,p1,q1] = p.gens();

relations = [q1, p1, p1 * q1 + 1]

print "relations: = " + str([str(f) for f in relations])
print

rp = SolvPolyRing(QQ(), "p1,q1", PolyRing.lex, relations)
print "SolvPolyRing: " + str(rp)
print

print "gens =" + str([str(f) for f in rp.gens()])
#is automatic: one,p1,q1 = rp.gens();

scp = SRF(rp)
print "scp = " + str(scp)

r2 = PolyRing(scp, "p2,q2")
#is automatic: [one,p1,q1,p2,q2] = r2.gens();

relations2 = [q2, p2, p2 * q2 + 1]

print "relations: = " + str([str(f) for f in relations2])
print

rp2 = SolvPolyRing(scp, "p2,q2", PolyRing.lex, relations2)
print "SolvPolyRing: " + str(rp2)
print

print "gens =" + str([str(f) for f in rp2.gens()])
Example #4
0
tg = m.twosidedGB()
print "seq twosided GB: " + str(tg)
print "is twosided GB: " + str(tg.isTwosidedGB())
print "is right GB: " + str(tg.isRightGB())
print

#exit()

rg = m.rightGB()
print "seq right GB: " + str(rg)
print "is right GB: " + str(rg.isRightGB())
print

# as quotients to coefficients
rq = SRF(rs)

rpq = PolyRing(rq, "v,w", PolyRing.lex)
print "PolyRing: rpq = " + str(rpq)

vrel = [v, t, t * v + x, w, t, t * w + y]

print "vrel: = " + str([str(f) for f in vrel])
print

rsq = SolvPolyRing(rq, "v,w", PolyRing.lex, vrel)
print "SolvPolyRing: rsq = " + str(rsq)
print

r = SolvableModule("", rsq)
print "SolvableModule: " + str(r)
#startLog();

sr = SRC(rgt, one)
print "SolvableResidue: " + str(sr)
print "SolvableResidue: " + str(sr - sr)
print

st = SRC(rgt, t - x)
print "SolvableResidue: " + str(st)
print "SolvableResidue: " + str(st - st)
print "SolvableResidue: " + str(st**4 + 3 * st)
print

#exit(0);

sc = SRF(rp, one)
print "SolvableQuotient: " + str(sc)
print "SolvableQuotient: " + str(sc - sc)
print

scx = SRF(rp, x)
print "SolvableQuotient: " + str(scx)
print "SolvableQuotient: " + str(scx * scx)
print

scy = SRF(rp, y)
scyi = 1 / scy
print "SolvableQuotient: " + str(scy)
print "SolvableQuotient: " + str(scyi)
print "SolvableQuotient: " + str(scyi * scy)
print "SolvableQuotient: " + str(scy * scyi)