num::dispatch::subspace::arnoldi_step¶
Defined in header <linear/subspace.hpp>
template <class Op>
requires requires(const Op &A, const vec<real> &x, vec<real> &y) { A.apply(x, y); }
real arnoldi_step(const Op &A, array<vec<real>> &basis, array<real> &h, idx k,
vec<real> &scratch, real breakdown_tol = real(1e-14));
One Arnoldi iteration step: expands orthonormal Krylov basis \(V_k \to V_{k+1}\).