Lapack++
Public Member Functions
LaTridiagFactDouble Class Reference

#include <trfd.h>

List of all members.

Public Member Functions

 LaTridiagFactDouble ()
 LaTridiagFactDouble (int)
 LaTridiagFactDouble (LaTridiagFactDouble &)
 ~LaTridiagFactDouble ()
LaTridiagMatDoubleT ()
LaVectorLongIntpivot ()
int size ()
LaVectorDoublediag (int)
const LaVectorDoublediag (int k) const
LaTridiagFactDoubleref (LaTridiagMatDouble &)
LaTridiagFactDoubleref (LaTridiagFactDouble &)
LaTridiagFactDoublecopy (const LaTridiagMatDouble &)
LaTridiagFactDoublecopy (const LaTridiagFactDouble &)

Detailed Description

Class for the LU factorization of a tridiagonal matrix.

See also:
LaTridiagMatDouble, LaTridiagMatFactorize()

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

Constructor & Destructor Documentation

LaTridiagFactDouble::LaTridiagFactDouble ( ) [inline]
LaTridiagFactDouble::LaTridiagFactDouble ( int  N) [inline]
LaTridiagFactDouble::LaTridiagFactDouble ( LaTridiagFactDouble F) [inline]
LaTridiagFactDouble::~LaTridiagFactDouble ( ) [inline]

Member Function Documentation

LaTridiagMatDouble& LaTridiagFactDouble::T ( ) [inline]
LaVectorLongInt& LaTridiagFactDouble::pivot ( ) [inline]
int LaTridiagFactDouble::size ( ) [inline]
LaVectorDouble & LaTridiagFactDouble::diag ( int  k) [inline]
const LaVectorDouble & LaTridiagFactDouble::diag ( int  k) const [inline]
LaTridiagFactDouble & LaTridiagFactDouble::ref ( LaTridiagMatDouble A) [inline]
LaTridiagFactDouble & LaTridiagFactDouble::ref ( LaTridiagFactDouble F) [inline]
LaTridiagFactDouble & LaTridiagFactDouble::copy ( const LaTridiagMatDouble A) [inline]
LaTridiagFactDouble & LaTridiagFactDouble::copy ( const LaTridiagFactDouble F) [inline]