File lapack_routines.hxx#

Functions

int tridag(const dcomplex *a, const dcomplex *b, const dcomplex *c, const dcomplex *r, dcomplex *u, int n)

Use LAPACK routine ZGTSV.

bool tridag(const BoutReal *a, const BoutReal *b, const BoutReal *c, const BoutReal *r, BoutReal *x, int n)
void cyclic_tridag(BoutReal *a, BoutReal *b, BoutReal *c, BoutReal *r, BoutReal *x, int n)
void cyclic_tridag(dcomplex *a, dcomplex *b, dcomplex *c, dcomplex *r, dcomplex *x, int n)

Solve a cyclic tridiagonal matrix.

void cband_solve(Matrix<dcomplex> &a, int n, int m1, int m2, Array<dcomplex> &b)

Complex band matrix solver.

Complex band solver using ZGBSV

n Size of the matrix (number of equations) kl Number of subdiagonals ku Number of superdiagonals nrhs Number of RHS vectors to solve ab Array values (2D array) ldab Leading dim. size of ab = 2*KL+KU+1 ipiv output integer array containing pivot permutation b RHS vectors, and solution ldb length of b (= n) info output status