Module: sage.groups.matrix_gps.orthogonal
Orthogonal Linear Groups
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 0 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.
Author Log:
Module-level Functions
| n, R, [e=0]) |
| n, R, [e=0], [var=a]) |
INPUT:
n -- the degree
R -- ring
e -- a parameter for orthogonal groups only depending
on the invariant form
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]]]
Class: GeneralOrthogonalGroup_finite_field
Class: GeneralOrthogonalGroup_generic
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() ## random output [1 6 6] [3 2 6] [3 6 5]
Functions: invariant_quadratic_form
| self) |
INPUT:
self -- a matrix group G
OUTPUT:
Q -- the matrix satisfying the property: The quadratic
form q on the natural vector space V on which G acts
is given by $q(v) = v Q v^t$, and the invariance
under G is given by the equation $q(v) = q(v M)$ for
all $v \in V$ and $M \in G$.
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]
Special Functions: _gap_init_,
_latex_,
_repr_
| self) |
sage: GO( 3, GF(7), 0)._gap_init_() 'GO(0, 3, 7)'
| self) |
sage: G = GO(3,GF(5))
sage: latex(G)
ext{GO}_{3}(5, 0)
| self) |
sage: GO(3,7) General Orthogonal Group of degree 3, form parameter 0, over the Finite Field of size 7
Class: OrthogonalGroup
| self, n, R, [e=0], [var=a]) |
INPUT:
n -- the degree
R -- the base ring
e -- a parameter for orthogonal groups only depending
on the invariant form
var -- variable used to define field of definition of
actual matrices in this group.
Functions: invariant_form
| self) |
TODO: What is the point of this? What does it do? How does it work?
sage: G = SO( 4, GF(7), 1) sage: G.invariant_form() 1
Class: SpecialOrthogonalGroup_finite_field
Class: SpecialOrthogonalGroup_generic
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()
[4 2 5 6]
[0 3 2 4]
[5 3 5 2]
[1 1 6 2]
Functions: invariant_quadratic_form
| self) |
NOTE: Uses GAP's command InvariantQuadraticForm.
OUTPUT: Q - matrix that defines the invariant quadratic form.
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]
Special Functions: _gap_init_,
_latex_,
_repr_
| self) |
sage: G = SO(3,GF(5)) sage: G._gap_init_() 'SO(0, 3, 5)'
| self) |
sage: G = SO(3,GF(5))
sage: latex(G)
ext{SO}_{3}(\mathbf{F}_{5}, 0)
| self) |
sage: G = SO(3,GF(5)) sage: G Special Orthogonal Group of degree 3, form parameter 0, over the Finite Field of size 5
See About this document... for information on suggesting changes.