The polynomial method for value and XOR query oracles #
Ported from the corresponding upstream modules listed by the source sections below.
References beginning with Source name these retained sections.
Real polynomials on the Boolean cube #
The small algebra API behind the polynomial method (SourceQuantumPolynomialMethod):
bit b, the0/1real value of a Boolean, andevalBool p a, the evaluation of a real multivariate polynomial at a Boolean point of the cube (any finite index typeι);select i P₀ P₁ = (1 − Xᵢ)·P₀ + Xᵢ·P₁, which on the cube evaluates to the polynomial selected by thei-th bit and raises the degree bound by one — the one operation an oracle query performs on an amplitude;AmpPoly ι, a pair of real polynomials representing the real and imaginary parts of a complex amplitude, with the complex-scalar action and sums needed to push an input-independent unitary through a representation. Working with two real polynomials avoids any coefficient-ring map:Complex.reis not a ring homomorphism.
Everything is stated for arbitrary finite ι, including Fin n.
Bits and evaluation #
Evaluating a real multivariate polynomial at a Boolean point of the cube.
Equations
- QuantumQueryComplexity.evalBool p a = (MvPolynomial.eval fun (i : ι) => QuantumQueryComplexity.bit (a i)) p
Instances For
Total-degree conveniences #
The selector #
select i P₀ P₁ = (1 − Xᵢ)·P₀ + Xᵢ·P₁: on the cube, P₁ where the i-th bit is set
and P₀ where it is not.
Equations
- QuantumQueryComplexity.select i P₀ P₁ = (1 - MvPolynomial.X i) * P₀ + MvPolynomial.X i * P₁
Instances For
Amplitude polynomials #
A complex amplitude, as a function of the input, is represented by two real polynomials: its real and its imaginary part.
A pair of real polynomials, standing for re + im·I.
- re : MvPolynomial ι ℝ
The real part.
- im : MvPolynomial ι ℝ
The imaginary part.
Instances For
The complex value at a Boolean point.
Equations
- P.evalC a = { re := QuantumQueryComplexity.evalBool P.re a, im := QuantumQueryComplexity.evalBool P.im a }
Instances For
Both parts have total degree at most t.
Equations
- P.DegLe t = (P.re.totalDegree ≤ t ∧ P.im.totalDegree ≤ t)
Instances For
The constant amplitude z.
Equations
- QuantumQueryComplexity.AmpPoly.const z = { re := MvPolynomial.C z.re, im := MvPolynomial.C z.im }
Instances For
Multiplication by a fixed complex scalar z:
(x + y I)(re + im I) = (x·re − y·im) + (y·re + x·im) I.
Equations
- QuantumQueryComplexity.AmpPoly.cmul z P = { re := MvPolynomial.C z.re * P.re - MvPolynomial.C z.im * P.im, im := MvPolynomial.C z.im * P.re + MvPolynomial.C z.re * P.im }
Instances For
The selector, applied to both parts.
Equations
- QuantumQueryComplexity.AmpPoly.select i P₀ P₁ = { re := QuantumQueryComplexity.select i P₀.re P₁.re, im := QuantumQueryComplexity.select i P₀.im P₁.im }
Instances For
The squared modulus re² + im², a real polynomial of twice the degree.
Instances For
The polynomial method (Beals–Buhrman–Cleve–Mosca–de Wolf) #
A quantum algorithm making t queries to a Boolean input has, at every basis state, an
amplitude whose real and imaginary parts are real polynomials of total degree at most t
in the input bits; its acceptance probabilities are therefore polynomials of degree at most
2·t. This is Lemmas 4.1 and 4.2 of Quantum Lower Bounds by Polynomials
(arXiv:quant-ph/9802049), proved here from the operational model of SourceQuantumAlgorithm.
The induction is stated once, for an arbitrary finite basis B and any oracle whose
action on a basis state is either input-independent or selected by one input bit
(HasAmpPoly.selector); the native value oracle (oracleMap) and the XOR oracle
(SourceQuantumXorPolynomialMethod) are two instances. No query simulation between the models
is used, so both get the degree bound 2·t, never 4·t.
Main statements:
QAlg.hasAmpPoly_state: the amplitudes aftertqueries have degree≤ t;QAlg.exists_probability_polynomial: output probabilities have degree at most2·t;QAlg.exists_event_polynomial: the same for the probability of a set of outputs;ComputesWithErrorOn.exists_approx_polynomial: at-query algorithm computing a Booleanfon a promise with errorεyields a degree-≤ 2tpolynomial withinεofbit ∘ fon the promise, with values in[0, 1]on the whole cube.
Representations of input-dependent vectors #
Represents Φ φ t: the amplitude polynomials Φ b represent the input-dependent vector
φ, with both parts of degree at most t.
Equations
Instances For
φ has a representation of degree at most t.
Equations
- QuantumQueryComplexity.HasAmpPoly φ t = ∃ (Φ : B → QuantumQueryComplexity.AmpPoly ι), QuantumQueryComplexity.Represents Φ φ t
Instances For
An input-independent linear map preserves the degree bound.
A selector oracle raises the degree bound by one. An oracle whose action on each basis state is either input-independent or the choice between two fixed basis states made by one input bit.
From amplitudes to probabilities #
The probability polynomial: the measured probability of an output is a real
polynomial of degree at most 2·t.
The probability of an event (a finite set of outputs).
The native value oracle #
The native oracle is a selector oracle: idle on index none, and at index some i a
swap determined by the bit a i.
Amplitudes after t queries have degree at most t (BBCMW Lemma 4.1).
The polynomial method (BBCMW Lemma 4.2): the probability that a t-query
algorithm announces o is a real polynomial of total degree at most 2·t in the input
bits, exactly, on the whole Boolean cube.
The probability of announcing an output in E.
Probability bounds on the whole cube #
The probability bound specialized to the polynomial-method interface.
With finitely many outputs the output polynomials sum to 1 on the cube.
Correctness: the acceptance polynomial approximates the function #
p approximates the Boolean function f on the promise read within ε.
Equations
- QuantumQueryComplexity.ApproximatesOn p read f ε = ∀ (x : X), |QuantumQueryComplexity.evalBool p (read x) - QuantumQueryComplexity.bit (f x)| ≤ ε
Instances For
Two probabilities of a Boolean-output algorithm: correctness on true and on
false, translated into a two-sided bound on the acceptance probability.
Correctness transfers to the polynomial.
The approximating polynomial of a bounded-error algorithm: degree at most 2·t,
within ε of bit ∘ f on the promise, and with values in [0, 1] on the entire cube.
The polynomial method for the XOR oracle #
The same induction as SourceQuantumPolynomialMethod, run on the XOR-oracle semantics xorState
of SourceQuantumXorOracle. The XOR oracle is again a selector oracle (idle at index
none; at index some i the answer register is XORed with the bit a i), so the shared
lemma HasAmpPoly.selector applies directly and the degree bound is 2·t — the model
simulation of SourceQuantumSimulation is not used, which would have cost a factor two.
XOR amplitudes after t queries have degree at most t.
The polynomial method, XOR oracle: the acceptance probability after t XOR
queries is a real polynomial of total degree at most 2·t.
The probability of an event, XOR oracle.
Correctness transfers to the polynomial, XOR oracle.
The approximating polynomial of a bounded-error XOR algorithm.