TR-mbed 1.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::MatrixMarketIterator< Scalar > Class Template Reference

Iterator to browse matrices from a specified folder. More...

#include <MatrixMarketIterator.h>

Public Types

typedef Matrix< Scalar, Dynamic, 1 > VectorType
 
typedef SparseMatrix< Scalar, ColMajorMatrixType
 

Public Member Functions

 MatrixMarketIterator (const std::string &folder)
 
 ~MatrixMarketIterator ()
 
MatrixMarketIteratoroperator++ ()
 
 operator bool () const
 
MatrixTypematrix ()
 
VectorTyperhs ()
 
VectorTyperefX ()
 
std::string & matname ()
 
int sym ()
 
bool hasRhs ()
 
bool hasrefX ()
 
bool isFolderValid ()
 

Protected Member Functions

bool Fileexists (std::string file)
 
void Getnextvalidmatrix ()
 

Protected Attributes

int m_sym
 
MatrixType m_mat
 
VectorType m_rhs
 
VectorType m_refX
 
std::string m_matname
 
bool m_isvalid
 
bool m_matIsLoaded
 
bool m_hasRhs
 
bool m_hasrefX
 
std::string m_folder
 
DIR * m_folder_id
 
struct dirent * m_curs_id
 

Detailed Description

template<typename Scalar>
class Eigen::MatrixMarketIterator< Scalar >

Iterator to browse matrices from a specified folder.

This is used to load all the matrices from a folder. The matrices should be in Matrix Market format It is assumed that the matrices are named as matname.mtx and matname_SPD.mtx if the matrix is Symmetric and positive definite (or Hermitian) The right hand side vectors are loaded as well, if they exist. They should be named as matname_b.mtx. Note that the right hand side for a SPD matrix is named as matname_SPD_b.mtx

Sometimes a reference solution is available. In this case, it should be named as matname_x.mtx

Sample code

Template Parameters
ScalarThe scalar type

Member Typedef Documentation

◆ MatrixType

◆ VectorType

Constructor & Destructor Documentation

◆ MatrixMarketIterator()

template<typename Scalar >
Eigen::MatrixMarketIterator< Scalar >::MatrixMarketIterator ( const std::string &  folder)
inline

◆ ~MatrixMarketIterator()

template<typename Scalar >
Eigen::MatrixMarketIterator< Scalar >::~MatrixMarketIterator ( )
inline

Member Function Documentation

◆ Fileexists()

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::Fileexists ( std::string  file)
inlineprotected

◆ Getnextvalidmatrix()

template<typename Scalar >
void Eigen::MatrixMarketIterator< Scalar >::Getnextvalidmatrix ( )
inlineprotected

◆ hasrefX()

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::hasrefX ( )
inline

◆ hasRhs()

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::hasRhs ( )
inline

◆ isFolderValid()

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::isFolderValid ( )
inline

◆ matname()

template<typename Scalar >
std::string & Eigen::MatrixMarketIterator< Scalar >::matname ( )
inline

◆ matrix()

template<typename Scalar >
MatrixType & Eigen::MatrixMarketIterator< Scalar >::matrix ( )
inline

Return the sparse matrix corresponding to the current file

◆ operator bool()

template<typename Scalar >
Eigen::MatrixMarketIterator< Scalar >::operator bool ( ) const
inline

◆ operator++()

template<typename Scalar >
MatrixMarketIterator & Eigen::MatrixMarketIterator< Scalar >::operator++ ( )
inline

◆ refX()

template<typename Scalar >
VectorType & Eigen::MatrixMarketIterator< Scalar >::refX ( )
inline

Return a reference solution If it is not provided and if the right hand side is not available then refX is randomly generated such that A*refX = b where A and b are the matrix and the rhs. Note that when a rhs is provided, refX is not available

◆ rhs()

template<typename Scalar >
VectorType & Eigen::MatrixMarketIterator< Scalar >::rhs ( )
inline

Return the right hand side corresponding to the current matrix. If the rhs file is not provided, a random rhs is generated

◆ sym()

template<typename Scalar >
int Eigen::MatrixMarketIterator< Scalar >::sym ( )
inline

Member Data Documentation

◆ m_curs_id

template<typename Scalar >
struct dirent* Eigen::MatrixMarketIterator< Scalar >::m_curs_id
protected

◆ m_folder

template<typename Scalar >
std::string Eigen::MatrixMarketIterator< Scalar >::m_folder
protected

◆ m_folder_id

template<typename Scalar >
DIR* Eigen::MatrixMarketIterator< Scalar >::m_folder_id
protected

◆ m_hasrefX

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::m_hasrefX
protected

◆ m_hasRhs

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::m_hasRhs
protected

◆ m_isvalid

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::m_isvalid
protected

◆ m_mat

template<typename Scalar >
MatrixType Eigen::MatrixMarketIterator< Scalar >::m_mat
protected

◆ m_matIsLoaded

template<typename Scalar >
bool Eigen::MatrixMarketIterator< Scalar >::m_matIsLoaded
protected

◆ m_matname

template<typename Scalar >
std::string Eigen::MatrixMarketIterator< Scalar >::m_matname
protected

◆ m_refX

template<typename Scalar >
VectorType Eigen::MatrixMarketIterator< Scalar >::m_refX
protected

◆ m_rhs

template<typename Scalar >
VectorType Eigen::MatrixMarketIterator< Scalar >::m_rhs
protected

◆ m_sym

template<typename Scalar >
int Eigen::MatrixMarketIterator< Scalar >::m_sym
protected

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