MethodLayer 0
Homotopy-perturbation series, embedded as a linear ODE
Embed the homotopy-perturbation series into a finite-dimensional linear ODE system and solve that with a quantum linear-ODE algorithm, obtaining a state -close to the normalized exact solution with success probability.
Access oracles for the components of (for example a linear part , a quadratic part , a forcing term ), a preparation unitary for , the evolution time , and an error tolerance .
A normalized state -close to , a history state over , or an estimate of an observable of the solution.
Same contract as the slot it fills.
This one, drawn
From Nonlinear initial-value problem to Answer about the solution
A circle is an object you are holding. This method is drawn heavier, opened into its own steps; the other lines between the same two ends are the alternatives recorded for the same slot. Circles are named on hover, and each one is a link.
4 lines here have ways through that this figure does not open. The map opens them in place. See it on the map
What it fills
- Solve a nonlinear ODE dy/dt = F(y)
Given access to a nonlinear vector field — in practice quadratic or polynomial — and a preparation unitary for the initial state, produce a quantum state proportional to or an estimate of an observable of it. Quantum time evolution is linear, so no quantum primitive acts on this contract directly.
When it applies
Stated for -dimensional nonlinear dissipative ODEs. Krovi notes that the logarithmic dependence on error achieved here holds only for homogeneous nonlinear equations, and that this route, like Liu et al., additionally requires normality of the matrix modelling dissipation.
Requires
Every step this method names moves its route along, so there is nothing it needs alongside them.
Example
given n-dimensional quadratic ODEs du/dt = F_1 u + F_2 u^{(x)2}, u(0) = u_in
F_1, F_2 time-independent and s-sparse
F_1 normal, eigenvalues Re(lambda_n) <= ... <= Re(lambda_1) < 0
oracles O_F1, O_F2 for nonzero positions and values of F_1, F_2
oracle O_u : |0> -> |u_in / ||u_in|| >
horizon T, error budget eps
# the parameter that characterises the nonlinearity, Eq.(3)
K = 4 ||u_in|| ||F_2|| / |Re(lambda_1)|
# require K < sqrt(2)/2 -- stronger than the K < 1 convergence alone needs
# if K < ||u_in||, rescale u -> zeta u by a constant that leaves K unchanged
eta = ||u_in|| / ||u(T)||
eta' = eta K / ||u_in||
g = max_{t in [0,T]} || |y(t)> || / || |y(T)> ||
c = ceil( log_{1/K}( 4 ||u_in|| / ((1-K) eps eta) ) ) # truncation order
# require (c+1) ||F_2|| / |Re(lambda_1)| <= 1
# --- nonlinear-linear-embedding, via homotopy-perturbation-lift --------------
build dy/dt = A y, y(0) = y_in # Eq.(8); N ~ (n+1)^{c+1}
# embed the homotopy-perturbation series into a finite-dimensional linear
# ODE system -- the whole of that construction is the lift's own card
# what comes back: sparsity O(s c^2), ||A|| <= (c+1)(||F_1|| + ||F_2||),
# Re(gamma_i) < 0 for every eigenvalue of A,
# the lift y_in, and the readout: the first block of y is utilde
# O_A costs O(c) queries to O_F1 and O(1) queries to O_F2 (Lemma 6)
# |0>|y_in> is prepared with O(c) queries to O_u (Lemma 1)
# --- linear-ode-solve --------------------------------------------------------
h = T / ceil(T ||A||)
m = p = T/h = ceil(T ||A||)
delta = eps sqrt(1 - 2K^2) / (30 sqrt(78 m) g eta') # the solver's budget
Omega = 50 m (c+1)(c+2) g / delta
k = floor( 2 log(Omega) / log(log(Omega)) ) # so that (k+1)! >= Omega
repeat O( g eta' / sqrt(1 - 2K^2) ) times, coherently -- amplitude amplification:
prepare |0>|y_in>
assemble C_{m,k,p}(Ah) |x> = |0>|y_in> # Eq.(21), Eq.(22)
Taylor-term rows : |x_{i,1}> = Ah |x_{i,0}>,
|x_{i,j}> = (Ah/j) |x_{i,j-1}>, 2 <= j <= k
step-closing row : |x_{i,0}> = sum_{j=0..k} |x_{i-1,j}>
padding rows : |x_{m,j}> = |x_{m,j-1}>, 1 <= j <= p
# sparsity s_C < k + c^2 s
# condition no. kappa_C <= 2 e sqrt(k) (m(k+1)+p)(c+2) (Lemma 8)
solve that system with the quantum linear system algorithm, to within delta
of the normalised solution
# this route reduces to a quantum linear solve; it does not remove it
# --- measurement, in two steps (Sect. III D) ---
measure the first register of |x>
accept iff the outcome lies in S = {m(k+1), ..., m(k+1)+p}
# those p+1 blocks all hold |y(T)>
# probability >= 1 / (p + 77 m g^2) (Lemma 11)
measure the block register of |y(T)> = sum_{i,j} |i,j> |y_{i,j}(T)>
accept iff the outcome is |0,0>
# that block is utilde(T) = nu_0 + ... + nu_c
# probability >= (1 - 2K^2) / (1 - 2K^2 + 2 eta'^2) (Lemma 12)
return the remaining register -- a state eps-close to the normalized exact
solution u(T)/||u(T)||, with Omega(1) success probability
# query complexity for O_F1, O_F2, O_u:
# O( g eta s T (||F_1|| + ||F_2||) / (sqrt(1-2K^2) ||u_in||)
# * poly log( g eta s T ||F_1|| ||F_2|| / (eps (1-2K^2) ||u_in||) ) )
# gate complexity is larger by a factor O(poly log(n g eta s T ||F_1|| ||F_2||
# / (eps (1-2K^2) ||u_in||)))
# quoted on this record as O(g eta T poly(log(nT/eps)))Cost, as the source states it
, where and measure the decay of the solution, is the dimension, the evolution time and the error.
Implementations
Nobody has written one up yet. That is a gap in this record, not a statement that the method has never been run — the paper register already records, per paper, which sources report numerics or a hardware run.
What it needs
- Embed a nonlinear system into a linear one 6 methods
Given a nonlinear vector field , produce a (truncated) linear generator on a lifted space, a lift of the initial condition into that space, and a decoding of the target quantity, such that linear evolution reproduces the nonlinear dynamics to accuracy . The truncation or lift parameter fixes both the accuracy and the dimension.
- Solve a linear ODE du/dt = A(t)u + b(t) 9 methods
Given block-encoding access to and and a preparation unitary for , output a normalized state -close to . Matrix-query and state-preparation-query counts are stated separately, because methods here differ in them independently.
Other ways to fill the same slot
Different approaches
- Quantum Carleman linearization algorithm
Carleman-linearize the quadratic ODE, discretize with forward Euler, assemble the whole history into one large sparse linear system, and solve that system with a quantum linear system algorithm. This is the route that made dissipative nonlinear ODEs tractable in evolution time.
- Quantum simulation of the KvN representation
Because the Koopman-von Neumann generator is Hermitian and its propagator unitary, the lifted evolution can be run by Hamiltonian simulation directly. No linear system is assembled and no linear solver is called.
- Level-set method for observables of nonlinear PDEs
Use the exact level-set mapping to a linear PDE, solve the linear problem quantumly, and compute physical observables from it. For sets of initial data the cost does not grow with .
In the Atlas
No record in the Atlas covers this yet. The catalogue is circuits and primitives; this part of the literature is not in it.