Partial trace
DefinitionPartial trace over the first factor#✓fully proved
The partial trace over the first factor: ∑ i, A (i, j) (i, j').
DefinitionPartial trace over the second factor#✓fully proved
The partial trace over the second factor: ∑ j, A (i, j) (i', j).
TheoremLeft partial trace of a density matrix has trace one#✓fully proved
The partial trace of a density matrix has trace 1.
theorem trace_partialTraceLeft_of_trace_eq_one [Fintype m] [Fintype n]
{A : Matrix (m × n) (m × n) 𝕜}
(hA : Matrix.trace A = 1) : Matrix.trace (partialTraceLeft A) = 1
def partialTraceLeft [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix n n 𝕜 :=
Matrix.of fun j j' => ∑ i, A (i, j) (i, j')
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:55
Uses 1
TheoremRight partial trace of a density matrix has trace one#✓fully proved
The partial trace of a density matrix has trace 1.
theorem trace_partialTraceRight_of_trace_eq_one [Fintype m] [Fintype n]
{A : Matrix (m × n) (m × n) 𝕜}
(hA : Matrix.trace A = 1) : Matrix.trace (partialTraceRight A) = 1
def partialTraceRight [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix m m 𝕜 :=
Matrix.of fun i i' => ∑ j, A (i, j) (i', j)
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:60
Uses 1
TheoremLeft partial trace of a rank-one matrix#✓fully proved
The partial trace of a rank-one positive semidefinite matrix is the sum of the rank-one positive semidefinite matrices of its slices.
theorem partialTraceLeft_vecMulVec_star [Fintype m] [Fintype n] (u : m × n → 𝕜) :
partialTraceLeft (Matrix.vecMulVec u (star u)) =
∑ i, Matrix.vecMulVec (fun j => u (i, j)) (star fun j => u (i, j))
def partialTraceLeft [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix n n 𝕜 :=
Matrix.of fun j j' => ∑ i, A (i, j) (i, j')
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:55
Uses 1 · Used by 1
TheoremRight partial trace of a rank-one matrix#✓fully proved
The partial trace of a rank-one positive semidefinite matrix is the sum of the rank-one positive semidefinite matrices of its slices.
theorem partialTraceRight_vecMulVec_star [Fintype m] [Fintype n] (u : m × n → 𝕜) :
partialTraceRight (Matrix.vecMulVec u (star u)) =
∑ j, Matrix.vecMulVec (fun i => u (i, j)) (star fun i => u (i, j))
def partialTraceRight [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix m m 𝕜 :=
Matrix.of fun i i' => ∑ j, A (i, j) (i', j)
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:60
Uses 1 · Used by 1
TheoremLeft partial trace preserves positive semidefiniteness#✓fully proved
The partial trace over the first factor preserves positive semidefiniteness.
theorem posSemidef_partialTraceLeft [Fintype m] [Fintype n]
{A : Matrix (m × n) (m × n) 𝕜}
(hA : A.PosSemidef) : (partialTraceLeft A).PosSemidef
def partialTraceLeft [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix n n 𝕜 :=
Matrix.of fun j j' => ∑ i, A (i, j) (i, j')
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:55
Uses 2
TheoremRight partial trace preserves positive semidefiniteness#✓fully proved
The partial trace over the second factor preserves positive semidefiniteness.
theorem posSemidef_partialTraceRight [Fintype m] [Fintype n]
{A : Matrix (m × n) (m × n) 𝕜}
(hA : A.PosSemidef) : (partialTraceRight A).PosSemidef
def partialTraceRight [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix m m 𝕜 :=
Matrix.of fun i i' => ∑ j, A (i, j) (i', j)
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:60
Uses 2
TheoremLeft partial trace is adjoint to identity amplification#✓fully proved
The partial trace over the first factor is adjoint to amplification by the identity, in the trace pairing.
theorem trace_partialTraceLeft_mul [Fintype m] [Fintype n] [DecidableEq m]
(A : Matrix (m × n) (m × n) 𝕜) (B : Matrix n n 𝕜) :
Matrix.trace (partialTraceLeft A * B)
= Matrix.trace (A * ((1 : Matrix m m 𝕜) ⊗ₖ B))
def partialTraceLeft [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix n n 𝕜 :=
Matrix.of fun j j' => ∑ i, A (i, j) (i, j')
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:55
Uses 1
TheoremRight partial trace is adjoint to identity amplification#✓fully proved
The partial trace over the second factor is adjoint to amplification by the identity, in the trace pairing.
theorem trace_partialTraceRight_mul [Fintype m] [Fintype n] [DecidableEq n]
(A : Matrix (m × n) (m × n) 𝕜) (C : Matrix m m 𝕜) :
Matrix.trace (partialTraceRight A * C)
= Matrix.trace (A * (C ⊗ₖ (1 : Matrix n n 𝕜)))
def partialTraceRight [Fintype m] [Fintype n]
(A : Matrix (m × n) (m × n) 𝕜) : Matrix m m 𝕜 :=
Matrix.of fun i i' => ∑ j, A (i, j) (i', j)
MathlibExt/LinearAlgebra/Matrix/PartialTrace.lean:60
Uses 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.