pmm_tools.evolution
Coherent evolution with exact linear interpolation between control knots.
Integrate pure states with SciPy DOP853, retaining the supplied Hilbert space. Each knot is an integration boundary, so adaptive steps cannot skip a ramp.
Functions
| Name | Description |
|---|---|
evolve | Integrate the pure-state Schrödinger equation along linear controls. |
evolvefunction#
def evolve(H_static, operators, knots, values, psi0, times, *, rtol=1e-09, atol=1e-11)Integrate the pure-state Schrödinger equation along linear controls.
H_static and each control operator have shape (D, D) in the
same Fock basis as psi0 of shape (D,). The products of operator
matrices and control values have units μeV. knots is a strictly
increasing ns array and values has shape (n_knots, n_controls);
at each knot, H=H_static+sum(value*operator). Chemical potentials
are absolute unless their baseline is already in H_static.
times increases strictly in ns and includes both control endpoints,
but need not include interior knots. Return complex states of shape
(len(times), D) without renormalizing. DOP853 restarts at each knot;
rtol/atol set its local integration tolerances. The supplied
Hilbert space is retained, with no noise averaging or state projection.