The product of matrix g and matrix h, where g and h belong to the same generic group U. If g and h both belong to the same proper subgroup G of U, then the result will be returned as an element of G; if g and h belong to subgroups H and K of a subgroup G of U then the product is returned as an element of G. Otherwise, the product is returned as an element of U.
The n-th power of the matrix g, where n is a positive or negative integer.
The product of the matrix g by the inverse of the matrix h, i.e. the element g * h - 1. Here g and h must belong to the same generic group U. The rules for determining the parent group of g / h are the same as for g * h.
The conjugate of the matrix g by the matrix h, i.e. the element h - 1 * g * h. Here g and h must belong to the same generic group U. The rules for determining the parent group of gh are the same as for g * h.
The commutator of the matrices g and h, i.e. the element g - 1 * h - 1 * g * h. Here g and h must belong to the same generic group U. The rules for determining the parent group of (g, h) are the same as those for g * h.
Given r matrices g1, ..., gr belonging to a common group, return their commutator. Commutators are left-normed, so they are evaluated from left to right.
> K<w> := FiniteField(4); > GL34 := GeneralLinearGroup(3, K); > x := GL34 ! [1,w,0, 0,w,1, w^2,0,1]; > y := GL34 ! [1,0,0, 1,w,0, 1,1,w]; > x; [ 1 w 0] [ 0 w 1] [w^2 0 1] > y; [1 0 0] [1 w 0] [1 1 w] > x*y; [w^2 w^2 0] [w^2 w w] [ w 1 w] > x^10; [ w w 1] [ w 1 1] [ w w^2 w] > x^-1; [w^2 w^2 w^2] [ 1 w w] [ w w w^2] > x^y; [w^2 w^2 0] [ 0 w^2 1] [w^2 w^2 w] > x/y; [ 0 1 0] [ 0 w^2 w^2] [ w w w^2] > (x, y); [ 0 w w] [ w w^2 1] [w^2 w w^2] > (x,y,y); [w^2 w w^2] [w^2 w 0] [w^2 1 w]Arithmetic with group elements is not limited to elements of finite groups. We illustrate with a group of degree 3 over a function field.
> P<a,b,c,m,x,y,z> := FunctionField(RationalField(), 7); > S := MatrixGroup< 3, P | [1,a,b,0,1,c,0,0,1], > [1,0,m,0,1,0,0,0,1], > [1,x,y,0,1,z,0,0,1] >; > > t := S.1 * S.2; > t; [ 1 a b + m] [ 0 1 c] [ 0 0 1] > t^-1; [ 1 -a a*c - b - m] [ 0 1 -c] [ 0 0 1] > Determinant(t); 1 > t^2; [ 1 2*a a*c + 2*b + 2*m] [ 0 1 2*c] [ 0 0 1]
Given matrices g and h belonging to the same generic group, return true if g and h are the same element, false otherwise.
Given matrices g and h belonging to the same generic group, return true if g and h are distinct elements, false otherwise.
Returns true if the matrix g is the identity matrix.
Returns true if the matrix g is a scalar matrix.
All of the functions for computing invariants of a square matrix apply to the elements of a matrix group. Here only operations of interest in the context of group elements are described. The reader is referred to Chapter MATRICES for a complete list of functions applicable to matrices.
The degree of the matrix g, i.e. the number of rows/columns of g.
Returns true iff the matrix g has finite order. The second return value is the order if it is finite. The function rigorously proves its result (i.e., the result is not probable). Let R be the ring over which g is defined, and let the degree of the group in which g lies be n. If R is finite, then the first return value is trivially {true}.If R is the integer ring then the function works as follows. Suppose first that g has finite order o. By a theorem of Minkowski (see Theorem 1.4 [KP02]), for any odd prime p, the reduction mod p of g has order o. Let f(x)∈R[x] be the minimal polynomial of g. The matrix subalgebra generated by g is isomorphic to the quotient ring R[x]/< f(x) >, so the order o of g equals the order of x mod f(x).
For arbitrary g, the algorithm computes the order, bar(o), of the reduction of g modulo a small odd prime. If bar(o) is a possible order of an integer matrix of g's dimensions (see Theorem 2.7 op. cit.) then this is repeated with a larger prime. If this gives a different order, or the first attempt gave an impossible order, then g has infinite order. We now compute x^(bar(o)) mod f(x). If this is 1, then bar(o) is the order of g, otherwise g has infinite order.
If R is the rational field then a necessary condition for g to have finite order is that f(x) has integer coefficients, thus the above algorithm applies in this case.
If R is an algebraic number field of degree d over Q (including cyclotomic and quadratic fields), then the standard companion matrix blowup is applied to g to obtain a (nd) x (nd) matrix over Q, and the above algorithm is then applied to this matrix.
Proof: BoolElt Default: true
Given an element g of finite order belonging to a matrix group, this function returns the order of g. If g has infinite order, a runtime error results. In the case of a matrix group over a finite field, the algorithm described in [CLG97] is used. In all other cases, simple powering of g is used.The parameter Proof is associated with the case when the coefficient ring for g is a finite field. In that case, if Proof is set to {false}, then difficult integer factorizations will not attempted. In this situation two values are returned of which the first is a multiple n of the order of g. and the second value indicates whether n is known to be the exact order of g.
Proof: BoolElt Default: true
Given an element g of finite order belonging to a matrix group, this function returns the order of g as a factored integer. If g has infinite order, a runtime error results. If g has infinite order, the function generates a runtime error. In the case of a matrix group over a finite field, the algorithm described in [CLG97] is used. In all other cases, simple powering of g is used. In that case it is more efficient to use this function rather than factorizing the integer returned by Order(g). If g has infinite order, an error ensues.If the parameter Proof is {false}, then difficult integer factorizations are not attempted and the first return value F may contain composite numbers (so that the factorization expands to a multiple of the order of g); in any case the second return value indicates whether F is known to be the exact factored order of g.
Proof: BoolElt Default: true
The projective order n of the matrix g, and a scalar s such that gn = sI. The projective order of g is the smallest n such that gn is a scalar matrix (not just the identity matrix), and it always divides the true order of A. The parameter Proof is as for Order.
Proof: BoolElt Default: true
Given a square invertible matrix A over a finite field K, return the projective order n of A in factored form and a scalar s∈K such that An = sI. The parameter Proof is as for FactoredOrder.
Proof: BoolElt Default: true
Return the smallest n such that gn is central in its parent group. If g is a matrix and the optional parameter Proof is false, then accept a multiple of this value; the second value returned is true if the answer is exact.
The determinant of the matrix g.
The trace of the matrix g.
Al: MonStgElt Default: "Modular"
Proof: BoolElt Default: true
Given a matrix g belonging to a subgroup of GL(n, R), where R is a field or Euclidean Domain, return the characteristic polynomial of g as an element of the univariate polynomial ring over R. For details on the parameters, see the function CharacteristicPolynomial in the chapter on matrices.
Given a matrix g belonging to a subgroup of GL(n, R), where R is a field or Z, return the minimal polynomial of g as an element of the univariate polynomial ring over R.
> K<w> := FiniteField(4); > GL34 := GeneralLinearGroup(3, K); > x := GL34 ! [w,0,1, 0,1,0, 1,0,1]; > x; [w 0 1] [0 1 0] [1 0 1] > Degree(x); 3 > Determinant(x); w^2 > Trace(x); w > Order(x); 15 > m<t> := MinimalPolynomial(x); > m; t^3 + w*t^2 + w^2 > Factorization(m); [ <t + 1, 1>, <t^2 + w^2*t + w^2, 1> ] > c<t> := CharacteristicPolynomial(x); > c; t^3 + w*t^2 + w^2