Unitary Groups \(GU(n,q)\) and \(SU(n,q)\)¶
These are \(n \times n\) unitary matrices with entries in \(GF(q^2)\).
EXAMPLES:
sage: G = SU(3,5)
sage: G.order()
378000
sage: G
Special Unitary Group of degree 3 over Finite Field in a of size 5^2
sage: G.gens()
(
[ a 0 0] [4*a 4 1]
[ 0 2*a + 2 0] [ 4 4 0]
[ 0 0 3*a], [ 1 0 0]
)
sage: G.base_ring()
Finite Field in a of size 5^2
AUTHORS:
- David Joyner (2006-03): initial version, modified from special_linear (by W. Stein)
- David Joyner (2006-05): minor additions (examples, _latex_, __str__, gens)
- William Stein (2006-12): rewrite
- Volker Braun (2013-1) port to new Parent, libGAP, extreme refactoring.
-
sage.groups.matrix_gps.unitary.
GU
(n, R, var='a')¶ Return the general unitary group.
The general unitary group \(GU( d, R )\) consists of all \(d \times d\) matrices that preserve a nondegenerate sesquilinear form over the ring \(R\).
Note
For a finite field the matrices that preserve a sesquilinear form over \(F_q\) live over \(F_{q^2}\). So
GU(n,q)
for integerq
constructs the matrix group over the base ringGF(q^2)
.Note
This group is also available via
groups.matrix.GU()
.INPUT:
n
– a positive integer.R
– ring or an integer. If an integer is specified, the corresponding finite field is used.var
– variable used to represent generator of the finite field, if needed.
OUTPUT:
Return the general unitary group.
EXAMPLES:
sage: G = GU(3, 7); G General Unitary Group of degree 3 over Finite Field in a of size 7^2 sage: G.gens() ( [ a 0 0] [6*a 6 1] [ 0 1 0] [ 6 6 0] [ 0 0 5*a], [ 1 0 0] ) sage: GU(2,QQ) General Unitary Group of degree 2 over Rational Field sage: G = GU(3, 5, var='beta') sage: G.base_ring() Finite Field in beta of size 5^2 sage: G.gens() ( [ beta 0 0] [4*beta 4 1] [ 0 1 0] [ 4 4 0] [ 0 0 3*beta], [ 1 0 0] )
-
sage.groups.matrix_gps.unitary.
SU
(n, R, var='a')¶ The special unitary group \(SU( d, R )\) consists of all \(d imes d\) matrices that preserve a nondegenerate sesquilinear form over the ring \(R\) and have determinant one.
Note
For a finite field the matrices that preserve a sesquilinear form over \(F_q\) live over \(F_{q^2}\). So
SU(n,q)
for integerq
constructs the matrix group over the base ringGF(q^2)
.Note
This group is also available via
groups.matrix.SU()
.INPUT:
n
– a positive integer.R
– ring or an integer. If an integer is specified, the corresponding finite field is used.var
– variable used to represent generator of the finite field, if needed.
OUTPUT:
Return the special unitary group.
EXAMPLES:
sage: SU(3,5) Special Unitary Group of degree 3 over Finite Field in a of size 5^2 sage: SU(3, GF(5)) Special Unitary Group of degree 3 over Finite Field in a of size 5^2 sage: SU(3,QQ) Special Unitary Group of degree 3 over Rational Field
-
class
sage.groups.matrix_gps.unitary.
UnitaryMatrixGroup_gap
(degree, base_ring, special, sage_name, latex_string, gap_command_string)¶ Bases:
sage.groups.matrix_gps.unitary.UnitaryMatrixGroup_generic
,sage.groups.matrix_gps.named_group.NamedMatrixGroup_gap
Base class for “named” matrix groups using LibGAP
INPUT:
degree
– integer. The degree (number of rows/columns of matrices).base_ring
– rinrg. The base ring of the matrices.special
– boolean. Whether the matrix group is special, that is, elements have determinant one.latex_string
– string. The latex representation.gap_command_string
– string. The GAP command to construct the matrix group.
EXAMPLES:
sage: G = GL(2, GF(3)) sage: from sage.groups.matrix_gps.named_group import NamedMatrixGroup_gap sage: isinstance(G, NamedMatrixGroup_gap) True
-
class
sage.groups.matrix_gps.unitary.
UnitaryMatrixGroup_generic
(degree, base_ring, special, sage_name, latex_string)¶ Bases:
sage.groups.matrix_gps.named_group.NamedMatrixGroup_generic
General Unitary Group over arbitrary rings.
EXAMPLES:
sage: G = GU(3, GF(7)); G General Unitary Group of degree 3 over Finite Field in a of size 7^2 sage: latex(G) \text{GU}_{3}(\Bold{F}_{7^{2}}) sage: G = SU(3, GF(5)); G Special Unitary Group of degree 3 over Finite Field in a of size 5^2 sage: latex(G) \text{SU}_{3}(\Bold{F}_{5^{2}})
-
sage.groups.matrix_gps.unitary.
finite_field_sqrt
(ring)¶ Helper function.
INPUT:
A ring.
OUTPUT:
Integer q such that
ring
is the finite field with \(q^2\) elements.EXAMPLES:
sage: from sage.groups.matrix_gps.unitary import finite_field_sqrt sage: finite_field_sqrt(GF(4, 'a')) 2