Module: sage.groups.matrix_gps.orthogonal
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
d, R, [e=0]) |
d, R, [e=0]) |
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: as_matrix_group,
gens,
invariant_quadratic_form
self) |
sage: G = GO(3,GF(5)) sage: G.as_matrix_group() Matrix group over Finite Field of size 5 with 2 generators: [[[2, 0, 0], [0, 3, 0], [0, 0, 1]], [[0, 1, 0], [1, 4, 4], [0, 2, 1]]]
self) |
sage: G = GO(3,GF(5)) sage: G.gens() [[2 0 0] [0 3 0] [0 0 1], [0 1 0] [1 4 4] [0 2 1]]
self) |
This wraps GAP's command "InvariantQuadraticForm". From the GAP documentation:
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: __str__,
_gap_init_,
_latex_,
_repr_
self) |
sage: G = GO(3,GF(5)) sage: print G GO(3, GF(5), 0)
self) |
sage: GO( 3, GF(7), 0)._gap_init_() 'GO(0, 3, 7)'
self) |
sage: G = GO(3,GF(5)) sage: G._latex_() 'GO$(3, 5, 0)$'
Class: SpecialOrthogonalGroup_finite_field
Class: SpecialOrthogonalGroup_generic
sage: G = SO( 4, GF(7), 1) sage: 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: as_matrix_group,
gens,
invariant_quadratic_form
self) |
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]]]
self) |
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]]
self) |
This wraps GAP's command "InvariantQuadraticForm". From the GAP documentation:
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 = 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: __str__,
_gap_init_,
_latex_,
_repr_
self) |
sage: G = SO(3,GF(5)) sage: print G SO(3, GF(5), 0)
self) |
sage: G = SO(3,GF(5)) sage: G._gap_init_() 'SO(0, 3, 5)'
self) |
sage: G = SO(3,GF(5)) sage: G._latex_() 'SO$(3, 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.