Documentation

Kraus.Real

Real #

Here we use the transpose rather than the complex conjugate transpose.

def pureState {R : Type u_1} [Mul R] [Add R] [Zero R] {k : } (e : Matrix (Fin k) (Fin 1) R) :
Matrix (Fin k) (Fin k) R
Equations
Instances For
    def pureState_projection' {k : } (e : EuclideanSpace (Fin k)) (he : e = 1) :
    IsStarProjection (pureState fun (i : Fin k) (x : Fin 1) => e.ofLp i)
    Equations
    • =
    Instances For

      Projection onto span ⟨e₁, e₂⟩ is indeed a star-projection. So we could form a PMF with two outcomes (e₁,e₂) vs. e₃.

      theorem pureState_psd {k : } (e : Matrix (Fin k) (Fin 1) ) :
      theorem nonneg_trace' {n : } {ρ : Matrix (Fin n) (Fin n) } (hρ' : ρ.PosSemidef) (e : Matrix (Fin n) (Fin 1) ) (he : WithLp.toLp 2 fun (i : Fin n) => e i 0 = 1) :
      0 (pureState e * ρ).trace

      A general reason why nonneg_trace below holds. Can be generalized to let (e * eᵀ) be any projection, see above ^^.

      theorem nonneg_trace_of_posSemidef {n : } {ρ : Matrix (Fin n) (Fin n) } (hρ' : ρ.PosSemidef) (i : Fin n) :
      0 (pureState (e i) * ρ).trace
      theorem POVM_PMF.aux₀ {k : } {ρ : Matrix (Fin k) (Fin k) } ( : ρ.trace = 1) (hρ' : ρ.PosSemidef) :
      a : Fin k, (pureState (e a) * ρ).trace, = ENNReal.toNNReal 1
      theorem standard_basis_probability_one {k : } {ρ : Matrix (Fin k) (Fin k) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
      a : Fin k, (pureState (e a) * ρ).trace, = 1
      def PVM_PMF₂₃ {ρ : Matrix (Fin 3) (Fin 3) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
      PMF (Fin 2)

      A probability measure that gives the probability of being in the xy-plane, or the z-axis, for a given PSD trace-one matrix ρ. See myPVM₂₃ below.

      Equations
      Instances For
        theorem one_eq_sum_pureState_R {k : } :
        1 = i : Fin k, pureState (e i)
        theorem trace_one_sub {k : } (acc : Fin k) {ρ : Matrix (Fin k) (Fin k) } (hPS : ρ.PosSemidef) :
        0 ((1 - pureState (e acc)) * ρ).trace
        theorem PMF_of_state.sum_one {k : } (acc : Fin k) {ρ : Matrix (Fin k) (Fin k) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
        i : Fin 2, ↑(if i = 0 then ((1 - pureState (e acc)) * ρ).trace, else (pureState (e acc) * ρ).trace, ) = 1
        def PMF_of_state {k : } (acc : Fin k) {ρ : Matrix (Fin k) (Fin k) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
        PMF (Fin 2)

        Defining a Bernoulli probability measure by declaring that e_{acc} is the accepted subspace.

        Equations
        Instances For
          noncomputable def myPVM {k : } {ρ : Matrix (Fin k) (Fin k) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
          Equations
          Instances For
            def myPVM₂₃ {ρ : Matrix (Fin 3) (Fin 3) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def PVM_of_state {k : } (acc : Fin k) {ρ : Matrix (Fin k) (Fin k) } (hUT : ρ.trace = 1) (hPS : ρ.PosSemidef) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def languageAcceptedBy {α : Type u_1} {q r : } (acceptStateIndex : Fin q.succ) (𝓚 : αFin rMatrix (Fin q.succ) (Fin q.succ) ) :
                Set ((n : ) × (Fin nα))

                1/24/26

                Equations
                Instances For
                  theorem basisState_trace_one {k : } {i : Fin k.succ} :
                  (pureState (e i)).trace = 1
                  def PVM_of_word_of_channel {α : Type u_1} {r k : } (acc : Fin k.succ) {𝓚 : αFin rMatrix (Fin k.succ) (Fin k.succ) } (h𝓚 : ∀ (a : α), QuantumChannel (𝓚 a)) (word : (n : ) × (Fin nα)) :

                  The projection-valued measure corresponding to word belong to the measure-once language of KOA 𝓚.

                  Equations
                  Instances For
                    def getPVM₃ {α : Type u_1} {r : } {𝓚 : αFin rMatrix (Fin (Nat.succ 2)) (Fin (Nat.succ 2)) } (h𝓚 : ∀ (a : α), QuantumChannel (𝓚 a)) (word : (n : ) × (Fin nα)) :
                    Equations
                    Instances For
                      def MOlanguageAcceptedBy {α : Type u_1} {r k : } (acc : Fin k.succ) {𝓚 : αFin rMatrix (Fin k.succ) (Fin k.succ) } (h𝓚 : ∀ (a : α), QuantumChannel (𝓚 a)) :
                      Set ((n : ) × (Fin nα))

                      1/25/26 We accept word if starting in e₀ we end up in e₁ with probability at least 1/2.

                      Equations
                      Instances For
                        theorem MO_language_nonempty {α : Type u_1} {r k : } {𝓚 : αFin rMatrix (Fin k.succ) (Fin k.succ) } (h𝓚 : ∀ (a : α), QuantumChannel (𝓚 a)) :

                        If the start and accept states are the same then the empty string is accepted in the measure-once setting.

                        def MOlanguageAcceptedBy₃ {α : Type u_1} {r : } (𝓚 : αFin rMatrix (Fin 3) (Fin 3) ) (h𝓚 : ∀ (a : α), QuantumChannel (𝓚 a)) :
                        Set ((n : ) × (Fin nα))

                        A word is measure-once accepted if after processing it, the probability of being in state 1 : Fin 2, is greater than 1/2.

                        Measure-Once language accepted by 𝓚 is {word | Probability that we are in state e₃, and not in the span of e₁,e₂, > 1/2}. q = 2 because we haven't generalized myPVM₂₃ yet

                        Equations
                        Instances For