Matrices with entries in a C⋆-algebra #
This file creates a type copy of Matrix m n A called CStarMatrix m n A meant for matrices with
entries in a C⋆-algebra A. Its action on C⋆ᵐᵒᵈ (n → A) (via Matrix.mulVec) gives
it the operator norm, and this norm makes CStarMatrix n n A a C⋆-algebra.
Main declarations #
CStarMatrix m n A: the type copyCStarMatrix.instNonUnitalCStarAlgebra: square matrices with entries in a non-unital C⋆-algebra form a non-unital C⋆-algebraCStarMatrix.instCStarAlgebra: square matrices with entries in a unital C⋆-algebra form a unital C⋆-algebra
Implementation notes #
The norm on this type induces the product uniformity and bornology, but these are not defeq to
Pi.uniformSpace and Pi.instBornology. Hence, we prove the equality to the Pi instances and
replace the uniformity and bornology by the Pi ones when registering the
NormedAddCommGroup (CStarMatrix m n A) instance. See the docstring of the TopologyAux section
below for more details.
Type copy Matrix m n A meant for matrices with entries in a C⋆-algebra. This is
a C⋆-algebra when m = n.
Equations
- CStarMatrix m n A = Matrix m n A
Instances For
The equivalence between Matrix m n A and CStarMatrix m n A.
Equations
- CStarMatrix.ofMatrix = Equiv.refl (Matrix m n A)
Instances For
M.map f is the matrix obtained by applying f to each entry of the matrix M.
Equations
- M.map f = CStarMatrix.ofMatrix fun (i : m) (j : n) => f (M i j)
Instances For
The transpose of a matrix.
Equations
- M.transpose = CStarMatrix.ofMatrix fun (x : n) (y : m) => M y x
Instances For
The conjugate transpose of a matrix defined in term of star.
Equations
- M.conjTranspose = M.transpose.map star
Instances For
Equations
- CStarMatrix.instStar = { star := fun (M : CStarMatrix n n A) => M.conjTranspose }
Equations
- CStarMatrix.instInvolutiveStar = { toStar := CStarMatrix.instStar, star_involutive := ⋯ }
Equations
- CStarMatrix.instInhabited = inferInstanceAs (Inhabited (m → n → A))
Equations
- CStarMatrix.instFintypeOfDecidableEq α = inferInstanceAs (Fintype (m → n → α))
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- CStarMatrix.instModule = Pi.module m (fun (a : m) => n → A) R
simp-normal form pulls of to the outside, to match the Matrix API.
Equations
- CStarMatrix.instStarAddMonoid = { toInvolutiveStar := CStarMatrix.instInvolutiveStar, star_add := ⋯ }
The equivalence to matrices, bundled as a linear equivalence.
Equations
- CStarMatrix.ofMatrixₗ = LinearEquiv.refl R (Matrix m n A)
Instances For
The semilinear map constructed by applying a semilinear map to all the entries of the matrix.
Equations
- CStarMatrix.mapₗ f = { toFun := fun (M : CStarMatrix m n A) => M.map ⇑f, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Equations
- CStarMatrix.instOne = inferInstanceAs (One (Matrix n n A))
Equations
- CStarMatrix.instAddMonoidWithOne = { natCast := Nat.unaryCast, toAddMonoid := CStarMatrix.instAddMonoid, toOne := CStarMatrix.instOne, natCast_zero := ⋯, natCast_succ := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- CStarMatrix.instMulOfFintypeOfAddCommMonoid = { mul := fun (M N : CStarMatrix n n A) => M * N }
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- CStarMatrix.instSemiring = inferInstanceAs (Semiring (Matrix n n A))
Equations
- CStarMatrix.instRing = inferInstanceAs (Ring (Matrix n n A))
ofMatrix bundled as a ring equivalence.
Equations
- CStarMatrix.ofMatrixRingEquiv = { toEquiv := CStarMatrix.ofMatrix, map_mul' := ⋯, map_add' := ⋯ }
Instances For
Equations
- CStarMatrix.instStarRing = inferInstanceAs (StarRing (Matrix n n A))
Equations
- CStarMatrix.instAlgebra = inferInstanceAs (Algebra R (Matrix n n A))
ofMatrix bundled as a star algebra equivalence.
Equations
- CStarMatrix.ofMatrixStarAlgEquiv = { toRingEquiv := CStarMatrix.ofMatrixRingEquiv, map_star' := ⋯, map_smul' := ⋯ }
Instances For
The natural map that reindexes a matrix's rows and columns with equivalent types is an equivalence.
Equations
- CStarMatrix.reindexₗ R A eₘ eₙ = { toFun := (Matrix.reindex eₘ eₙ).toFun, map_add' := ⋯, map_smul' := ⋯, invFun := (Matrix.reindex eₘ eₙ).invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
The natural map that reindexes a matrix's rows and columns with equivalent types is an equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Applying a non-unital ⋆-algebra homomorphism to every entry of a matrix is itself a ⋆-algebra homomorphism on matrices.
Equations
- CStarMatrix.mapₙₐ f = { toFun := fun (M : CStarMatrix n n A) => (CStarMatrix.mapₗ ↑f) M, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯, map_mul' := ⋯, map_star' := ⋯ }
Instances For
The ⋆-algebra equivalence between A and 1×1 matrices with its entry in A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpret a CStarMatrix m n A as a continuous linear map acting on C⋆ᵐᵒᵈ (n → A).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpret a CStarMatrix m n A as a continuous linear map acting on C⋆ᵐᵒᵈ (n → A). This
version is specialized to the case m = n and is bundled as a non-unital algebra homomorphism.
Equations
- CStarMatrix.toCLMNonUnitalAlgHom = { toFun := (↑(MulOpposite.opLinearEquiv ℂ) ∘ₗ CStarMatrix.toCLM).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯, map_mul' := ⋯ }
Instances For
The operator norm on CStarMatrix m n A.
Equations
- CStarMatrix.instNorm = { norm := fun (M : CStarMatrix m n A) => ‖CStarMatrix.toCLM M‖ }
Equations
- CStarMatrix.instUniformSpace = Pi.uniformSpace fun (a : m) => n → A
Equations
Alias of CStarMatrix.instIsUniformAddGroup.
Equations
Equations
- One or more equations did not get rendered due to their size.
Matrices with entries in a C⋆-algebra form a C⋆-algebra.
Matrices with entries in a non-unital C⋆-algebra form a non-unital C⋆-algebra.
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- CStarMatrix.instNormedAlgebra = { toAlgebra := CStarMatrix.instAlgebra, norm_smul_le := ⋯ }
Matrices with entries in a unital C⋆-algebra form a unital C⋆-algebra.
Equations
- One or more equations did not get rendered due to their size.
ofMatrix bundled as a continuous linear equivalence.
Equations
- CStarMatrix.ofMatrixL = { toLinearEquiv := CStarMatrix.ofMatrixₗ, continuous_toFun := ⋯, continuous_invFun := ⋯ }