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 | |
| MatrixMarketIterator & | operator++ () |
| VectorType & | refX () |
| VectorType & | rhs () |
| int | sym () |
| ~MatrixMarketIterator () | |
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 |
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
| Scalar | The scalar type |
Definition at line 42 of file MatrixMarketIterator.h.
| typedef SparseMatrix<Scalar,ColMajor> Eigen::MatrixMarketIterator< Scalar >::MatrixType |
Definition at line 46 of file MatrixMarketIterator.h.
| typedef Matrix<Scalar,Dynamic,1> Eigen::MatrixMarketIterator< Scalar >::VectorType |
Definition at line 45 of file MatrixMarketIterator.h.
| Eigen::MatrixMarketIterator< Scalar >::MatrixMarketIterator | ( | const std::string | folder | ) | [inline] |
Definition at line 49 of file MatrixMarketIterator.h.
| Eigen::MatrixMarketIterator< Scalar >::~MatrixMarketIterator | ( | ) | [inline] |
Definition at line 60 of file MatrixMarketIterator.h.
| bool Eigen::MatrixMarketIterator< Scalar >::Fileexists | ( | std::string | file | ) | [inline, protected] |
Definition at line 158 of file MatrixMarketIterator.h.
| void Eigen::MatrixMarketIterator< Scalar >::Getnextvalidmatrix | ( | ) | [inline, protected] |
Definition at line 172 of file MatrixMarketIterator.h.
| bool Eigen::MatrixMarketIterator< Scalar >::hasrefX | ( | ) | [inline] |
Definition at line 154 of file MatrixMarketIterator.h.
| bool Eigen::MatrixMarketIterator< Scalar >::hasRhs | ( | ) | [inline] |
Definition at line 153 of file MatrixMarketIterator.h.
| std::string& Eigen::MatrixMarketIterator< Scalar >::matname | ( | ) | [inline] |
Definition at line 149 of file MatrixMarketIterator.h.
| MatrixType& Eigen::MatrixMarketIterator< Scalar >::matrix | ( | ) | [inline] |
Return the sparse matrix corresponding to the current file
Definition at line 76 of file MatrixMarketIterator.h.
| Eigen::MatrixMarketIterator< Scalar >::operator bool | ( | ) | const [inline] |
Definition at line 73 of file MatrixMarketIterator.h.
| MatrixMarketIterator& Eigen::MatrixMarketIterator< Scalar >::operator++ | ( | ) | [inline] |
Definition at line 65 of file MatrixMarketIterator.h.
| 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
Definition at line 133 of file MatrixMarketIterator.h.
| 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
Definition at line 101 of file MatrixMarketIterator.h.
| int Eigen::MatrixMarketIterator< Scalar >::sym | ( | ) | [inline] |
Definition at line 151 of file MatrixMarketIterator.h.
struct dirent* Eigen::MatrixMarketIterator< Scalar >::m_curs_id [protected] |
Definition at line 215 of file MatrixMarketIterator.h.
std::string Eigen::MatrixMarketIterator< Scalar >::m_folder [protected] |
Definition at line 213 of file MatrixMarketIterator.h.
DIR* Eigen::MatrixMarketIterator< Scalar >::m_folder_id [protected] |
Definition at line 214 of file MatrixMarketIterator.h.
bool Eigen::MatrixMarketIterator< Scalar >::m_hasrefX [protected] |
Definition at line 212 of file MatrixMarketIterator.h.
bool Eigen::MatrixMarketIterator< Scalar >::m_hasRhs [protected] |
Definition at line 211 of file MatrixMarketIterator.h.
bool Eigen::MatrixMarketIterator< Scalar >::m_isvalid [protected] |
Definition at line 209 of file MatrixMarketIterator.h.
MatrixType Eigen::MatrixMarketIterator< Scalar >::m_mat [protected] |
Definition at line 205 of file MatrixMarketIterator.h.
bool Eigen::MatrixMarketIterator< Scalar >::m_matIsLoaded [protected] |
Definition at line 210 of file MatrixMarketIterator.h.
std::string Eigen::MatrixMarketIterator< Scalar >::m_matname [protected] |
Definition at line 208 of file MatrixMarketIterator.h.
VectorType Eigen::MatrixMarketIterator< Scalar >::m_refX [protected] |
Definition at line 207 of file MatrixMarketIterator.h.
VectorType Eigen::MatrixMarketIterator< Scalar >::m_rhs [protected] |
Definition at line 206 of file MatrixMarketIterator.h.
int Eigen::MatrixMarketIterator< Scalar >::m_sym [protected] |
Definition at line 204 of file MatrixMarketIterator.h.