# 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 sequilinear 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 integer q constructs the matrix group over the base ring GF(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]
)


TESTS:

sage: groups.matrix.GU(2, 3)
General Unitary Group of degree 2 over Finite Field in a of size 3^2

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 sequilinear 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 integer q constructs the matrix group over the base ring GF(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


TESTS:

sage: groups.matrix.SU(2, 3)
Special Unitary Group of degree 2 over Finite Field in a of size 3^2

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


#### Previous topic

Symplectic Linear Groups

Affine Groups