Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MatrixMarketIterator< Scalar > Class Template Reference

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

#include <MatrixMarketIterator.h>

Public Types

typedef SparseMatrix< Scalar,
ColMajor
MatrixType
typedef Matrix< Scalar,
Dynamic, 1 > 
VectorType

Public Member Functions

bool hasrefX ()
bool hasRhs ()
std::string & matname ()
MatrixType & matrix ()
 MatrixMarketIterator (const std::string folder)
 operator bool () const
MatrixMarketIteratoroperator++ ()
VectorType & refX ()
VectorType & rhs ()
int sym ()

Protected Member Functions

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

Protected Attributes

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

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 Function Documentation

MatrixType& matrix ( )
inline

Return the sparse matrix corresponding to the current file

Referenced by MatrixMarketIterator< Scalar >::rhs().

VectorType& 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

VectorType& rhs ( )
inline

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

References MatrixMarketIterator< Scalar >::matrix().


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