Documentation

Mathlib.Analysis.CStarAlgebra.CompletelyPositiveMap

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 #

Notation #

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.

structure CompletelyPositiveMap (A₁ : Type u_1) (A₂ : Type u_2) [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] extends A₁ →ₗ[] A₂ :
Type (max u_1 u_2)

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 For
    class CompletelyPositiveMapClass (F : Type u_1) (A₁ : Type u_2) (A₂ : Type u_3) [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] [FunLike F A₁ A₂] :

    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
      def CompletelyPositiveMapClass.toCompletelyPositiveLinearMap {F : Type u_1} {A₁ : Type u_2} {A₂ : Type u_3} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] [FunLike F A₁ A₂] [LinearMapClass F A₁ A₂] [CompletelyPositiveMapClass F A₁ A₂] (f : F) :

      Reinterpret an element of a type of completely positive maps as a completely positive linear map.

      Equations
      • f = { toLinearMap := f, map_cstarMatrix_nonneg' := }
      Instances For

        Reinterpret an element of a type of completely positive maps as a completely positive linear map.

        Equations
        theorem OrderHomClass.of_map_cstarMatrix_nonneg {F : Type u_1} {A₁ : Type u_2} {A₂ : Type u_3} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] [FunLike F A₁ A₂] [LinearMapClass F A₁ A₂] (h : ∀ (φ : F) (k : ) (M : CStarMatrix (Fin k) (Fin k) A₁), 0 M0 M.map φ) :
        OrderHomClass F A₁ A₂

        Linear maps which are completely positive are order homomorphisms (i.e., positive maps).

        instance CompletelyPositiveMapClass.instOrderHomClass {F : Type u_1} {A₁ : Type u_2} {A₂ : Type u_3} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] [FunLike F A₁ A₂] [LinearMapClass F A₁ A₂] [CompletelyPositiveMapClass F A₁ A₂] :
        OrderHomClass F A₁ A₂
        instance CompletelyPositiveMap.instFunLike {A₁ : Type u_1} {A₂ : Type u_2} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] :
        FunLike (CompletelyPositiveMap A₁ A₂) A₁ A₂
        Equations
        theorem CompletelyPositiveMap.map_cstarMatrix_nonneg {A₁ : Type u_1} {A₂ : Type u_2} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] {n : Type u_3} [Fintype n] (φ : CompletelyPositiveMap A₁ A₂) (M : CStarMatrix n n A₁) (hM : 0 M) :
        0 M.map φ
        instance NonUnitalStarAlgHomClass.instCompletelyPositiveMapClass {F : Type u_1} {A₁ : Type u_2} {A₂ : Type u_3} [NonUnitalCStarAlgebra A₁] [NonUnitalCStarAlgebra A₂] [PartialOrder A₁] [PartialOrder A₂] [StarOrderedRing A₁] [StarOrderedRing A₂] [FunLike F A₁ A₂] [NonUnitalAlgHomClass F A₁ A₂] [StarHomClass F A₁ A₂] :

        Non-unital star algebra homomorphisms are completely positive.