LAPACKSupport Namespace Reference


Enumerations

enum  State {
  matrix, inverse_matrix, lu, eigenvalues,
  unusable = 0x8000
}
enum  Properties {
  general = 0, symmetric = 1, upper_triangle = 2, lower_triangle = 4,
  diagonal = 6, hessenberg = 8
}

Functions

const char * state_name (State s)
::ExceptionBaseExcState (State arg1) throw (errortext << "The function cannot be called while the matrix is in state " << state_name(arg1) )
::ExceptionBaseExcMissing (char *arg1) throw (errortext << "The function " << arg1 << " required here is missing in your LAPACK installation" )

Variables

static const char V = 'V'
static const char T = 'T'
static const char N = 'N'
static const char U = 'U'
static const int zero = 0
static const int one = 1


Enumeration Type Documentation

Most LAPACK functions change the contents of the matrix applied to to something which is not a matrix anymore. Therefore, LAPACK matrix classes in deal.II have a state flag indicating what happened to them.

Author:
Guido Kanschat, 2005
Enumerator:
matrix  Contents is actually a matrix.
inverse_matrix  Contents is the inverse of a matrix.
lu  Contents is an LU decomposition.
eigenvalues  Eigenvalue vector is filled.
unusable  Contents is something useless.

A matrix can have certain features allowing for optimization, but hard to test. These are listed here.

Enumerator:
general  No special properties.
symmetric  Matrix is symmetric.
upper_triangle  Matrix is upper triangular.
lower_triangle  Matrix is lower triangular.
diagonal  Matrix is diagonal.
hessenberg  Matrix is in upper Hessenberg form.


Function Documentation

const char* LAPACKSupport::state_name ( State  s  )  [inline]

Function printing the name of a State.

References eigenvalues, inverse_matrix, lu, matrix, and unusable.

::ExceptionBase& LAPACKSupport::ExcState ( State  arg1  )  throw (errortext << "The function cannot be called while the matrix is in state " << state_name(arg1) ) [static]

Exception thrown when a matrix is not in a suitable state for an operation. For instance, a LAPACK routine may have left the matrix in an unusable state, then vmult does not make sense anymore.

::ExceptionBase& LAPACKSupport::ExcMissing ( char *  arg1  )  throw (errortext << "The function " << arg1 << " required here is missing in your LAPACK installation" ) [static]

This exception is thrown if a certain function is not implemented in your LAPACK version.


Variable Documentation

const char LAPACKSupport::V = 'V' [static]

Character constant.

const char LAPACKSupport::T = 'T' [static]

const char LAPACKSupport::N = 'N' [static]

const char LAPACKSupport::U = 'U' [static]

Character constant.

const int LAPACKSupport::zero = 0 [static]

Integer constant.

const int LAPACKSupport::one = 1 [static]

Integer constant.


deal.II documentation generated on Wed Jul 28 23:06:55 2010 by doxygen 1.5.6