# invariants(...,UseCoefficientRing=>...) -- option to compute invariants over the given coefficient ring

## Synopsis

• Usage:
invariants G
• Inputs:
• Outputs:
• L, a list, a minimal set of generating invariants for the group action

## Description

This function is provided by the package InvariantRing.

By default, the invariants of a diagonal action are computed over an infinite extension of the coefficient field specified by the user over which the action is defined. Setting this optional argument to true will compute the invariants of the action literally over the finite field specified by the user in prime characteristic, provided the action is defined.

The following example computes the invariants of a 1-dimensional torus action literally over the specified finite field.

 i1 : R = (GF 9)[x, y] o1 = R o1 : PolynomialRing i2 : W = matrix {{7, -5}} o2 = | 7 -5 | 1 2 o2 : Matrix ZZ <--- ZZ i3 : T = diagonalAction(W, R) * o3 = R <- (GF 9) via | 7 -5 | o3 : DiagonalAction i4 : invariantRing(T,UseCoefficientRing => true) o4 = 3 3 8 8 GF 9[x*y , x y, y , x ] o4 : RingOfInvariants

Over an infinite extension of the given ground field, there are fewer invariants.

 i5 : invariantRing T o5 = 5 7 GF 9[x y ] o5 : RingOfInvariants

## Further information

• Default value: false
• Function: invariants -- computes the generating invariants of a group action
• Option key: UseCoefficientRing -- option to compute invariants over the given coefficient ring