OAI/Analysis/MutuallyUnbiased/Completion/Superoperator.lean
21 declarations, 0 contain sorry, 0 declared as axioms
Realignment of a self-adjoint projection
The complement operator in Weiner's argument is an orthogonal projection whose matrix is invariant under realignment. Its columns therefore form a finite Kraus family; choosing an orthonormal basis of its range is unnecessary.
- def
OAI.MUB6.Weiner.applySuperline 21Source documentation
Apply a matrix on pairs of indices to an ordinary matrix.
def applySuper (C : Matrix (n × n) (n × n) ℂ) (X : Matrix n n ℂ) : Matrix n n ℂ := …
- lemma
OAI.MUB6.Weiner.applySuper_addline 25 - lemma
OAI.MUB6.Weiner.applySuper_subline 31 - lemma
OAI.MUB6.Weiner.applySuper_smulline 37 - lemma
OAI.MUB6.Weiner.applySuper_real_smulline 43 - lemma
OAI.MUB6.Weiner.applySuper_oneline 47 - lemma
OAI.MUB6.Weiner.applySuper_add_leftline 52 - lemma
OAI.MUB6.Weiner.applySuper_sub_leftline 58 - lemma
OAI.MUB6.Weiner.applySuper_sum_leftline 64 - def
OAI.MUB6.Weiner.superColumnline 72Source documentation
A column of a superoperator, reshaped as an ordinary matrix.
def superColumn (C : Matrix (n × n) (n × n) ℂ) (p : n × n) : Matrix n n ℂ := …
- def
OAI.MUB6.Weiner.IsRealignedline 76Source documentation
The realignment symmetry relevant to a Kraus decomposition.
def IsRealigned (C : Matrix (n × n) (n × n) ℂ) : Prop := …
- lemma
OAI.MUB6.Weiner.superColumn_fixedline 80 - lemma
OAI.MUB6.Weiner.applySuper_one_entryline 85 - theorem
OAI.MUB6.Weiner.applySuper_traceline 90Source documentation
A self-adjoint unital superoperator preserves the ordinary matrix trace.
theorem applySuper_trace (C : Matrix (n × n) (n × n) ℂ) (hherm : Cᴴ = C) (hunital : applySuper C 1 = 1) (X : Matrix n n ℂ) : (applySuper C X).trace = X.trace := by …Mentions: OAI.MUB6.Weiner.applySuper
- theorem
OAI.MUB6.Weiner.applySuper_eq_kraus_columnsline 112Source documentation
A Hermitian idempotent invariant under realignment is a Kraus sum of its reshaped columns.
theorem applySuper_eq_kraus_columns (C : Matrix (n × n) (n × n) ℂ) (hherm : Cᴴ = C) (hidem : C * C = C) (hreal : IsRealigned C) (X : Matrix n n ℂ) : applySuper C X = kraus (superColumn C) X := by …Mentions: OAI.MUB6.Weiner.IsRealigned, OAI.MUB6.Weiner.applySuper, OAI.MUB6.Weiner.kraus, OAI.MUB6.Weiner.superColumn
- lemma
OAI.MUB6.Weiner.applySuper_conjTransposeline 144 - lemma
OAI.MUB6.Weiner.applySuper_eq_sum_smul_columnsline 150 - theorem
OAI.MUB6.Weiner.commute_of_super_fixedline 158Source documentation
Every fixed point of a unital realigned orthogonal projection commutes with every reshaped column of that projection.
theorem commute_of_super_fixed (C : Matrix (n × n) (n × n) ℂ) (hherm : Cᴴ = C) (hidem : C * C = C) (hreal : IsRealigned C) (hunital : applySuper C 1 = 1) (X : Matrix n n ℂ) (hX : applySuper C X = X) (p : n × n) : Commute X (superColumn C p) := by …Mentions: OAI.MUB6.Weiner.IsRealigned, OAI.MUB6.Weiner.applySuper, OAI.MUB6.Weiner.superColumn
- theorem
OAI.MUB6.Weiner.super_fixedPoints_commuteline 176Source documentation
The entire fixed space is commutative. Its elements are linear combinations of the reshaped columns, which all commute with every fixed point.
theorem super_fixedPoints_commute (C : Matrix (n × n) (n × n) ℂ) (hherm : Cᴴ = C) (hidem : C * C = C) (hreal : IsRealigned C) (hunital : applySuper C 1 = 1) (X Y : Matrix n n ℂ) (hX : applySuper C X = X) (hY : applySuper C Y = Y) : Commute X Y := by …Mentions: OAI.MUB6.Weiner.IsRealigned, OAI.MUB6.Weiner.applySuper
- theorem
OAI.MUB6.Weiner.superColumns_commuteline 186Source documentation
In particular the reshaped columns all commute.
theorem superColumns_commute (C : Matrix (n × n) (n × n) ℂ) (hherm : Cᴴ = C) (hidem : C * C = C) (hreal : IsRealigned C) (hunital : applySuper C 1 = 1) (p q : n × n) : Commute (superColumn C p) (superColumn C q) := …Mentions: OAI.MUB6.Weiner.IsRealigned, OAI.MUB6.Weiner.applySuper, OAI.MUB6.Weiner.superColumn
- theorem
OAI.MUB6.Weiner.hermitian_idempotent_eq_zero_of_trace_zeroline 194Source documentation
A Hermitian idempotent with zero trace is zero.
theorem hermitian_idempotent_eq_zero_of_trace_zero {I : Type*} [Fintype I] (C : Matrix I I ℂ) (hherm : Cᴴ = C) (hidem : C * C = C) (htrace : C.trace = 0) : C = 0 := by …