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]