Orthogonal Linear Groups with GAP¶
- class sage.groups.matrix_gps.orthogonal_gap.OrthogonalMatrixGroup_gap(degree, base_ring, special, sage_name, latex_string, gap_command_string, category=None)[source]¶
- Bases: - OrthogonalMatrixGroup_generic,- NamedMatrixGroup_gap,- FinitelyGeneratedMatrixGroup_gap- The general or special orthogonal group in GAP. - invariant_bilinear_form()[source]¶
- Return the symmetric bilinear form preserved by the orthogonal group. - OUTPUT: - A matrix \(M\) such that, for every group element \(g\), the identity \(g m g^T = m\) holds. In characteristic different from two, this uniquely determines the orthogonal group. - EXAMPLES: - sage: G = GO(4, GF(7), -1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] sage: G = GO(4, GF(7), +1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 6 0] [0 0 0 2] sage: G = SO(4, GF(7), -1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] - >>> from sage.all import * >>> G = GO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] >>> G = GO(Integer(4), GF(Integer(7)), +Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 6 0] [0 0 0 2] >>> G = SO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] 
 - invariant_form()[source]¶
- Return the symmetric bilinear form preserved by the orthogonal group. - OUTPUT: - A matrix \(M\) such that, for every group element \(g\), the identity \(g m g^T = m\) holds. In characteristic different from two, this uniquely determines the orthogonal group. - EXAMPLES: - sage: G = GO(4, GF(7), -1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] sage: G = GO(4, GF(7), +1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 6 0] [0 0 0 2] sage: G = SO(4, GF(7), -1) sage: G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] - >>> from sage.all import * >>> G = GO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] >>> G = GO(Integer(4), GF(Integer(7)), +Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 6 0] [0 0 0 2] >>> G = SO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_bilinear_form() [0 1 0 0] [1 0 0 0] [0 0 2 0] [0 0 0 2] 
 - invariant_quadratic_form()[source]¶
- Return the quadratic form preserved by the orthogonal group. - OUTPUT: - The matrix \(Q\) defining “orthogonal” as follows. The matrix determines a quadratic form \(q\) on the natural vector space \(V\), on which \(G\) acts, by \(q(v) = v Q v^t\). A matrix \(M\) is an element of the orthogonal group if \(q(v) = q(v M)\) for all \(v \in V\). - EXAMPLES: - sage: G = GO(4, GF(7), -1) sage: G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 1 0] [0 0 0 1] sage: G = GO(4, GF(7), +1) sage: G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 3 0] [0 0 0 1] sage: G = GO(4, QQ) sage: G.invariant_quadratic_form() [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] sage: G = SO(4, GF(7), -1) sage: G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 1 0] [0 0 0 1] - >>> from sage.all import * >>> G = GO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 1 0] [0 0 0 1] >>> G = GO(Integer(4), GF(Integer(7)), +Integer(1)) >>> G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 3 0] [0 0 0 1] >>> G = GO(Integer(4), QQ) >>> G.invariant_quadratic_form() [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] >>> G = SO(Integer(4), GF(Integer(7)), -Integer(1)) >>> G.invariant_quadratic_form() [0 1 0 0] [0 0 0 0] [0 0 1 0] [0 0 0 1]