Classes of Matrix Maps #
The bundled MatrixMaps: HPMap, UnitalMap, TPMap, PMap, and CPMap.
These are defined over the bare minimum rings (Semiring or RCLike, respectively).
The combinations PTPMap (positive trace-preserving), CPTPMap, and CPUMap
(CP unital maps) take â as the default class.
The majority of quantum theory revolves around CPTPMaps, so those are explored more
thoroughly in their file CPTP.lean.
Unital linear maps.
- unital : MatrixMap.Unital self.toLinearMap
Instances For
Completely positive linear maps.
- pos : MatrixMap.IsPositive self.toLinearMap
- cp : MatrixMap.IsCompletelyPositive self.toLinearMap
Instances For
Positive trace-preserving linear maps. These includes all channels, but aren't
necessarily completely positive, see CPTPMap.
- pos : MatrixMap.IsPositive self.toLinearMap
Instances For
Positive unital maps. These are important because they are the
dual to PTPMap: they are the most general way to map observables.
- pos : MatrixMap.IsPositive self.toLinearMap
- unital : MatrixMap.Unital self.toLinearMap
Instances For
Completely positive trace-preserving linear maps. This is the most common meaning of "channel", often described as "the most general physically realizable quantum operation".
- pos : MatrixMap.IsPositive self.toLinearMap
Instances For
Completely positive unital maps. These are important because they are the
dual to CPTPMap: they are the physically realizable ways to map observables.
- pos : MatrixMap.IsPositive self.toLinearMap
- unital : MatrixMap.Unital self.toLinearMap
Instances For
Hermitian-preserving maps are functions from HermitianMats to HermitianMats.
Positive maps are functions from HermitianMats to HermitianMats.
Equations
- PMap.instFunLike = { coe := DFunLike.coe â PMap.toHPMap â, coe_injective' := ⯠}
Equations
- CPMap.of_kraus_CPMap M = { toLinearMap := MatrixMap.of_kraus M M, HP := âŻ, pos := âŻ, cp := ⯠}
Instances For
Positive trace-preserving maps are functions from HermitianMats to HermitianMats.
Equations
- PTPMap.instFunLike = { coe := DFunLike.coe â PTPMap.toPMap â, coe_injective' := ⯠}
CPTPMaps are functions from MStates to MStates.
Equations
- CPTPMap.instMFunLike = { coe := DFunLike.coe â CPTPMap.toPTPMap â, coe_injective' := ⯠}
Equations
- CPTPMap.of_kraus_CPTPMap M hTP = { toLinearMap := MatrixMap.of_kraus M M, HP := âŻ, pos := âŻ, TP := âŻ, cp := ⯠}
Instances For
PUMaps are functions from HermitianMats to HermitianMats.
CPTP maps also preserve positivity on Hermitian matrices.
CPUMaps are functions from HermitianMats to HermitianMats.
CPTP maps also preserve positivity on Hermitian matrices.