Automorphisms acting on a quantum code are a slight generalization of those which act on the underlying additive stabilizer code. Automorphisms consists of both a permutation action on the columns of a stabilizer code, combined with a monomial action on the individual columns which permute the values.
The automorphism group of a length n additive stabilizer code over F4 is a subgroup of Z3 wreath Sym(n) of order 3 * n!. However the automorphism group of the quantum code it generates is a subgroup of Sym(3) wreath Sym(n) of order 3! * n! because of the more general action on the values in the columns.
In Magma automorphisms are returned as permutations, either as length 3n permutations for the full monomial action on a code, or as length n permutations when the automorphism is restricted to only the permutation action on the columns.
The automorphism group of the quantum code Q. Currently this function only applies to binary quantum codes.
The subgroup of the automorphism group of the quantum code Q consisting of those automorphisms which permute the coordinates of codewords. Currently this function only applies to binary quantum codes.
> F<w> := GF(4); > Q := Dodecacode(); > Q; [[12, 0, 6]] self-dual Quantum code over GF(2^2), stabilised by: [ 1 0 0 0 0 0 w^2 w^2 0 w 1 w] [ w 0 0 0 0 0 w 0 w w w 1] [ 0 1 0 0 0 0 1 0 1 w^2 w^2 1] [ 0 w 0 0 0 0 0 w 1 w w w] [ 0 0 1 0 0 0 0 1 1 1 w^2 w^2] [ 0 0 w 0 0 0 w^2 1 w^2 w w 0] [ 0 0 0 1 0 0 w w 1 1 0 1] [ 0 0 0 w 0 0 w 1 w w^2 w^2 0] [ 0 0 0 0 1 0 w w w 0 1 w] [ 0 0 0 0 w 0 w^2 1 1 w^2 0 w] [ 0 0 0 0 0 1 w^2 w^2 w^2 1 0 w^2] [ 0 0 0 0 0 w w 1 0 1 w w] > > AutomorphismGroup(Q); Permutation group acting on a set of cardinality 36 Order = 648 = 2^3 * 3^4 (1, 4, 32)(2, 5, 33)(3, 6, 31)(7, 13, 29)(8, 14, 30)(9, 15, 28)(10, 35, 22) (11, 36, 23)(12, 34, 24)(16, 19, 26)(17, 20, 27)(18, 21, 25) (4, 23, 8, 29, 10, 20, 18, 36, 32)(5, 24, 9, 30, 11, 21, 16, 34, 33) (6, 22, 7, 28, 12, 19, 17, 35, 31)(13, 14, 15)(25, 27, 26) (7, 35)(8, 36)(9, 34)(10, 20)(11, 21)(12, 19)(13, 26)(14, 27)(15, 25) (16, 30)(17, 28)(18, 29)(22, 31)(23, 32)(24, 33) (4, 29, 18)(5, 30, 16)(6, 28, 17)(7, 19, 31)(8, 20, 32)(9, 21, 33) (10, 36, 23)(11, 34, 24)(12, 35, 22) > PermutationGroup(Q); Permutation group acting on a set of cardinality 12 (1, 7, 9, 3, 5, 11)(2, 8, 10, 4, 6, 12) (1, 2)(3, 4)(5, 10)(6, 9)(7, 12)(8, 11) (2, 4)(5, 9)(6, 12)(7, 11)(8, 10)
> F<w> := GF(4); > Q := Hexacode(); > Q:Minimal; [[6, 0, 4]] self-dual Quantum code over GF(2^2) > A_Q := AutomorphismGroup(Q); > A_Q; Permutation group A_Q acting on a set of cardinality 18 Order = 2160 = 2^4 * 3^3 * 5 (1, 4)(2, 6)(3, 5)(7, 8)(10, 12)(13, 14)(17, 18) (2, 3)(5, 6)(7, 8)(10, 18)(11, 16)(12, 17)(13, 14) (4, 7)(5, 8)(6, 9)(13, 17)(14, 16)(15, 18) (7, 13)(8, 14)(9, 15)(10, 17)(11, 16)(12, 18) (7, 12)(8, 10)(9, 11)(13, 18)(14, 17)(15, 16) > S := StabilizerCode(Q); > A_S := AutomorphismGroup(S); > A_S; Permutation group A_S acting on a set of cardinality 18 Order = 180 = 2^2 * 3^2 * 5 (1, 4)(2, 5)(3, 6)(7, 13)(8, 14)(9, 15) (4, 7, 12)(5, 8, 10)(6, 9, 11)(13, 15, 14)(16, 18, 17) (4, 6, 5)(7, 14, 11)(8, 15, 12)(9, 13, 10)(16, 18, 17) > A_S subset A_Q; true