22.17 Orthogonal Linear Groups

Module: sage.groups.matrix_gps.orthogonal

Orthogonal Linear Groups

Paraphrased from the GAP manual: The general orthogonal group $ GO(e,d,q)$ consists of those $ d\times d$ matrices over the field $ GF(q)$ that respect a non-singular quadratic form specified by $ e$ . (Use the GAP command InvariantQuadraticForm to determine this form explicitly.) The value of $ e$ must be 0 for odd $ d$ (and can optionally be omitted in this case), respectively one of $ 1$ or $ -1$ for even $ d$ .

SpecialOrthogonalGroup returns a group isomorphic to the special orthogonal group $ SO(e,d,q)$ , which is the subgroup of all those matrices in the general orthogonal group that have determinant one. (The index of $ SO(e,d,q)$ in $ GO(e,d,q)$ is $ 2$ if $ q$ is odd, but $ SO(e,d,q) = GO(e,d,q)$ if $ q$ 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

GO( n, R, [e=0])

Return the general orthogonal group.

SO( n, R, [e=0], [var=a])

Return the special orthogonal group of degree $ n$ over the ring $ R$ .

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_finite_field

Class: GeneralOrthogonalGroup_generic

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_element()
[5 1 4]
[1 0 0]
[6 0 1]

Functions: invariant_quadratic_form

invariant_quadratic_form( 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: _gap_init_,$ \,$ _latex_,$ \,$ _repr_

_gap_init_( self)

sage: GO( 3, GF(7), 0)._gap_init_()
'GO(0, 3, 7)'

_latex_( self)

sage: G = GO(3,GF(5))
sage: latex(G)
	ext{GO}_{3}(5, 0)

_repr_( self)

String representation of self.

sage: GO(3,7)
General Orthogonal Group of degree 3, form parameter 0, over the Finite
Field of size 7

Class: OrthogonalGroup

class OrthogonalGroup
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

invariant_form( self)

Return the invariant form of this orthogonal group.

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

Special Functions: __init__

Class: SpecialOrthogonalGroup_finite_field

class SpecialOrthogonalGroup_finite_field

Class: SpecialOrthogonalGroup_generic

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_element()
[1 2 5 0]
[2 2 1 0]
[1 3 1 5]
[1 3 1 3]

Functions: invariant_quadratic_form

invariant_quadratic_form( self)

Return the quadratic form $ q(v) = v Q v^t$ on the space on which this group $ G$ that satisfies the equation $ q(v) = q(v M)$ for all $ v \in V$ and $ M \in G$ .

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_

_gap_init_( self)

sage: G = SO(3,GF(5))
sage: G._gap_init_()
'SO(0, 3, 5)'

_latex_( self)

sage: G = SO(3,GF(5))
sage: latex(G)
	ext{SO}_{3}(\mathbf{F}_{5}, 0)

_repr_( 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.