conatus.expert.propagator¶
- conatus.expert.propagator(op, t0, T, steps, scheme, backend='cpu')[source]¶
Φ mapping state coefficients at t0 to state coefficients at t0 + T (returned on host).
periodandharmonics(dict m -> B_m, B(t) = sum_m e^{2 pi i m t / period} B_m), such asconatus.growth.periodic.PeriodicOperator.The step is dt = T / steps exactly, so the output time is never rounded (a rounded or zero horizon gives wrong gains without any error). T > 0 is required.
Same scheme and arithmetic class as stepping the unit states one step at a time (the step-by-step reference is kept as a test oracle, equal to round-off): Φ is the ordered product of the one-step maps S(t_k), t_k = t0 + k dt. Each S(t_k) is assembled from the harmonics of the step (
step_harmonics, degree checked to round-off), then the maps are multiplied in batches by pairwise batched products. No Python loop over time steps: Python only loops over batches of steps and over log2(batch) levels.- Parameters:
op (object)
t0 (float)
T (float)
steps (int)
scheme (str)
backend (str)
- Return type:
ndarray