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)#

Bases: OrthogonalMatrixGroup_generic, NamedMatrixGroup_gap, FinitelyGeneratedMatrixGroup_gap

The general or special orthogonal group in GAP.

invariant_bilinear_form()#

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]
invariant_form()#

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]
invariant_quadratic_form()#

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]