Macaulay2 » Documentation
Packages » InvariantRing :: GroupAction
next | previous | forward | backward | up | index | toc

# GroupAction -- the class of all group actions

## Description

This class is provided by the package InvariantRing.

GroupAction is the class of all group actions on polynomial rings for the purpose of computing invariants. This is not typically used directly, delegating creation to the various constructor functions for different kinds of group actions:

- FiniteGroupAction, the class of a finite matrix group action, is created with finiteAction
- DiagonalAction, the class of the diagonal action of a product of a torus and a finite abelian group, is created with diagonalAction
- LinearlyReductiveAction, the class of a linearly reductive matrix group action, is created with linearlyReductiveAction

Each class implements different algorithms to compute invariants. Although mathematically speaking all the above group actions are linearly reductive (at least in the non modular case), the class LinearlyReductiveAction should be used only when none of the other classes apply because it has fewer and possibly less efficient methods.

The class GroupAction is implemented as a HashTable. When created it stores information such as the action (in a format dependent upon the group) and the polynomial ring being acted upon.

## Types of GroupAction:

- DiagonalAction -- the class of all diagonal actions
- FiniteGroupAction -- the class of all finite group actions
- LinearlyReductiveAction -- the class of all (non finite, non toric) linearly reductive group actions

## Functions and methods returning an object of class GroupAction:

- `action(RingOfInvariants)` -- see action -- the group action that produced a ring of invariants

## Methods that use an object of class GroupAction:

- dim(GroupAction) -- dimension of the polynomial ring being acted upon
- `invariantRing(GroupAction)` -- see invariantRing -- the ring of invariants of a group action
- `PolynomialRing ^ GroupAction` -- see invariantRing -- the ring of invariants of a group action
- ring(GroupAction) -- the polynomial ring being acted upon

## For the programmer

The object GroupAction is a type, with ancestor classes HashTable < Thing.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/InvariantRing/InvariantRingDoc.m2:144:0.