Documentation

LeanPool.SingleCopyStabilizer.Circuit

Recorded binary Clifford circuits and exact decoding #

Each recorded outcome specifies precisely the CNOTs and correction used by one learning round. Lists are chronological: the head is performed first. The inverse acts on the final computational basis vector to reconstruct the original amplitude, with its physically irrelevant global phase explicit.

The simultaneous CNOT operation, with its explicit inverse permutation.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem LeanPool.SingleCopyStabilizer.Circuit.cnotEquiv_apply {ι : Type u_1} (i : ι) (w : Measurement.Bits ι) (hw : w i = 0) (ψ : Measurement.Amplitude ι) :
    (cnotEquiv i w hw) ψ = CNOTAction.applyCNOTs i w hw ψ
    @[simp]
    theorem LeanPool.SingleCopyStabilizer.Circuit.cnotEquiv_symm_apply {ι : Type u_1} (i : ι) (w : Measurement.Bits ι) (hw : w i = 0) (ψ : Measurement.Amplitude ι) :
    (cnotEquiv i w hw).symm ψ = fun (x : Measurement.Bits ι) => ψ ((CNOTAction.basisShear i w hw) x)

    The correction is H for bit zero and HS for bit one.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The pivot-coordinate vanishes in the CNOT target vector.

      The physical Clifford operation determined by the sampled difference and the correction coin. A zero difference records the identity operation.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[reducible, inline]

        A recorded outcome is sufficient to specify all gates in a round.

        Equations
        Instances For
          @[simp]
          theorem LeanPool.SingleCopyStabilizer.Circuit.circuitEquiv_cons_apply {ι : Type u_1} [Fintype ι] [DecidableEq ι] (op : Outcome ι) (ops : List (Outcome ι)) (ψ : Measurement.Amplitude ι) :
          (circuitEquiv (op :: ops)) ψ = (circuitEquiv ops) ((roundEquiv op.1 op.2) ψ)

          Computational basis amplitudes, with value one at the chosen string.

          Equations
          Instances For

            Classical description of the learned state: undo the recorded circuit on the final measured basis string.

            Equations
            Instances For
              @[simp]
              theorem LeanPool.SingleCopyStabilizer.Circuit.decode_cons {ι : Type u_1} [Fintype ι] [DecidableEq ι] (op : Outcome ι) (ops : List (Outcome ι)) (z : Measurement.Bits ι) :
              decode (op :: ops) z = (roundEquiv op.1 op.2).symm (decode ops z)

              Inverting the recorded circuit recovers the original amplitude with the same global phase as its final computational basis amplitude.

              theorem LeanPool.SingleCopyStabilizer.Circuit.smul_basis {ι : Type u_1} [Fintype ι] (z : Measurement.Bits ι) (c : ℂ) :
              c • basis z = fun (x : Measurement.Bits ι) => if x = z then c else 0
              theorem LeanPool.SingleCopyStabilizer.Circuit.reconstruction_of_basis_amplitude {ι : Type u_1} [Fintype ι] [DecidableEq ι] (ops : List (Outcome ι)) (ψ : Measurement.Amplitude ι) (z : Measurement.Bits ι) (c : ℂ) (h : (circuitEquiv ops) ψ = fun (x : Measurement.Bits ι) => if x = z then c else 0) :
              ψ = c • decode ops z

              Version matching StabilizerState.full_diagonal_basis_amplitude.

              If the input is normalized, the scalar occurring at a basis-vector endpoint must have unit modulus.

              The circuit endpoint condition and exact recovery up to a specified global phase are equivalent.