tmath::sparse::SparseArpack Class Reference

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

#include <sparsearpack.hpp>

Collaboration diagram for tmath::sparse::SparseArpack:

Collaboration graph
[legend]

List of all members.

Public Member Functions

const MatrixEigenvalues () const
 returns the eigenvalues after solving them
const MatrixEigenvectors () const
 returns the eigenvectors after solving them
bool Largest (SymSparseMatrix &A, SymSparseMatrix &B, SparseSolver &solver, const unsigned int number)
bool Largest (SparseMatrix &A, SparseMatrix &B, SparseSolver &solver, const unsigned int number)
bool Largest (const SymSparseMatrix &A, const unsigned int number)
bool Largest (const SparseMatrix &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 (SymSparseMatrix &A, SymSparseMatrix &B, SparseSolver &solver, const double &shift, const unsigned int number)
bool ShiftInvert (SparseMatrix &A, SparseMatrix &B, SparseSolver &solver, const double &shift, const unsigned int number)
bool ShiftInvert (SymSparseMatrix &A, SparseSolver &solver, const double &shift, const unsigned int number)
bool ShiftInvert (SparseMatrix &A, SparseSolver &solver, const double &shift, const unsigned int number)
 SparseArpack ()
 default constructor
virtual ~SparseArpack ()
 destructor

Protected Types

typedef int TIndex

Protected Member Functions

MatrixEigenvalues ()
MatrixEigenvectors ()

Protected Attributes

Matrix m_eigenvalues
 stores the eigenvalues
Matrix 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

Private Member Functions

template<class SparseMatrixType>
bool LargestInternal (SparseMatrixType &A, SparseMatrixType &B, SparseSolver &solver, const unsigned int number)
template<class SparseMatrixType>
bool LargestInternal (const SparseMatrixType &A, const unsigned int number)
 internally used by Largest:
template<class SparseMatrixType>
bool ShiftInvertInternal (SparseMatrixType &A, SparseMatrixType &B, SparseSolver &solver, const double &shift, const unsigned int number)
template<class SparseMatrixType>
bool ShiftInvertInternal (SparseMatrixType &A, SparseSolver &solver, const double &shift, const unsigned int number)
 internally used by ShiftInvert:


Detailed Description

Eigen analyses solver for sparse matrices based on ARPACK.

Member Function Documentation

bool tmath::sparse::SparseArpack::Largest ( SparseMatrix A,
SparseMatrix 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 tmath::sparse::SparseArpack::Largest ( const SparseMatrix 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 tmath::sparse::SparseArpack::ShiftInvert ( SparseMatrix A,
SparseMatrix 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 tmath::sparse::SparseArpack::ShiftInvert ( SparseMatrix 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:36:01 2010 for 'tmath' Module Programming Interface by  doxygen 1.5.6