Permutation and matrix groups have a natural action on polynomial rings.
If R is a polynomial ring in n indeterminates x_1, ..., x_n,
over any coefficient ring, Sym(n) acts on R 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.
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.
If R is a polynomial ring in n indeterminates x_1, ..., x_n,
over the ring S, then GL(n, S) acts on R as follows: Let x
denote the vector (x_1, ..., x_n). Then the image g of a
polynomial f of R 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 matrix a belonging to a subgroup of GL(n, S), return the image of f under a.
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.
The Molien series of G, returned as an element of the rational function field Z(z).
The application of the Reynolds operator of G to f.
> R := QuadraticField(2);
> Aq := [ x / R.1 : x in [1, 1, -1, 1]];
> G := MatrixGroup<2, R | Aq>;
> P<x, y> := PolynomialRing(R, 2);
> f := x^2 + x * y + y^2;
> g := f^G.1;
> print g;
1/2*x^2 + 3/2*y^2
> print 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
}
> M := MolienSeries(G);
> F<z> := Parent(M);
> print M;
(z^8 + 1)/(z^10 - z^8 - z^2 + 1)
> P<z> := PowerSeriesRing(IntegerRing());
> print (z^8 + 1)/(z^10 - z^8 - z^2 + 1);
1 + z^2 + z^4 + z^6 + 3*z^8 + 3*z^10 + 3*z^12 + 3*z^14 + 5*z^16 + 5*z^18 +
O(z^20)
> print ReynoldsOperator(x^2, G);
1/2*x^2 + 1/2*y^2
> print ReynoldsOperator(x^8, G);
9/32*x^8 + 7/8*x^6*y^2 + 35/16*x^4*y^4 + 7/8*x^2*y^6 + 9/32*y^8
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]