Functions | |
template<class vec_t , class vec2_t > | |
int | solve_tridiag_sym (const vec_t &diag, const vec2_t &offdiag, const vec_t &b, vec_t &x, size_t N) |
Solve a symmetric tridiagonal linear system. | |
template<class vec_t , class vec2_t > | |
int | solve_tridiag_nonsym (const vec_t &diag, const vec2_t &abovediag, const vec2_t &belowdiag, const vec_t &rhs, vec_t &x, size_t N) |
Solve an asymmetric tridiagonal linear system. | |
template<class vec_t > | |
int | solve_cyc_tridiag_sym (const vec_t &diag, const vec_t &offdiag, const vec_t &b, vec_t &x, size_t N) |
Solve a symmetric cyclic tridiagonal linear system. | |
template<class vec_t > | |
int | solve_cyc_tridiag_nonsym (const vec_t &diag, const vec_t &abovediag, const vec_t &belowdiag, const vec_t &rhs, vec_t &x, size_t N) |
Solve an asymmetric cyclic tridiagonal linear system. |
By default, all O2scl classes and functions which are not listed as being in one of O2scl 's smaller specialized namespaces are in this namespace. This namespace has been removed from the documentation to simplify the formatting.
For a full list of all the O2scl classes, see Data Structures. For a full list of all the O2scl global objects which are not classes, see Files::Globals.
int o2scl::solve_cyc_tridiag_nonsym | ( | const vec_t & | diag, | |
const vec_t & | abovediag, | |||
const vec_t & | belowdiag, | |||
const vec_t & | rhs, | |||
vec_t & | x, | |||
size_t | N | |||
) | [inline] |
Solve an asymmetric cyclic tridiagonal linear system.
This function solves the following system w/o the corner elements and then use Sherman-Morrison formula to compensate for them
* * diag[0] abovediag[0] 0 ..... belowdiag[N-1] * belowdiag[0] diag[1] abovediag[1] ..... * 0 belowdiag[1] diag[2] * 0 0 belowdiag[2] ..... * ... ... * abovediag[N-1] ...
Definition at line 319 of file tridiag_base.h.
int o2scl::solve_cyc_tridiag_sym | ( | const vec_t & | diag, | |
const vec_t & | offdiag, | |||
const vec_t & | b, | |||
vec_t & | x, | |||
size_t | N | |||
) | [inline] |
Solve a symmetric cyclic tridiagonal linear system.
* * diag[0] offdiag[0] 0 ..... offdiag[N-1] * offdiag[0] diag[1] offdiag[1] ..... * 0 offdiag[1] diag[2] * 0 0 offdiag[2] ..... * ... ... * offdiag[N-1] ...
Definition at line 216 of file tridiag_base.h.
int o2scl::solve_tridiag_nonsym | ( | const vec_t & | diag, | |
const vec2_t & | abovediag, | |||
const vec2_t & | belowdiag, | |||
const vec_t & | rhs, | |||
vec_t & | x, | |||
size_t | N | |||
) | [inline] |
Solve an asymmetric tridiagonal linear system.
This function uses plain gauss elimination, only not bothering with the zeroes.
* * diag[0] abovediag[0] 0 ..... * belowdiag[0] diag[1] abovediag[1] ..... * 0 belowdiag[1] diag[2] * 0 0 belowdiag[2] .....
Definition at line 145 of file tridiag_base.h.
int o2scl::solve_tridiag_sym | ( | const vec_t & | diag, | |
const vec2_t & | offdiag, | |||
const vec_t & | b, | |||
vec_t & | x, | |||
size_t | N | |||
) | [inline] |
Solve a symmetric tridiagonal linear system.
* * diag[0] offdiag[0] 0 ..... * offdiag[0] diag[1] offdiag[1] ..... * 0 offdiag[1] diag[2] * 0 0 offdiag[2] .....
Definition at line 68 of file tridiag_base.h.
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page