By default, primaryInvariants uses an optimising algorithm which tests for the existence of an homogeneous system of parameters (hsop) (f1,...,fn) with positive degrees corresponding to (d1,...,dn) in ZZn. If it is known that an hsop exists for a certain collection of degrees, this can be assigned, as a List, to the optional argument DegreeVector. primaryInvariants will then output an hsop corresponding to this list of degrees. If however no such hsop exists, primaryInvariants outputs an error message.
Note that the List assigned to DegreeVector is ignored if Dade is set to true.
DegreeVector is also an optional argument for the method invariantRing; see invariantRing(..., DegreeVector => ...) for more information.
i1 : A=matrix{{0,1,0},{0,0,1},{1,0,0}}; 3 3 o1 : Matrix ZZ <--- ZZ |
i2 : B=matrix{{0,1,0},{1,0,0},{0,0,1}}; 3 3 o2 : Matrix ZZ <--- ZZ |
i3 : S3=generateGroup({A,B},QQ) o3 = {| 1 0 0 |, | 0 0 1 |, | 0 0 1 |, | 1 0 0 |, | 0 1 0 |, | 0 1 0 |} | 0 1 0 | | 0 1 0 | | 1 0 0 | | 0 0 1 | | 1 0 0 | | 0 0 1 | | 0 0 1 | | 1 0 0 | | 0 1 0 | | 0 1 0 | | 0 0 1 | | 1 0 0 | o3 : List |
i4 : primaryInvariants(QQ[x,y,z],S3,DegreeVector=>{3,3,4}) 2 2 2 2 2 2 4 4 4 o4 = {x y + x*y + x z + y z + x*z + y*z , x*y*z, x + y + z } o4 : List |