The type of Hermitian matrices, as a Subtype
. Equivalent to a Matrix n n α
bundled
with the fact that Matrix.IsHermitian
.
Equations
- HermitianMat n α = ↥(selfAdjoint (Matrix n n α))
Instances For
Equations
Instances For
Equations
Alias for HermitianMat.property or HermitianMat.2, this gets the fact that the value
is actually IsHermitian
.
Equations
- HermitianMat.instFun = { coe := fun (M : HermitianMat n α) => ↑M, coe_injective' := ⋯ }
Equations
- HermitianMat.instStar = { star := fun (x : HermitianMat n α) => x }
Equations
- HermitianMat.instInv = { inv := fun (x : HermitianMat n α) => ⟨(↑x)⁻¹, ⋯⟩ }
Equations
- HermitianMat.instZPow = { pow := fun (x : HermitianMat n α) (z : ℤ) => ⟨↑x ^ z, ⋯⟩ }
The Hermitian matrix given by conjugating by a (possibly rectangular) Matrix. If we required B
to be
square, this would apply to any Semigroup
+StarMul
(as proved by IsSelfAdjoint.conjugate
). But this lets
us conjugate to other sizes too, as is done in e.g. Kraus operators. That is, it's a heterogeneous conjguation.
Equations
- HermitianMat.conj B = { toFun := fun (A : HermitianMat n α) => ⟨B * ↑A * B.conjTranspose, ⋯⟩, map_zero' := ⋯, map_add' := ⋯ }
Instances For
HermitianMat.conj
as an R
-linear map, where R
is the ring of relevant reals.
Equations
- HermitianMat.conjLinear R B = { toAddHom := ↑(HermitianMat.conj B), map_smul' := ⋯ }
Instances For
The continuous linear map associated with a Hermitian matrix.
Equations
- A.lin = { toLinearMap := Matrix.toEuclideanLin ↑A, cont := ⋯ }
Instances For
Equations
- A.eigenspace μ = Module.End.eigenspace (↑A.lin) μ
Instances For
The kernel of a Hermitian matrix A
as a submodule of Euclidean space, defined by
LinearMap.ker A.toMat.toEuclideanLin
. Equivalently, the zero-eigenspace.
Equations
- A.ker = LinearMap.ker A.lin
Instances For
The kernel of a Hermitian matrix is its zero eigenspace.
The support of a Hermitian matrix A
as a submodule of Euclidean space, defined by
LinearMap.range A.toMat.toEuclideanLin
. Equivalently, the sum of all nonzero eigenspaces.
Equations
- A.support = LinearMap.range A.lin
Instances For
The support of a Hermitian matrix is the sum of its nonzero eigenspaces.
Equations
- HermitianMat.diagonal f = ⟨Matrix.diagonal fun (x : n) => ↑(f x), ⋯⟩
Instances For
The kronecker product of two HermitianMats, see Matrix.kroneckerMap
.
Instances For
The kronecker product of two HermitianMats, see Matrix.kroneckerMap
.
Equations
- HermitianMat.«term_⊗ₖ_» = Lean.ParserDescr.trailingNode `HermitianMat.«term_⊗ₖ_» 100 100 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊗ₖ ") (Lean.ParserDescr.cat `term 101))