o2scl Namespace Reference


Detailed Description

The main O2scl namespace.

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.


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.


Function Documentation

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.

solve 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 289 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.

for description of method see [Engeln-Mullges + Uhlig, p. 96]

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 189 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.

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 122 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.

Idea for future:
Convert into class for memory managment and combine with other functions below
For description of method see [Engeln-Mullges + Uhlig, p. 92]

diag[0] offdiag[0] 0 ..... offdiag[0] diag[1] offdiag[1] ..... 0 offdiag[1] diag[2] 0 0 offdiag[2] .....

Definition at line 49 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 SourceForge.net Logo, O2scl Sourceforge Project Page