@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44Authors: TNLean contributors
55-/
66import TNLean.Algebra.HermitianHelpers
7+ import TNLean.Algebra.TracePairing
78import TNLean.Channel.Basic
89import TNLean.Channel.ChoiJamiolkowski
910
@@ -17,6 +18,8 @@ This file records elementary positive maps from Wolf Chapter 3.
1718* `Matrix.reductionMap`: the reduction map
1819 \( X \mapsto \operatorname{tr}(X) I - k^{-1}X\) .
1920* `Matrix.reductionMap_one_isPositiveMap`: the case \( k=1\) is positive.
21+ * `Matrix.traceAdjointMap_reductionMap`: the reduction map is self-dual for
22+ the trace pairing.
2023* `ChoiJamiolkowski.choiMatrix_reductionMap`: Choi matrix of the reduction map.
2124
2225 ## References
@@ -59,6 +62,29 @@ theorem reductionMap_one_isPositiveMap {D : ℕ} [NeZero D] :
5962 simpa [reductionMap] using
6063 (Matrix.PosSemidef.trace_smul_one_sub_self_posSemidef hX)
6164
65+ /-- **Wolf Chapter 3, Example 3.1, equation (3.18).** The reduction map is
66+ self-dual for the bilinear trace pairing:
67+ \[
68+ \operatorname{tr}(T_k(\rho)X)=\operatorname{tr}(\rho T_k(X)).
69+ \]
70+ -/
71+ theorem traceAdjointMap_reductionMap (D k : ℕ) :
72+ Matrix.traceAdjointMap (reductionMap D k) = reductionMap D k := by
73+ classical
74+ apply LinearMap.ext
75+ intro ρ
76+ refine sub_eq_zero.mp ((Matrix.trace_mul_right_eq_zero_iff
77+ (M := Matrix.traceAdjointMap (reductionMap D k) ρ - reductionMap D k ρ)).1 ?_)
78+ intro X
79+ rw [Matrix.sub_mul, Matrix.trace_sub]
80+ have hleft :
81+ Matrix.trace (Matrix.traceAdjointMap (reductionMap D k) ρ * X) =
82+ Matrix.trace (ρ * reductionMap D k X) :=
83+ Matrix.trace_traceAdjointMap_mul (reductionMap D k) ρ X
84+ rw [hleft, sub_eq_zero]
85+ simp [reductionMap, Matrix.mul_sub, Matrix.sub_mul, Matrix.trace_sub,
86+ Matrix.trace_smul, mul_comm]
87+
6288end Matrix
6389
6490namespace ChoiJamiolkowski
0 commit comments