HermesCommon  2.0
matrix.h File Reference

Basic matrix classes and operations. More...

#include "common.h"
#include "vector.h"
#include "exceptions.h"
#include "mixins.h"

Go to the source code of this file.

Classes

class  Hermes::Algebra::Matrix< Scalar >
 General (abstract) matrix representation in Hermes. More...
 
class  Hermes::Algebra::SparseMatrix< Scalar >
 General (abstract) sparse matrix representation in Hermes. More...
 
struct  Hermes::Algebra::SparseMatrix< Scalar >::Page
 Structure for storing indices in sparse matrix. More...
 
class  Hermes::Algebra::Vector< Scalar >
 General (abstract) vector representation in Hermes. More...
 

Namespaces

namespace  Hermes
 General namespace for the Hermes library.
 
namespace  Hermes::Algebra
 Namespace containing classes for vector / matrix operations.
 
namespace  Hermes::Algebra::DenseMatrixOperations
 Contains operation on dense matrices.
 

Enumerations

enum  MatrixSolverType {
  SOLVER_UMFPACK = 0, SOLVER_PETSC, SOLVER_MUMPS, SOLVER_SUPERLU,
  SOLVER_AMESOS, SOLVER_AZTECOO
}
 
enum  Hermes::Algebra::EMatrixDumpFormat { Hermes::Algebra::DF_MATLAB_SPARSE, Hermes::Algebra::DF_PLAIN_ASCII, Hermes::Algebra::DF_HERMES_BIN, Hermes::Algebra::DF_MATRIX_MARKET }
 Format of file matrix and vector output. More...
 

Functions

template<typename T >
T ** Hermes::Algebra::DenseMatrixOperations::new_matrix (unsigned int m, unsigned int n=0)
 
template<typename T >
T ** Hermes::Algebra::DenseMatrixOperations::new_matrix_malloc (unsigned int m, unsigned int n=0)
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::copy_matrix (T **dest, T **src, unsigned int m, unsigned int n=0)
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::save_matrix_octave (const std::string &matrix_name, T **matrix, unsigned int m, unsigned int n=0, const std::string &filename=std::string())
 Saves a dense matrix to a octave file format. More...
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::save_sparse_matrix_octave (const std::string &matrix_name, const T *Ax, const int *Ap, const int *Ai, unsigned int m, const std::string &filename=std::string())
 Saves MxM sparse matrix to a octave file format.
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::transpose (T **matrix, unsigned int m, unsigned int n)
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::chsgn (T **matrix, unsigned int m, unsigned int n)
 Changes the sign of a matrix.
 
HERMES_API void Hermes::Algebra::DenseMatrixOperations::ludcmp (double **a, int n, int *indx, double *d)
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::lubksb (double **a, int n, int *indx, T *b)
 
HERMES_API void Hermes::Algebra::DenseMatrixOperations::choldc (double **a, int n, double p[])
 
template<typename T >
void Hermes::Algebra::DenseMatrixOperations::cholsl (double **a, int n, double p[], T b[], T x[])
 
template<typename Scalar >
HERMES_API Vector< Scalar > * Hermes::Algebra::create_vector ()
 Function returning a vector according to the users's choice. More...
 
template<typename Scalar >
HERMES_API SparseMatrix< Scalar > * Hermes::Algebra::create_matrix ()
 Function returning a matrix according to the users's choice. More...
 

Detailed Description

Basic matrix classes and operations.

Definition in file matrix.h.