38 using cplx = std::complex<double>;
57 void solve(std::vector<cplx> &d)
const;
std::complex< real > cplx
Constant-coefficient complex tridiagonal solver (precomputed LU).
std::vector< cplx > inv_b
Inverse of modified main diagonal (precomputed)
void solve(std::vector< cplx > &d) const
In-place Thomas solve.
std::complex< double > cplx
cplx a_coeff
Sub-diagonal value (constant across all rows)
void factor(int n_, cplx a_, cplx b_, cplx c_)
Factor the tridiagonal matrix.
std::vector< cplx > c_mod
Modified super-diagonal (precomputed from LU)