Lapack++
|
#include <trfd.h>
Public Member Functions | |
LaTridiagFactDouble () | |
LaTridiagFactDouble (int) | |
LaTridiagFactDouble (LaTridiagFactDouble &) | |
~LaTridiagFactDouble () | |
LaTridiagMatDouble & | T () |
LaVectorLongInt & | pivot () |
int | size () |
LaVectorDouble & | diag (int) |
const LaVectorDouble & | diag (int k) const |
LaTridiagFactDouble & | ref (LaTridiagMatDouble &) |
LaTridiagFactDouble & | ref (LaTridiagFactDouble &) |
LaTridiagFactDouble & | copy (const LaTridiagMatDouble &) |
LaTridiagFactDouble & | copy (const LaTridiagFactDouble &) |
Class for the LU factorization of a tridiagonal matrix.
Note: It is unclear whether the design of this class needs some rewriting. Currently this class is only usable for solving an equation system with a tridiagonal matrix.
As a code example for solving Ax=b with tridiagonal A, you would program the following lines:
LaTridiagMatDouble A(N); // define A A.diag(0).inject(...); // fill the matrix with values LaGenMatDouble B(N,1); // define right-hand-side B B = ...; // fill B with values from somewhere // To solve Ax=b: LaTridiagFactDouble Afact; LaGenMatDouble X(N,1); LaTridiagMatFactorize(A, Afact); // calculate LU factorization LaLinearSolve(Afact, X, B); // solve; result is in X
LaTridiagFactDouble::LaTridiagFactDouble | ( | ) | [inline] |
LaTridiagFactDouble::LaTridiagFactDouble | ( | int | N | ) | [inline] |
LaTridiagFactDouble::LaTridiagFactDouble | ( | LaTridiagFactDouble & | F | ) | [inline] |
References LaVectorLongInt::copy(), and LaTridiagMatDouble::copy().
LaTridiagFactDouble::~LaTridiagFactDouble | ( | ) | [inline] |
LaTridiagMatDouble& LaTridiagFactDouble::T | ( | ) | [inline] |
LaVectorLongInt& LaTridiagFactDouble::pivot | ( | ) | [inline] |
int LaTridiagFactDouble::size | ( | ) | [inline] |
LaVectorDouble & LaTridiagFactDouble::diag | ( | int | k | ) | [inline] |
References LaTridiagMatDouble::diag().
const LaVectorDouble & LaTridiagFactDouble::diag | ( | int | k | ) | const [inline] |
References LaTridiagMatDouble::diag().
LaTridiagFactDouble & LaTridiagFactDouble::ref | ( | LaTridiagMatDouble & | A | ) | [inline] |
References LaTridiagMatDouble::ref(), LaGenMatLongInt::resize(), and LaTridiagMatDouble::size().
LaTridiagFactDouble & LaTridiagFactDouble::ref | ( | LaTridiagFactDouble & | F | ) | [inline] |
References LaVectorLongInt::ref(), and LaTridiagMatDouble::ref().
LaTridiagFactDouble & LaTridiagFactDouble::copy | ( | const LaTridiagMatDouble & | A | ) | [inline] |
References LaTridiagMatDouble::copy(), LaGenMatLongInt::resize(), and LaTridiagMatDouble::size().
LaTridiagFactDouble & LaTridiagFactDouble::copy | ( | const LaTridiagFactDouble & | F | ) | [inline] |
References LaVectorLongInt::copy(), and LaTridiagMatDouble::copy().