[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Group Actions on Polynomials

Group Actions on Polynomials

This section describes in detail the actions which permutation and matrix groups have on multivariate polynomial rings.

Subsections

Permutation Group Actions on Polynomials

If P is a polynomial ring in n indeterminates x_1, ..., x_n, over any coefficient ring, Sym(n) acts on P by permuting the indices of the indeterminates. Thus, the polynomial f(x_1, ..., x_n) is mapped into the polynomial f(x_(g(1)), ..., x_(g(n))).

f ^ g : RngMPolElt, GrpPermElt -> RngMPolElt
Given a polynomial f belonging to a polynomial ring having n indeterminates, and a permutation g belonging to a subgroup of Sym({ 1, ..., n }), return the image of f under g.
f ^ G : RngMPolElt, GrpPerm -> { RngMPolElt }
Given a polynomial f belonging to a polynomial ring having n indeterminates, and a permutation group G contained in Sym({ 1, ..., n }), return the orbit of f under G.

Matrix Group Actions on Polynomials

If P is a polynomial ring in n indeterminates x_1, ..., x_n, over the ring S, then GL(n, S) acts on P as follows: Let x denote the vector (x_1, ..., x_n). Then the image g of a polynomial f of P under the action of a matrix a of GL(n, S) is defined by g(( x)) = f(( x) * a).

f ^ a : RngMPolElt, GrpMatElt -> RngMPolElt
Given a polynomial f belonging to a polynomial ring having n indeterminates and coefficient ring S, and a subgroup G of GL(n, S), return the image of f under a.
f ^ G : RngMPolElt, GrpMat -> { RngMPolElt }
Given a polynomial f belonging to a polynomial ring having n indeterminates and coefficient ring S, and a matrix a belonging to a subgroup of GL(n, S), return the orbit of f under G.

Example RngInvar_GroupActions (H30E1)

We act on the polynomial ring in two indeterminates over the field K = Q(sqrt 2), by a cyclic subgroup of GL(2, K).

> K := QuadraticField(2);
> Aq := [ x / K.1 : x in [1, 1, -1, 1]];
> G := MatrixGroup<2, K | Aq>;
> P<x, y> := PolynomialRing(K, 2);
> f := x^2 + x * y + y^2;
> g := f^G.1;
> g;
1/2*x^2 + 3/2*y^2
> f^G;
{
   1/2*x^2 + 3/2*y^2,
   x^2 - x*y + y^2,
   x^2 + x*y + y^2,
   3/2*x^2 + 1/2*y^2
}

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]