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.unitaryGroupis the submonoid of matrices where the star-transpose is the inverse; the group structure (under multiplication) is inherited from a more generalunitaryconstruction.Matrix.UnitaryGroup.embeddingGLis the embeddingMatrix.unitaryGroup n α → GLₙ(α), whereGLₙ(α)isLinearMap.GeneralLinearGroup α (n → α).Matrix.orthogonalGroupis 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.)