Read-only forum archive

invariant_ring

invariant_ring

mkummini · Tue Apr 17, 2018 8:08 am

I tried to run the following code (similar to the examples in the manual)
Code:
LIB "finvar.lib";
ring R=3,(x,y,z),dp;
matrix A[3][3]=1,1,0,0,1,0,0,0,1;
matrix P,S,IS=invariant_ring(A);

Instead of the last line above, I also tried
Code:
matrix B(1..3);
B(1..3)=invariant_ring(A);


In both cases above, I get the error
Code:
// ** list length mismatch in assign (l>r)
   ? ...parse error
   ? error occurred in or before STDIN line 5: `        return(P,S);`

both on my computer and the online server. (The line number is different in the two cases, but it is always at the line that calls the invariant_ring command.) The examples in the manual are in characteristic 0, but my example is in the modular case.

Would someone happen to see to what I am doing wrong? Any help would be appreciated.

Thanks.
Manoj.

Re: invariant_ring

hannes · Tue Apr 17, 2018 3:25 pm

add the verbose option:
Quote:
LIB "finvar.lib";
ring R=3,(x,y,z),dp;
matrix A[3][3]=1,1,0,0,1,0,0,0,1;
invariant_ring(A,intvec(0,0,1));

it reports (charactistic 0 can be quite different to characteristic p):
Quote:
...
The characteristic of the base field divides the group order.
We have to continue without Reynolds operator...

There is also no Molien series or Reynolds operator, we can make use of...

....

i.e. it will not return 3 matrices but 2:
The following will then work:
Quote:
matrix B(1..2);
B(1..2)=invariant_ring(A);