Completely positive maps #
A linear map φ : A₁ →ₗ[ℂ] A₂
(where A₁
and A₂
are C⋆-algebras) is called
completely positive (CP) if CStarMatrix.map (Fin k) (Fin k) φ
(i.e. applying φ
to all
entries of a k × k matrix) is also positive for every k : ℕ
.
This file defines completely positive maps and develops their basic API.
Main results #
NonUnitalStarAlgHomClass.instCompletelyPositiveMapClass
: Non-unital star algebra homomorphisms are completely positive.
Notation #
A₁ →CP A₂
denotes the type of CP maps fromA₁
toA₂
. This notation is scoped toCStarAlgebra
.
Implementation notes #
The morphism class CompletelyPositiveMapClass
is designed to be part of the order hierarchy,
and only includes the order property; linearity is not mentioned at all. It is therefore meant
to be used in conjunction with LinearMapClass
. This is meant to avoid mixing order and algebra
as much as possible.
A linear map φ : A₁ →ₗ[ℂ] A₂
is called completely positive (CP) if
CStarMatrix.mapₗ (Fin k) (Fin k) φ
(i.e. applying φ
to all entries of a k × k matrix) is also
positive for every k ∈ ℕ
.
Note that Fin k
here is hardcoded to avoid having to quantify over types and introduce a new
universe parameter. See CompletelyPositiveMap.map_cstarMatrix_nonneg
for a version of the
property that holds for matrices indexed by any finite type.
- toFun : A₁ → A₂
- map_cstarMatrix_nonneg' (k : ℕ) (M : CStarMatrix (Fin k) (Fin k) A₁) (hM : 0 ≤ M) : 0 ≤ M.map ⇑self.toLinearMap
Instances For
A linear map φ : A₁ →ₗ[ℂ] A₂
is called completely positive (CP) if
CStarMatrix.mapₗ (Fin k) (Fin k) φ
(i.e. applying φ
to all entries of a k × k matrix) is also
positive for every k ∈ ℕ
.
Note that Fin k
here is hardcoded to avoid having to quantify over types and introduce a new
universe parameter. See CompletelyPositiveMap.map_cstarMatrix_nonneg
for a version of the
property that holds for matrices indexed by any finite type.
Instances
Notation for a CompletelyPositiveMap
.
Equations
- CStarAlgebra.«term_→CP_» = Lean.ParserDescr.trailingNode `CStarAlgebra.«term_→CP_» 25 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →CP ") (Lean.ParserDescr.cat `term 0))
Instances For
Reinterpret an element of a type of completely positive maps as a completely positive linear map.
Instances For
Reinterpret an element of a type of completely positive maps as a completely positive linear map.
Equations
- CompletelyPositiveMapClass.instCoeToCompletelyPositiveMap = { coe := fun (f : F) => ↑f }
Linear maps which are completely positive are order homomorphisms (i.e., positive maps).
Equations
- CompletelyPositiveMap.instFunLike = { coe := fun (f : CompletelyPositiveMap A₁ A₂) => f.toFun, coe_injective' := ⋯ }
Non-unital star algebra homomorphisms are completely positive.