HermesCommon  3.0
Hermes::Algebra Namespace Reference

Namespace containing classes for vector / matrix operations. More...

Namespaces

 DenseMatrixOperations
 Contains operation on dense matrices.
 

Classes

class  CSCMatrix
 General CSC Matrix class. (can be used in umfpack, in that case use the CSCMatrix subclass, or with EigenSolver, or anything else). More...
 
class  CSMatrix
 General CS Matrix class. Either row- or column- specific (see subclassses). More...
 
class  CSRMatrix
 General CSR Matrix class. (can be used in umfpack, in that case use the CSCMatrix subclass, or with EigenSolver, or anything else). More...
 
class  EpetraMatrix
 
class  EpetraVector
 
class  Matrix
 General (abstract) matrix representation in Hermes. More...
 
struct  mumps_type
 
struct  mumps_type< double >
 
struct  mumps_type< std::complex< double > >
 
class  MumpsMatrix
 Matrix used with MUMPS solver. More...
 
class  ParalutionMatrix
 General Paralution matrix. More...
 
class  ParalutionVector
 Class representing the vector for UMFPACK. More...
 
class  SimpleVector
 Vector used with MUMPS solver. More...
 
class  SparseMatrix
 General (abstract) sparse matrix representation in Hermes. More...
 
class  Vector
 General (abstract) vector representation in Hermes. More...
 

Enumerations

enum  MatrixExportFormat { EXPORT_FORMAT_PLAIN_ASCII = 1, EXPORT_FORMAT_MATLAB_MATIO = 4, EXPORT_FORMAT_MATRIX_MARKET = 3, EXPORT_FORMAT_MATLAB_SIMPLE = 5 }
 Format of file matrix and vector output. More...
 
enum  ParalutionMatrixType { ParalutionMatrixTypeCSR }
 

Functions

template<typename Scalar >
HERMES_API SparseMatrix< Scalar > * create_matrix (bool use_direct_solver=false)
 Function returning a matrix according to the users's choice. More...
 
template<typename Scalar >
HERMES_API Vector< Scalar > * create_vector (bool use_direct_solver=false)
 Function returning a vector according to the users's choice. More...
 
double real (double x)
 
double imag (double x)
 
double real (std::complex< double > x)
 
double imag (std::complex< double > x)
 
template<>
HERMES_API SparseMatrix< double > * create_matrix (bool use_direct_solver)
 Function returning a matrix according to the users's choice. More...
 
template<>
HERMES_API SparseMatrix
< std::complex< double > > * 
create_matrix (bool use_direct_solver)
 Function returning a matrix according to the users's choice. More...
 
template<>
HERMES_API Vector< double > * create_vector (bool use_direct_solver)
 Function returning a vector according to the users's choice. More...
 
template<>
HERMES_API Vector
< std::complex< double > > * 
create_vector (bool use_direct_solver)
 Function returning a vector according to the users's choice. More...
 
double mumps_to_Scalar (double x)
 
std::complex< double > mumps_to_Scalar (ZMUMPS_COMPLEX x)
 
double real (ZMUMPS_COMPLEX x)
 
double imag (ZMUMPS_COMPLEX x)
 
void dmumps_c (DMUMPS_STRUC_C *mumps_param_ptr)
 
void zmumps_c (ZMUMPS_STRUC_C *mumps_param_ptr)
 
ZMUMPS_COMPLEX & operator+= (ZMUMPS_COMPLEX &a, double b)
 
ZMUMPS_COMPLEX & operator+= (ZMUMPS_COMPLEX &a, std::complex< double > b)
 
ZMUMPS_COMPLEX & operator+= (ZMUMPS_COMPLEX &a, ZMUMPS_COMPLEX b)
 
ZMUMPS_COMPLEX & operator*= (ZMUMPS_COMPLEX &a, std::complex< double > b)
 
void mumps_assign_Scalar (ZMUMPS_COMPLEX &a, std::complex< double > b)
 
void mumps_assign_Scalar (double &a, double b)
 

Variables

template class HERMES_API EpetraMatrix< double >
 
template class HERMES_API EpetraVector< double >
 
template class HERMES_API MumpsMatrix< double >
 
template class HERMES_API ParalutionMatrix< double >
 
template class HERMES_API ParalutionVector< double >
 

Detailed Description

Namespace containing classes for vector / matrix operations.

Enumeration Type Documentation

Format of file matrix and vector output.

Enumerator
EXPORT_FORMAT_PLAIN_ASCII 

Plain ascii file lines contains row column and value.

EXPORT_FORMAT_MATLAB_MATIO 

Binary MATio format.

EXPORT_FORMAT_MATRIX_MARKET 

Matrix Market which can be read by pysparse library.

Definition at line 68 of file algebra_utilities.h.

Various types of matrix storage PARALUTION can do - commented out are those that are not implemented on our side so far

Definition at line 41 of file paralution_solver.h.

Function Documentation

template<typename Scalar >
HERMES_API SparseMatrix<Scalar>* Hermes::Algebra::create_matrix ( bool  use_direct_solver = false)

Function returning a matrix according to the users's choice.

Returns
created matrix

Definition at line 298 of file matrix.cpp.

template<>
HERMES_API SparseMatrix<double>* Hermes::Algebra::create_matrix ( bool  use_direct_solver = false)

Function returning a matrix according to the users's choice.

Returns
created matrix

Definition at line 298 of file matrix.cpp.

template<>
HERMES_API SparseMatrix<std::complex<double> >* Hermes::Algebra::create_matrix ( bool  use_direct_solver = false)

Function returning a matrix according to the users's choice.

Returns
created matrix

Definition at line 384 of file matrix.cpp.

template<typename Scalar >
HERMES_API Vector<Scalar>* Hermes::Algebra::create_vector ( bool  use_direct_solver = false)

Function returning a vector according to the users's choice.

Returns
created vector

Definition at line 530 of file vector.cpp.

template<>
HERMES_API Vector<double>* Hermes::Algebra::create_vector ( bool  use_direct_solver = false)

Function returning a vector according to the users's choice.

Returns
created vector

Definition at line 530 of file vector.cpp.

template<>
HERMES_API Vector<std::complex<double> >* Hermes::Algebra::create_vector ( bool  use_direct_solver = false)

Function returning a vector according to the users's choice.

Returns
created vector

Definition at line 615 of file vector.cpp.