QuantumComputinglib learn · inspect · formalize
Checked on this commit 4,524 public declarations commit c681192368c2 Build record

Lean source module

QuantumBlockEncoding/HermitePolynomialPreparation.lean

1 explicit public declarations in source order.

Back to Library Explorer

theorem · line 22

QuantumBlockEncoding.HermitePolynomialPreparation.exists_polynomial_preparation

Compiled Compiled

Lean checks the proposition indexed as “exists polynomial preparation”; the hypotheses and conclusion in the code panel fix its exact scope. For 'n+1' data qubits, the additional register has 'ceil(log2(2*k+6))' wires.

theorem exists_polynomial_preparation (k n : Nat) (L : ℝ) (hL : 0 < L) :
    ∃ circuit : PrimitiveCircuit ((n + 1) + bondQubits k),
      circuit.gateCount ≤ 48 * (n + 1) * (2 * k + 6) ^ 3 ∧
      circuit.resource.oracleCalls = 0 ∧
      evalPrimitiveCircuit circuit ∈
        _root_.Matrix.unitaryGroup (PrimitiveBasis ((n + 1) + bondQubits k)) ℂ ∧
      ∀ (x : PrimitiveBasis (n + 1)) (b : PrimitiveBasis (bondQubits k)),
        evalPrimitiveCircuit circuit (Fin.append x b) (fun _ => 0) =
          if b = (fun _ => 0) then
            HermiteStatePreparation.normalizedAmplitude k (n + 1) L
              (primitiveBasisLEEquiv (n + 1) x) else 0 := by

commit-pinned source · Verso Blueprint panel