Paraphrased from the GAP manual: The general orthogonal group
consists of those
matrices
over the field
that respect a non-singular
quadratic form specified by
. (Use the GAP command
InvariantQuadraticForm to determine this form explicitly.) The
value of
must be
for odd
(and
can optionally be omitted in this case), respectively one of
or
for even
.
SpecialOrthogonalGroup returns a group isomorphic to the special
orthogonal group , which is the subgroup of all
those matrices in the general orthogonal group that have
determinant one. (The index of
in
is
if
is odd, but
if
is even.)
Warning
GAP notation: GO([e,] d, q), SO([e,] d, q) ([...] denotes and optional value)
Sage notation: GO(d, GF(q), e=0), SO( d, GF(q), e=0)
There is no Python trick I know of to allow the first argument to have the default value e=0 and leave the other two arguments as non-default. This forces us into non-standard notation.
AUTHORS:
Return the general orthogonal group.
EXAMPLES:
Bases: sage.groups.matrix_gps.orthogonal.OrthogonalGroup
EXAMPLES:
sage: GO( 3, GF(7), 0)
General Orthogonal Group of degree 3, form parameter 0, over the Finite Field of size 7
sage: GO( 3, GF(7), 0).order()
672
sage: GO( 3, GF(7), 0).random_element()
[5 1 4]
[1 0 0]
[6 0 1]
This wraps GAP’s command “InvariantQuadraticForm”. From the GAP documentation:
INPUT:
OUTPUT:
EXAMPLES:
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]
Bases: sage.groups.matrix_gps.matrix_group.MatrixGroup_gap
Return the invariant form of this orthogonal group.
TODO: What is the point of this? What does it do? How does it work?
EXAMPLES:
sage: G = SO( 4, GF(7), 1)
sage: G.invariant_form()
1
Return the special orthogonal group of degree over the
ring
.
INPUT:
EXAMPLES:
sage: G = SO(3,GF(5))
sage: G.gens()
[
[2 0 0]
[0 3 0]
[0 0 1],
[3 2 3]
[0 2 0]
[0 3 1],
[1 4 4]
[4 0 0]
[2 0 4]
]
sage: G = SO(3,GF(5))
sage: G.as_matrix_group()
Matrix group over Finite Field of size 5 with 3 generators:
[[[2, 0, 0], [0, 3, 0], [0, 0, 1]], [[3, 2, 3], [0, 2, 0], [0, 3, 1]], [[1, 4, 4], [4, 0, 0], [2, 0, 4]]]
Bases: sage.groups.matrix_gps.orthogonal.OrthogonalGroup
EXAMPLES:
sage: G = SO( 4, GF(7), 1); G
Special Orthogonal Group of degree 4, form parameter 1, over the Finite Field of size 7
sage: G._gap_init_()
'SO(1, 4, 7)'
sage: G.random_element()
[1 2 5 0]
[2 2 1 0]
[1 3 1 5]
[1 3 1 3]
Return the quadratic form on the space on
which this group
that satisfies the equation
for all
and
.
Note
Uses GAP’s command InvariantQuadraticForm.
OUTPUT:
EXAMPLES:
sage: G = SO( 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]