Input:Code: LIB "primdec.lib"; LIB "linalg.lib"; LIB "teachstd.lib";
int n=3; ring r=0,(x(1..n)(1..n),T),lp; matrix M[n][n];
// generate a diagnoal matrix with variables as entries // this is the general maximal torus for(int j=1; j<=n; j=j+1){ for (int i=1; i<=n; i=i+1) { M[i,j]=0; if(i==j) {M[i,j]=x(i)(j);} }}
// generate another maximal torus by conjugating // with an invertible matrix N: matrix N[n][n]; N[1,1..3]=1,1,1; N[2,1..3]=0,1,1; N[3,1..3]=0,0,1;
matrix S=inverse(N)*M*N; // define the ideal generated by the matrix entries ideal J=det(M)*T-1; for(int j=1; j<=n; j=j+1){for(int i=1; i<=n; i=i+1){ J[i+j*n]=x(i)(j)-S[i,j]; }}
// as above to obtain another maximal torus N[1,1..3]=1,0,0; N[2,1..3]=1,1,0; N[3,1..3]=1,1,1;
matrix S=inverse(N)*M*N; ideal F=det(M)*T-1; for(int j=1; j<=n; j=j+1){for(int i=1; i<=n; i=i+1){ F[i+j*n]=x(i)(j)-S[i,j]; }} print("det(N)="); det(N);
ideal H=intersect(J,F); primdecGTZ(H); NFMora(x(1)(1),H);
Output:Code: det(N)= 1 [1]: [1]: _[1]=1 [2]: _[1]=1 x(1)(3)-x(2)(1)+x(2)(2)
As I understand this output, it means, that the primary decomposition of the intersection of J and F is trivial (consist only of one pair (R,R), with R the whole ring). But also the intersection does not contain the polynomial x(1)(1), because the normalform leaves a non-zero remainder.
[b]Input:[/b] [code] LIB "primdec.lib"; LIB "linalg.lib"; LIB "teachstd.lib";
int n=3; ring r=0,(x(1..n)(1..n),T),lp; matrix M[n][n];
// generate a diagnoal matrix with variables as entries // this is the general maximal torus for(int j=1; j<=n; j=j+1){ for (int i=1; i<=n; i=i+1) { M[i,j]=0; if(i==j) {M[i,j]=x(i)(j);} }}
// generate another maximal torus by conjugating // with an invertible matrix N: matrix N[n][n]; N[1,1..3]=1,1,1; N[2,1..3]=0,1,1; N[3,1..3]=0,0,1;
matrix S=inverse(N)*M*N; // define the ideal generated by the matrix entries ideal J=det(M)*T-1; for(int j=1; j<=n; j=j+1){for(int i=1; i<=n; i=i+1){ J[i+j*n]=x(i)(j)-S[i,j]; }}
// as above to obtain another maximal torus N[1,1..3]=1,0,0; N[2,1..3]=1,1,0; N[3,1..3]=1,1,1;
matrix S=inverse(N)*M*N; ideal F=det(M)*T-1; for(int j=1; j<=n; j=j+1){for(int i=1; i<=n; i=i+1){ F[i+j*n]=x(i)(j)-S[i,j]; }} print("det(N)="); det(N);
ideal H=intersect(J,F); primdecGTZ(H); NFMora(x(1)(1),H); [/code]
[b]Output:[/b] [code] det(N)= 1 [1]: [1]: _[1]=1 [2]: _[1]=1 x(1)(3)-x(2)(1)+x(2)(2) [/code]
As I understand this output, it means, that the primary decomposition of the intersection of J and F is trivial (consist only of one pair (R,R), with R the whole ring). But also the intersection does not contain the polynomial x(1)(1), because the normalform leaves a non-zero remainder.
|