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


Member Function Documentation

int LaTridiagFactDouble::size ( ) [inline]
const LaVectorDouble & LaTridiagFactDouble::diag ( int  k) const [inline]