Dear David,

perhaps a better answer:

> Suppose a finite matrix group G generated by 3x3 matrices
> A1, A2, ..., Ar acts on the polynomial ring QQ[x,y,z].
> Singular has a command which computes a basis of
> invariants.

Are you actually interested in a Hironaka decomposition? Or are you
looking for a minimal set of generators for the invariant sub-algebra?

invariant_ring() first computes primary invariants and then
(irreducible) secondary invariants. But since Singular-3-0-3, there
are the two functions
 invariant_algebra_reynolds()
and
 invariant_algebra_perm()

These two functions _directly_ compute a minimal generating set in the
case of general finite matrix groups (..._reynolds) respectively of
permutation groups (..._perm), without to compute primary invariants.

They are MUCH faster than invariant_ring (which would yield a not
necessarily minimal generating set), and in my benchmarks it was
50-1000 times faster than the corresponding Magma function
FundamentalInvariants.

Moreover, the return is just a single matrix. Hence, the following
works:
sage: R = singular.ring(0, '(x,y,z)', 'dp')
sage: A = singular.matrix(3,3,'0,1,0,-1,0,0,0,0,-1')
sage: singular.LIB("finvar.lib")
sage: singular.eval('list L=group_reynolds(%s)'%(A.name()))
''   // note that L=A.group_reynolds() should work, but it doesn't
sage: REY=singular('L[1]')
sage: IR = REY.invariant_algebra_reynolds()
sage: IR
z^2,x^2+y^2,x^2*z-y^2*z,x*y*z,x^4+y^4,x^3*y-x*y^3

Hopefully this solves your problem.
     Cheers,
     Simon

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to