Singular https://www.singular.uni-kl.de/forum/ |
|
How to use primdecGTZ https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1894 |
Page 1 of 1 |
Author: | daniel [ Fri Dec 03, 2010 2:28 pm ] |
Post subject: | How to use primdecGTZ |
I calculated an ideal H as follows Code: ideal H=intersect(J,F); where J and F are ideals arising from maximal tori. Then Code: primdecGTZ(H); just returns Code: [1]: [1]: _[1]=1 [2]: _[1]=1 Which would mean, that H equals the whole ring. However Code: NFMora(x(1)(1),H) is not zero. [The variables in my ring are labelled x(1..3)(1..3)]. What am i missing? Is there something wrong with my approach? |
Author: | greuel [ Sat Dec 04, 2010 1:57 pm ] |
Post subject: | Re: How to use primdecGTZ |
As always: Please provide the full input and output of your computation, otherwise we cannot help you. |
Author: | daniel [ Mon Dec 06, 2010 11:39 am ] |
Post subject: | Re: How to use primdecGTZ |
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. |
Author: | greuel [ Tue Dec 14, 2010 4:41 am ] |
Post subject: | Re: How to use primdecGTZ |
You are right, primdecGTZ gives a wrong answer in your example. Thank you for the bug report! The bug will be fixed in the next release of Singular. |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |