The Unitary Group #
This file defines elements of the unitary group Matrix.unitaryGroup n α
, where α
is a
StarRing
. This consists of all n
by n
matrices with entries in α
such that the
star-transpose is its inverse. In addition, we define the group structure on
Matrix.unitaryGroup n α
, and the embedding into the general linear group
LinearMap.GeneralLinearGroup α (n → α)
.
We also define the orthogonal group Matrix.orthogonalGroup n β
, where β
is a CommRing
.
Main Definitions #
Matrix.unitaryGroup
is the submonoid of matrices where the star-transpose is the inverse; the group structure (under multiplication) is inherited from a more generalunitary
construction.Matrix.UnitaryGroup.embeddingGL
is the embeddingMatrix.unitaryGroup n α → GLₙ(α)
, whereGLₙ(α)
isLinearMap.GeneralLinearGroup α (n → α)
.Matrix.orthogonalGroup
is the submonoid of matrices where the transpose is the inverse.
References #
Tags #
matrix group, group, unitary group, orthogonal group
Matrix.unitaryGroup n
is the group of n
by n
matrices where the star-transpose is the
inverse.
Equations
- Matrix.unitaryGroup n α = unitary (Matrix n n α)
Instances For
Equations
- Matrix.UnitaryGroup.coeMatrix = { coe := Subtype.val }
Equations
- Matrix.UnitaryGroup.coeFun = { coe := fun (A : ↥(Matrix.unitaryGroup n α)) => ↑A }
Matrix.UnitaryGroup.toLin' A
is matrix multiplication of vectors by A
, as a linear map.
After the group structure on Matrix.unitaryGroup n
is defined, we show in
Matrix.UnitaryGroup.toLinearEquiv
that this gives a linear equivalence.
Equations
- Matrix.UnitaryGroup.toLin' A = Matrix.toLin' ↑A
Instances For
Matrix.unitaryGroup.toLinearEquiv A
is matrix multiplication of vectors by A
, as a linear
equivalence.
Equations
- Matrix.UnitaryGroup.toLinearEquiv A = let __src := Matrix.toLin' ↑A; { toLinearMap := __src, invFun := ⇑(Matrix.UnitaryGroup.toLin' A⁻¹), left_inv := ⋯, right_inv := ⋯ }
Instances For
Matrix.unitaryGroup.toGL
is the map from the unitary group to the general linear group
Equations
Instances For
Matrix.unitaryGroup.embeddingGL
is the embedding from Matrix.unitaryGroup n α
to
LinearMap.GeneralLinearGroup n α
.
Equations
- Matrix.UnitaryGroup.embeddingGL = { toFun := fun (A : ↥(Matrix.unitaryGroup n α)) => Matrix.UnitaryGroup.toGL A, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Matrix.specialUnitaryGroup
is the group of unitary n
by n
matrices where the determinant
is 1. (This definition is only correct if 2 is invertible.)
Equations
- Matrix.specialUnitaryGroup n α = Matrix.unitaryGroup n α ⊓ MonoidHom.mker Matrix.detMonoidHom
Instances For
Matrix.orthogonalGroup n
is the group of n
by n
matrices where the transpose is the
inverse.
Equations
Instances For
Matrix.specialOrthogonalGroup n
is the group of orthogonal n
by n
where the determinant
is one. (This definition is only correct if 2 is invertible.)