- Asir:項順序による整列例
F=x^2*y+y^3*z+x*z+x+1;
dp_ord(0)$
DF0=dp_ptod(F,[x,y,z]);
G=F+u;
y*x^2+(z+1)*x+z*y^3+u+1;
DG=dp_ptod(G,[u,x,y,z]);
dp_ht(DG);
- 実習2
load("gr")$
load("noro_pd.rr")$
load("cyclic")$
C=cyclic(7);
V=vars(C);
dp_gr_print(1);
cputime(1);
nd_gr(C,V,31991,0);
nd_gr(C,V,0,0);
G=nd_gr_trace(C,V,1,1,0);
- 実習3 (メモリは最低1GBあったほうが安全です.)
B=[z2+z1-x1,z2^21+z1^21-x2,x1^4096-x1,x2^4096-x2,z1^46-z1,
z2^46-z2,z1*z2*sdiv(z1^45-z2^45,z1-z2)]$
V=[z1,z2,x2,x1]$
Bh=map(homogenize,B,V,h)$
Vh=append(V,[h])$
dp_gr_print(1)$
Gh=nd_gr(Bh,Vh,2,1)$
G=map(subst,Gh,h,1)$
G=nd_gr_postproc(G,V,2,2,0);
- Asir:イニシャルイデアルの計算例
B=[x^2*y^2-z^2,x^3-y*z^2,x^2*z^4-y^2];
V=[x,y,z]$
G=nd_gr(B,V,0,0);
D=map(dp_ptod,G,V)$ H=map(dp_ht,D)$
map(dp_dtop,H,V);
map(dp_dtop,dp_mbase(H),V);
- 実習4
B=[a*b*c*d-1,a*b*c+b*c*d+c*d*a+d*a*b,a*b+b*c+c*d+d*a,a+b+c+d]$
V=[a,b,c,d]$
- Asir:剰余計算の例
B=[u2*u0-2*u2+3,(2*u1-1)*u0^2-u0-2*u2,2*u1^3+u2+4]$
V=[u0,u1,u2]$
G=nd_gr(B,V,0,0);
Q=p_nf(u0^5+u1^5+u2^5,G,V,0);
R=p_true_nf(u0^5+u1^5+u2^5,G,V,0);
- Asir:消去イデアル計算の例
B=[u2*u0-2*u2+3,(2*u1-1)*u0^2-u0-2*u2,2*u1^3+u2+4]$
V=[u0,u1,u2]$
G1=nd_gr_trace(B,V,1,1,[[0,2],[0,1]])$
noro_pd.elimination(G1,[u2]);
- 実習6
B=[b-a^2,c-a^3,d,e-1,x-a+2*a*(y-b)+3*a^2*(z-c),z-f,
(x-a)^2+(y-b)^2+(z-c)^2-(x-d)^2-(y-e)^2-(z-f)^2]$
V=[a,b,c,d,e,f,x,y,z]$
- Asir:最小多項式の計算例
load("katsura")$
B=katsura(7)$
V=[u0,u1,u2,u3,u4,u5,u6,u7]$
G=nd_gr_trace(B,V,1,1,0)$
M=minipoly(G,V,0,u7,t);
dp_ord(0)$
- Asir:準素分解とイデアルの共通部分計算の例
B=[g*a-f*b,h*b-g*c,i*c-h*d,j*d-i*e,l*f-k*g,m*g-l*h,n*h-m*i,o*i-n*j]$
V=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o]$
G=nd_gr(B,V,0,0)$
PD=noro_pd.syci_dec(B,V)$
for(I=0,T=[1];I<4;I++)
for(J=0,L=length(PD[I]);J
- Asir:根基の素イデアル分解とradicalメンバーシップの計算例
B=[g*a-f*b,h*b-g*c,i*c-h*d,j*d-i*e,l*f-k*g,m*g-l*h,n*h-m*i,o*i-n*j]$
V=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o]$
PD=noro_pd.prime_dec(B,V|radical=1)$
Rad=PD[1]$
G=nd_gr(B,V,0,0)$
p_nf(Rad[0],G,V,0);
p_nf(Rad[0]^2,G,V,0);
noro_pd.radical_membership(Rad[0],B,V);
- Macaulay2:基礎環の宣言と多項式計算の例
R=QQ[x,y,z];
f=(x+y+z)^2
g=y+u
S=QQ[x,y,z,u]
f+u
h=(map(S,R))(f);
h+u
- Macaulay2:グレブナー基底の計算例
R=QQ[c0,c1,c2,c3,c4,c5,c6];
I=ideal(c6*c5*c4*c3*c2*c1*c0-1,
(((((c5+c6)*c4+c6*c5)*c3+c6*c5*c4)*c2+c6*c5*c4*c3)*c1+c6*c5*c4*c3*c2)*c0+c6*c5*c4*c3*c2*c1,
((((c4+c6)*c3+c6*c5)*c2+c6*c5*c4)*c1+c6*c5*c4*c3)*c0+c5*c4*c3*c2*c1+c6*c5*c4*c3*c2,
(((c3+c6)*c2+c6*c5)*c1+c6*c5*c4)*c0+c4*c3*c2*c1+c5*c4*c3*c2+c6*c5*c4*c3,
((c2+c6)*c1+c6*c5)*c0+c3*c2*c1+c4*c3*c2+c5*c4*c3+c6*c5*c4,
(c1+c6)*c0+c2*c1+c3*c2+c4*c3+c5*c4+c6*c5,c0+c1+c2+c3+c4+c5+c6);
G=gb I;
g=gens G;
g_0
- 実習11
R=QQ[x,y,z]
I=ideal((x-y)^3-z^2,(z-x)^3-y^2,(y-z)^3-x^2)
- 実習12
R=QQ[x,y,z];
I=ideal(x^2*y^2-z^2,x^3-y*z^2,x^2*z^4-y^2);
- Macaulay2:消去イデアルのグレブナー基底の計算例
R=QQ[x,y,z,MonomialOrder=>{2,1}];
I=ideal(x^2-z,x*y-1,x^3-x^2*y-x^2-1);
G=gens gb I;
Gz=selectInSubring(1,G)
- 実習13
R=QQ[a,b,c,d,e,f,x,y,z]
I=ideal(b-a^2,c-a^3,d,e-1,x-a+2*a*(y-b)+3*a^2*(z-c),z-f,
(x-a)^2+(y-b)^2+(z-c)^2-(x-d)^2-(y-e)^2-(z-f)^2)
- Macaulay2:radical メンバーシップ判定の例
R=QQ[t,x,y,z];
I=ideal(x^4*y^2+z^2-4*x*y^3*z-2*y^5*z,x^2+2*x*y^2+y^4);
f=y*z-x^3;
gens gb (I+ideal(t*f-1))
実習14
R=QQ[x,y,z]
I=ideal((x-y)^3-z^2,(z-x)^3-y^2,(y-z)^3-x^2);