Skip to main content

Chapter 2 A concrete introduction to invariant rings

This chapter is co-authored by Francesca Gandini, Al Ashir Intisar, and Sumner Strom. In this chapter we will present an overview of the theory behind the algorithms implemented in the InvariantRing
 1 
www.macaulay2.com/doc/Macaulay2/share/doc/Macaulay2/InvariantRing/html/index.html
software package in the open-source Computer Algebra System Macaulay2 (M2)
 2 
www2.macaulay2.com
.
You can access an online version of this chapter with live code cell at https://fragandi.github.io/CURITutorialDevelopment2025/. There you can also learn how to set up a virtual machine on Github with Codespaces so that you write and run M2 code from anywhere. A turn-key repository for creating a Codespace for Macaulay2 is available at fragandi/M2-codespace
 3 
github.com/fragandi/M2-codespace
.
We also include some background on orbit sums necessary to implement an algorithm to compute invariants for permutations actions. We have worked with a group of collaborators on the first version of the code for this algorithm at the Macaulay2 Workshop at Tulane University in April 2025 and plan to further test it and release it with Macaulay2 in Fall 2025.
We finish the chapter with a selection of examples that illustrate the current capabilities of the InvariantRing package. You can run the provided code in your local installation of M2 or go to the online version and execute the code cells on your browser. This works well even on mobile devices!

Section 2.1 A concrete introduction to invariant rings

Subsection 2.1.1 Finite Matrix Groups

We can think of a (linear) action within a group as acting on a vector space concretely by interpreting each group element as a matrix and describing the action as matrix multiplication on vectors. We can then evaluate any polynomial on a vector space of its indeterminants and its image after the group action.
Example 2.1.1.
Consider
\begin{equation*} M = \begin{pmatrix} 1 \amp 0 \\ 0 \amp -1 \\ \end{pmatrix} \end{equation*}
and the vector \(\bar x = \begin{pmatrix} x\\ y\\ \end{pmatrix}\) This gives \(M \bar x = \begin{pmatrix} x \\ -y \\ \end{pmatrix}\text{.}\) Thus for the polynomial
\begin{equation*} f(\bar x) = f(\begin{pmatrix} x \\ y \\ \end{pmatrix}) = x+y \end{equation*}
and we have,
\begin{equation*} f(M\bar x) = f(\begin{pmatrix} x \\ -y \\ \end{pmatrix})= x-y\text{.} \end{equation*}
More formally, for \(G \) a finite group we will consider a linear representation of \(G \) via its action on a finite dimensional vector space \(V \) over a field \(K \) of characteristics zero. In general, most of the results in this chapter hold in the non-modular case i.e., when the characteristics of the field does not divide the order of the group. As of now finite fields are not fully supported by the current version of the InvariantRing package and such functionalities are an active area of development.
If \(V \) is faithful representation of \(G \) of dimension \(m\text{,}\) the image of the representation is isomorphic to \(G \) and so we consider \(G \) as a finite matrix group.
Definition 2.1.2.
Suppose \(|G| < \infty\) and \(G \leq GL_m(\mathbb{K})\text{,}\) then \(G\) is a finite matrix group.
Example 2.1.3.
Let us consider a two-dimesional representation of \(C_2\text{,}\) the cyclic group of order 2.
\begin{equation*} \left\langle \begin{pmatrix} 1 \amp 0 \\ 0 \amp -1 \\ \end{pmatrix} \right\rangle = \left\{ \begin{pmatrix} 1 \amp 0 \\ 0 \amp -1 \\ \end{pmatrix},\begin{pmatrix} 1 \amp 0 \\ 0 \amp 1 \\ \end{pmatrix} \right \} \cong C_2 \end{equation*}

Subsection 2.1.2 Invariant Rings

We will work with a polynomial ring in \(n\) variables over the field \(\mathbb{K}\text{.}\) We use the notation \(\bar x = (x_1, x_2,..., x_n)\) and abuse it by saying \(\mathbb{K}[x_1,x_2,...,x_n]=\mathbb{K}[\bar x]\) and \(f(x_1,x_2,...,x_n)=f(\bar x)\) for \(f \in \mathbb{K}[\bar x]\text{.}\)
Definition 2.1.4.
Let \(G\) be a finite matrix group within \(GL_n(\mathbb{K})\text{.}\) We say that \(f\in \mathbb{K}[\bar x]\) is invariant under the action of \(G\) if and only if
\begin{equation*} f(A\bar x) = f(\bar x), \end{equation*}
for all \(A \in G\text{.}\)
Example 2.1.5.
The polynomials \(f(\bar x)=x\) and \(f(\bar x) = x +y^2\) in \(\mathbb{K}[x,y]\) are invariant under the action of
\begin{equation*} C_2 = \left\langle\begin{pmatrix} 1 \amp 0 \\ 0 \amp -1 \\ \end{pmatrix} \right\rangle \end{equation*}
However the polynoial \(f(\bar x)=x+y\) is not.
We can consider the set of all invariant polynomials under some action of a group \(G \text{.}\) A good exercise is to prove that this set has the structure of a ring.
Definition 2.1.6.
Let \(R= \mathbb{K}[\bar x]\text{.}\) We define the invariant ring for the action of \(G\) on \(R\) as,
\begin{equation*} R^G : = \{f \in R \, | f(A\bar x) = f(\bar x), \, \forall A \in G\} \subseteq R. \end{equation*}

Subsection 2.1.3 Reynolds Operator

We have that the invariant ring \(R^G\) is a subring of the ring \(R= \mathbb{K}[\bar x]\text{.}\) However, it is not an ordinary subring. In characteristic zero, we have a projection from \(R\) to \(R^G\) that respects the action of \(G\text{.}\) The idea: "averaging" over the action of \(G\) we get an invariant polynomial.
Definition 2.1.7.
The Reynolds map (averaging map) \(R_G: R \xrightarrow{} R^G\) is given by
\begin{equation*} R_G(f) = \frac{1}{|G|} \sum_{A\in G} f(A \bar x) \end{equation*}
Example 2.1.8.
Example for a Group action \(C_2 = \left\langle\begin{pmatrix} 1 \amp 0 \\ 0 \amp -1 \\ \end{pmatrix}\right\rangle\text{.}\) Consider the polynomial \(x+y\text{,}\) which is not invariant under the action of \(C_2\text{.}\) We have that:
\begin{equation*} R_G(x+y) = \frac{1}{2} ((x+y) + (x-y)) = x\in R^G \end{equation*}
and we can check that \(R_G(x+y)=x\) is indeed invariant.