I once used the following MAGMA-code (just for *finite groups*, I don't know if it works for general reductive groups). intrinsic Presentation(R::RngInvar) -> SeqEnum {A presentation of the invariant ring R.} fund := FundamentalInvariants(R); prim := PrimaryInvariants(R); sec := IrreducibleSecondaryInvariants(R); invar := prim cat sec; P := PolynomialRing(BaseRing(R), #fund); A := Algebra(R); invarpres := []; for f in invar do b,g := HomogeneousModuleTest(fund,[R!1],f); Append(~invarpres, g[1]); end for; rel := RelationIdeal(R); phi:=hom<A->P|invarpres>; return ideal<P|[phi(r) : r in Basis(rel)]>; end intrinsic; Put this into a file, say "pres.m" and then you can do: > Attach("pres.m"); > G:=MatrixGroup<2,Rationals() | [-1,0,0,-1] >; > G; MatrixGroup(2, Rational Field) Generators: [-1 0] [ 0 -1] > R:=InvariantRing(G); > Presentation(R); Ideal of Polynomial ring of rank 3 over Rational Field Order: Lexicographical Variables: $.1, $.2, $.3 Homogeneous Basis: [ $.1*$.3 - $.2^2 ] This is an example of the $A_2$-singularity