Skip to content

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}\).