|
Finding a Maximal Two-Sided Ideal in a Given Left Ideal - Computations
The preliminary settings:
ring r = 0,(e,f,h,a),Dp;
matrix d[4][4];
d[1,2]=-h; d[1,3]=2e; d[2,3]=-2f;
system("PLURAL",1,d);
int i,j,s;
ideal A,B;
poly p;
module U,W;
A=e, h-a;
A=std(A);
s=size(A);
for (i=1; i<=s; i++)
{
W[i]=A[i]*gen(1)+gen(i+1);
p=NF(A[i]*f,A);
W[s+i]=p*gen(1)+gen(i+s+1);
}
The iteration cycle:
U=transpose(std(W));
B=0;
for (i=1; i<=nrows(U); i++)
{
if (U[1][i]==0)
{
p=0;
for(j=s+2;j<=ncols(U);j++)
{
if (U[j][i]!=0) { p=p + U[j][i]*A[j-s-1]; }
}
if (p!=0)
{
if (B==0) { B=B,p; B=std(B); }
else { B=std(B,p); }
}
}
}
B;
|