The General Linear group $GL(n, R)$ #
This file defines the elements of the General Linear group Matrix.GeneralLinearGroup n R
,
consisting of all invertible n
by n
R
-matrices.
Main definitions #
Matrix.GeneralLinearGroup
is the type of matrices over R which are units in the matrix ring.Matrix.GLPos
gives the subgroup of matrices with positive determinant (over a linear ordered ring).
Tags #
matrix group, group, matrix inverse
GL n R
is the group of n
by n
R
-matrices with unit determinant.
Defined as a subtype of matrices
Equations
- Matrix.termGL = Lean.ParserDescr.node `Matrix.termGL 1024 (Lean.ParserDescr.symbol "GL")
Instances For
This instance is here for convenience, but is not the simp-normal form.
The determinant of a unit matrix is itself a unit.
Equations
Instances For
The GL n R
and Matrix.GeneralLinearGroup R n
groups are multiplicatively equivalent
Equations
- Matrix.GeneralLinearGroup.toLin = Units.mapEquiv Matrix.toLinAlgEquiv'.toMulEquiv
Instances For
Given a matrix with invertible determinant we get an element of GL n R
Equations
- Matrix.GeneralLinearGroup.mk' A x = A.unitOfDetInvertible
Instances For
Given a matrix with unit determinant we get an element of GL n R
Equations
- Matrix.GeneralLinearGroup.mk'' A h = A.nonsingInvUnit h
Instances For
Given a matrix with non-zero determinant over a field, we get an element of GL n K
Equations
Instances For
An element of the matrix general linear group on (n) [Fintype n]
can be considered as an
element of the endomorphism general linear group on n → R
.
Equations
- Matrix.GeneralLinearGroup.toLinear = Units.mapEquiv Matrix.toLinAlgEquiv'.toRingEquiv.toMulEquiv
Instances For
A ring homomorphism f : R →+* S
induces a homomorphism GLₙ(f) : GLₙ(R) →* GLₙ(S)
.
Equations
- Matrix.GeneralLinearGroup.map f = Units.map ↑f.mapMatrix
Instances For
The map from SL(n) to GL(n) underlying the coercion, forgetting the value of the determinant.
Instances For
Equations
- Matrix.SpecialLinearGroup.hasCoeToGeneralLinearGroup = { coe := Matrix.SpecialLinearGroup.coeToGL }
This is the subgroup of nxn
matrices with entries over a
linear ordered ring and positive determinant.
Equations
- Matrix.GLPos n R = Subgroup.comap Matrix.GeneralLinearGroup.det (Units.posSubgroup R)
Instances For
Formal operation of negation on general linear group on even cardinality n
given by negating
each element.
Equations
- Matrix.instNegSubtypeGeneralLinearGroupMemSubgroupGLPos = { neg := fun (g : ↥(Matrix.GLPos n R)) => ⟨-↑g, ⋯⟩ }
Equations
- Matrix.instHasDistribNegSubtypeGeneralLinearGroupMemSubgroupGLPos = Function.Injective.hasDistribNeg (fun (a : ↥(Matrix.GLPos n R)) => ↑a) ⋯ ⋯ ⋯
Matrix.SpecialLinearGroup n R
embeds into GL_pos n R
Equations
- Matrix.SpecialLinearGroup.toGLPos = { toFun := fun (A : Matrix.SpecialLinearGroup n R) => ⟨↑A, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Equations
- Matrix.SpecialLinearGroup.instCoeSubtypeGeneralLinearGroupMemSubgroupGLPos = { coe := ⇑Matrix.SpecialLinearGroup.toGLPos }
Coercing a Matrix.SpecialLinearGroup
via GL_pos
and GL
is the same as coercing straight to
a matrix.
The matrix [a, -b; b, a] (inspired by multiplication by a complex number); it is an element of
$GL_2(R)$ if a ^ 2 + b ^ 2
is nonzero.
Equations
- Matrix.planeConformalMatrix a b hab = Matrix.GeneralLinearGroup.mkOfDetNeZero (Matrix.of ![![a, -b], ![b, a]]) ⋯