Let C be an [n, k] linear code and G a permutation group of degree n. Then G acts on C in the following way: for a codeword v of C and a permutation x of G, the image of v under x is obtained from v by permuting the coordinate positions of v according to x. We call this the permutation action of G on C.
If C is a non-binary code, there is also a monomial action on C. Let K be the alphabet of C. A monomial permutation of monomial degree n is essentially a permutation s on K^# x { 1, ..., n } which satisfies the following property: (alpha, i)^s = (beta, j) implies (gammaalpha, i)^s = (gammabeta, j) for all alpha, beta, gamma in K^# and i, j in { 1, ..., n }. Note that s is completely determined by its action on the points (1, i) for each i; note also that the actual degree of s is (q - 1)n. To represent a monomial permutation of monomial degree n, we number the pair (alpha, i) by (q - 1)(i - 1) + alpha and then use a permutation s of degree (q - 1)n.
The following functions allow one to investigate such actions. For
more information on permutation group actions and orbits, see the chapter
on permutation groups.
v ^ x : ModTupFldElt, GrpPermElt -> ModTupFldElt
Given a codeword v belonging to the [n, k] code C and an element x belonging to a permutation group G, construct the vector w obtained from v by the action of x. If G has degree n, the permutation action is used; otherwise G should have degree n(q - 1) and the monomial action is used.
Given a codeword v belonging to the [n, k] code C and a permutation group G (with permutation or monomial action on C), construct the vector orbit Y of v under the action of G. Y is then a G-set for the group G.
Given an [n, k] code C and an element x belonging to a permutation group G (with permutation or monomial action on C), construct the code consisting of all the images of the codewords of C under the action of x.
Given an [n, k] code C and a permutation group G (with permutation or monomial action on C), construct the orbit Y of C under the action of G. Y is then a G-set for the group G.
Given a set or sequence S of codewords belonging to the [n, k] code C and an element x belonging to a permutation group (with permutation or monomial action on the codes), construct the set or sequence of the vectors obtained by permuting the coordinate positions of v, for each v in S, according to the permutation x.
Given a set or sequence S of codes of length n and an element x belonging to a permutation group (with permutation or monomial action on the codes) construct the set or sequence of the codes consisting of all the images of the codewords of C under the action of x.
The automorphism group A of the [n, k] linear code C over the field K. A is the group of all monomial-action permutations which preserve the code. Thus both permutation of coordinates and multiplication of components by non-zero elements from K is allowed, and the degree of A is n(q - 1) where q is the cardinality of K. A power structure P and transfer map t are also returned, so that, given a permutation g from A, one can create a map f = t(g) which represents the automorphism g as a mapping in P from C to C.
The permutation group G of the [n, k] linear code C over the field K. G is the group of all permutation-action permutations which preserve the code. Thus only permutation of coordinates is allowed, and the degree of G is always n. A power structure P and transfer map t are also returned, so that, given a permutation g from G, one can create a map f = t(g) which represents the automorphism g as a mapping in P from C to C.
A subgroup of the (monomial) automorphism group A of C, generated by one element. This allows one to find just one automorphism of C if desired. A power structure P and transfer map t are also returned, so that, given a permutation g from A, one can create a map f = t(g) which represents the automorphism g as a mapping in P from C to C.
The subgroup of the (monomial) automorphism group A of C, which stabilizes the first k base points. A power structure P and transfer map t are also returned, so that, given a permutation g from A, one can create a map f = t(g) which represents the automorphism g as a mapping in P from C to C.
Given an [n, k] code C and a permutation group G of degree n, find the subcode of C which consists of those vectors of C which are fixed by the elements of G.
AutomorphismGroups: MonStgElt Default: "Right"
Given [n, k] codes C and D, this function returns true iff C is isomorphic to D. If C is isomorphic to D, an isomorphism f is also returned from C onto D. The function first computes none, one, or both of the automorphism groups of the left and right codes. This may assist the isomorphism testing. The parameter AutomorphismGroups, with valid string values Both, Left, Right, None, may be used to specify which of the automorphism groups should be constructed first if not already known. The default is Right.
The power structure A of all automorphisms of C (with monomial action), together with the transfer map t into A from the generic symmetric group associated with the automorphism group of C.
The power structure A of all automorphisms of C, together with the transfer map t into A from the generic symmetric group associated with the automorphism group of C; the string T determines which action type should be used: "Monomial" or "Permutation".
> C := ReedMullerCode(2, 6); > aut := AutomorphismGroup(C); > FactoredOrder(aut); [ <2, 21>, [3, 4>, <5, 1>, <7, 2>, <31, 1> ] > CompositionFactors(aut); G | A(5, 2) = L(6, 2) * | Cyclic(2) * | Cyclic(2) * | Cyclic(2) * | Cyclic(2) * | Cyclic(2) * | Cyclic(2) 1[Next] [Prev] [_____] [Left] [Up] [Index] [Root]