Let $V$ be a polynomial representation of the general linear group $\Gamma:=\DeclareMathOperator{\Gl}{Gl}\Gl\_n(\newcommand{\C}{\mathbb C}\C)$.


In chapter 4.6 of his book "*Algorithms in Invariant Theory*", [Bernd Sturmfels](http://math.berkeley.edu/~bernd/index.html) describes an algorithm he calls *Hilbert's Algorithm*, which calculates a finite set of generators for the ring of invariants 
$$\C[V]^\Gamma = \left\{~ f\in\C[V] ~:~ \forall\gamma\in\Gamma:~ \gamma.f=f ~\right\}.$$
My question: Are there any software implementations of this algorithm (or, of any algorithm that does the same thing) in computer algebra systems? I would prefer free software, but if the only implementation is in a commercial product, I'd still use it.



Algorithms in Invariant Theory
[Magma](http://magma.maths.usyd.edu.au/magma/) (not free, unfortunately) is capable of this. The method [`FundamentalInvariants(R) : RngInvar -> RngMPol`](http://magma.maths.usyd.edu.au/magma/handbook/text/1197#12744) should do what you need.


