tngmath::SparseArpack Class Reference

Eigen analyses solver for sparse matrices based on ARPACK. More...

#include <sparsearpack.hpp>

Collaboration diagram for tngmath::SparseArpack:

Collaboration graph
[legend]

List of all members.

Public Types

typedef Matrix MatrixType
 the dense matrix/vector type for communication
typedef SparseMatrix SparseMatrixType
 the base type of sparse input

Public Member Functions

const MatrixTypeEigenvalues () const
 returns the eigenvalues after solving them
const MatrixTypeEigenvectors () const
 returns the eigenvectors after solving them
bool Largest (const SparseMatrixType &A, const SparseMatrixType &B, SparseSolver &solver, const unsigned int number)
bool Largest (const SparseMatrixType &A, const unsigned int number)
const unsigned int MaxIterations () const
 returns m_maxIter
const double Precision () const
 returns the current precision
void SetMaxIterations (unsigned int it)
 sets the max. number of allowed iterations in ARPACK
void SetPrecision (double prec)
 sets the precision of ARPACK
bool ShiftInvert (const SparseMatrixType &A, const SparseMatrixType &B, SparseSolver &solver, const double &shift, const unsigned int number)
bool ShiftInvert (const SparseMatrixType &A, SparseSolver &solver, const double &shift, const unsigned int number)
 SparseArpack ()
 default constructor
virtual ~SparseArpack ()
 destructor

Protected Member Functions

MatrixTypeEigenvalues ()
MatrixTypeEigenvectors ()

Protected Attributes

MatrixType m_eigenvalues
 stores the eigenvalues
MatrixType m_eigenvectors
 stores the eigenvectors
unsigned int m_maxIter
 stores the number of iterations for ARPACK
double m_precision
 stores the set precision for ARPACK


Detailed Description

Eigen analyses solver for sparse matrices based on ARPACK.

Member Function Documentation

bool tngmath::SparseArpack::Largest ( const SparseMatrixType A,
const SparseMatrixType B,
SparseSolver solver,
const unsigned int  number 
)

given a generalized symmetric eigen problem, this method computes the largest eigenvalues using a shift-inverse transformation.

Parameters:
A the input matrix A (stiffness)
B the input matrix B (mass)
solver the solver object used for factorizing B
number the number of eigenvalues to be computed
Returns:
true if successful.

bool tngmath::SparseArpack::Largest ( const SparseMatrixType A,
const unsigned int  number 
)

given a standard symmetric eigen problem, this method computes the largest eigenvalues using a shift-inverse transformation.

Parameters:
A the input matrix
number the number of eigenvalues to be computed
Returns:
true if successful.

bool tngmath::SparseArpack::ShiftInvert ( const SparseMatrixType A,
const SparseMatrixType B,
SparseSolver solver,
const double &  shift,
const unsigned int  number 
)

given a generalized symmetric eigen problem, this method computes the smallest eigenvalues using a shift-inverse transformation.

Parameters:
A the input matrix A (stiffness)
B the input matrix B (mass)
solver the solver object used for factorizing A
shift the shifting parameter (lower bound)
number the number of eigenvalues to be computed
Returns:
true if successful.

bool tngmath::SparseArpack::ShiftInvert ( const SparseMatrixType A,
SparseSolver solver,
const double &  shift,
const unsigned int  number 
)

given a standard symmetric eigen problem, this method computes the smallest eigenvalues using a shift-inverse transformation.

Parameters:
A the input matrix
solver the solver object used for factorizing A
shift the shifting parameter (lower bound)
number the number of eigenvalues to be computed
Returns:
true if successful.


The documentation for this class was generated from the following file:

Generated on Wed Nov 17 17:35:51 2010 for 'tngmath' Module Programming Interface by  doxygen 1.5.6