Documentation

CsdLean4.Mathlib.QuantumInfo.ReedMuller15Code

The [[15, 1, 3]] code space and its transversal T #

Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #76, part (b) of R-004 (specs/magic-plan.md, "The split").

The logical states of the [[15, 1, 3]] quantum Reed–Muller code, in the coordinate-operator model of Pauli.lean/Magic.lean on QReg 15: |0̄⟩ = ∑_{x ∈ C} |x⟩ and |1̄⟩ = ∑_{x ∈ C} |x + 𝟙⟩, with C the [15, 4] simplex code spanned by the four rows of the parity-check matrix (ReedMuller15.col), unnormalised (‖·‖ = 4). The X-stabilisers X^{row i} permute the codewords and fix both logical states (pauliOp_row_logical0/1). Every codeword has weight 0 or 8 and every word of the coset C + 𝟙 has weight 7 or 15 (weight_codeword, weight_codeword_add_one, finite checks), so the transversal T, T^{⊗15}, whose coordinate action is |x⟩ ↦ e^{iπ|x|/4}|x⟩, fixes |0̄⟩ and multiplies |1̄⟩ by e^{−iπ/4}: it acts on the logical qubit as T†. Applied to the encoded |+̄⟩ = |0̄⟩ + |1̄⟩ it produces the encoded T†|+⟩, the magic state up to the Clifford S (S T† = T).

Honest scope #

⚠️ The code space is presented by its two logical states, not as the range of the fourteen-generator stabiliser average of Stabilizer.lean; the Z-stabilisers and the action of Z-error patterns on the logical states are BACKLOG #77, the distillation bound #78.

References: S. Bravyi, A. Kitaev, PRA 71 (2005) 022316 §IV; E. Knill, R. Laflamme, W. Zurek, quant-ph/9610011; S. Bravyi, J. Haah, PRA 86 (2012) 052329 (triorthogonal codes); specs/magic-plan.md; specs/BACKLOG.md #76; specs/future-work.md.

The simplex code on Fin 2 labels #

def QuantumInfo.ReedMuller15.row (i : Fin 4) :
Fin 15 → Fin 2

Row i of the parity-check matrix, as a Fin 2 label.

Equations
Instances For
    def QuantumInfo.ReedMuller15.codeword (a : Fin 4 → Fin 2) :
    Fin 15 → Fin 2

    The codeword ∑ᵢ aᵢ · row i of the [15, 4] simplex code.

    Equations
    Instances For

      The weight of a Fin 2 label.

      Equations
      Instances For

        Every codeword has weight 0 or 8.

        Every word of the coset C + 𝟙 has weight 7 or 15.

        X^{row i} permutes the codewords: codeword a + row i = codeword (a + eᵢ).

        The logical states and the X-stabilisers #

        |0̄⟩ = ∑_{x ∈ C} |x⟩ (unnormalised).

        Equations
        Instances For

          |1̄⟩ = ∑_{x ∈ C} |x + 𝟙⟩ (unnormalised).

          Equations
          Instances For

            The encoded |+̄⟩, unnormalised: |0̄⟩ + |1̄⟩.

            Equations
            Instances For
              theorem QuantumInfo.ReedMuller15.fin2_add_add_self (x a : Fin 15 → Fin 2) :
              x + a + a = x

              X^a moves a basis state: X^a |x⟩ = |x + a⟩.

              ★ The X-stabilisers fix |0̄⟩.

              ★ The X-stabilisers fix |1̄⟩.

              The transversal T #

              noncomputable def QuantumInfo.ReedMuller15.tTrans (ψ : QReg 15) :
              QReg 15

              The transversal T gate T^{⊗15}: |x⟩ ↦ e^{iπ|x|/4}|x⟩.

              Equations
              Instances For
                @[simp]
                theorem QuantumInfo.ReedMuller15.tTrans_apply (ψ : QReg 15) (z : Fin 15 → Fin 2) :
                (tTrans ψ).ofLp z = tPhase ^ wt z * ψ.ofLp z
                theorem QuantumInfo.ReedMuller15.wt_eq_sum (z : Fin 15 → Fin 2) :
                wt z = ∑ j : Fin 15, ↑(z j)
                theorem QuantumInfo.ReedMuller15.tTrans_eq_comp (ψ : QReg 15) :
                tTrans ψ = tGate 0 (tGate 1 (tGate 2 (tGate 3 (tGate 4 (tGate 5 (tGate 6 (tGate 7 (tGate 8 (tGate 9 (tGate 10 (tGate 11 (tGate 12 (tGate 13 (tGate 14 ψ))))))))))))))

                Transversality: tTrans is the composite of the fifteen single-qubit T gates.

                theorem QuantumInfo.ReedMuller15.tTrans_sum {κ : Type u_1} (s : Finset κ) (f : κ → QReg 15) :
                tTrans (∑ k ∈ s, f k) = ∑ k ∈ s, tTrans (f k)

                ★★ T^{⊗15} fixes |0̄⟩: every codeword has weight 0 or 8.

                ★★ T^{⊗15} multiplies |1̄⟩ by e^{−iπ/4}: every word of the coset has weight 7 or 15. Together with tTrans_logical0: the transversal T is the logical T†.

                ★ The encoded magic state: T^{⊗15}|+̄⟩ = |0̄⟩ + e^{−iπ/4}|1̄⟩, the encoded T†|+⟩.