1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#
# jython examples for jas.
# $Id: alg_stat_1.py 4145 2012-08-31 19:25:24Z kredel $
#
import sys;
from jas import Ring, PolyRing, Ideal
from jas import QQ, ZZ
from jas import startLog, terminate
# example: Algebraic Statistics
# Drton, Sturmfels, Sullivant, example 2.1.3
#r = PolyRing(QQ(),"l1,l2",PolyRing.grad);
r = PolyRing(QQ(),"l1,l2",PolyRing.lex);
print "Ring: " + str(r);
print;
print one,l1,l2;
u0 = 3; u1 = 5; u2 = 7; u12 = 11;
f1 = (u1+u12)*(l1+l2+2)*(l1+1)*(l1+l2+1)\
+ (u12)*l1*(l1+1)*(l1+l2+1)\
- (u2+u12)*l1*(l1+l2+2)*(l1+l2+1)\
- (u0+u1+u2+u12)*l1*(l1+l2+2)*(l1+1) ;
f2 = (u2+u12)*(l1+l2+2)*(l2+1)*(l1+l2+1)\
+ (u12)*l2*(l2+1)*(l1+l2+1)\
- (u1+u12)*l2*(l1+l2+2)*(l1+l2+1)\
- (u0+u1+u2+u12)*l2*(l1+l2+2)*(l2+1) ;
print f1;
print f2;
print
h = l1*l2*(l1+1)*(l2+1)*(l1+l2+1)*(l1+l2+2);
print h;
print
F = r.ideal(list=[f1,f2]);
print F;
print
H = r.ideal(list=[h]);
print H;
print
G = F.GB();
print G;
print
#startLog();
Q = G.sat(H);
print Q;
print
#D = Q.radicalDecomp();
#print D;
#print
R = Q.realRoots();
print R;
print
print;
#startLog();
terminate();
#sys.exit();
|