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 SparseMatrix< Scalar, ColMajorMatrixType
 
typedef Matrix< Scalar, Dynamic, 1 > VectorType
 

Public Member Functions

bool hasrefX ()
 
bool hasRhs ()
 
std::string & matname ()
 
MatrixTypematrix ()
 
 MatrixMarketIterator (const std::string folder)
 
 operator bool () const
 
MatrixMarketIteratoroperator++ ()
 
VectorTyperefX ()
 
VectorTyperhs ()
 
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
 

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

Definition at line 42 of file MatrixMarketIterator.h.

Member Typedef Documentation

template<typename Scalar >
typedef SparseMatrix<Scalar,ColMajor> Eigen::MatrixMarketIterator< Scalar >::MatrixType

Definition at line 46 of file MatrixMarketIterator.h.

template<typename Scalar >
typedef Matrix<Scalar,Dynamic,1> Eigen::MatrixMarketIterator< Scalar >::VectorType

Definition at line 45 of file MatrixMarketIterator.h.

Constructor & Destructor Documentation

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

Definition at line 49 of file MatrixMarketIterator.h.

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

Definition at line 60 of file MatrixMarketIterator.h.

Member Function Documentation

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

Definition at line 158 of file MatrixMarketIterator.h.

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

Definition at line 172 of file MatrixMarketIterator.h.

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

Definition at line 154 of file MatrixMarketIterator.h.

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

Definition at line 153 of file MatrixMarketIterator.h.

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

Definition at line 149 of file MatrixMarketIterator.h.

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

Return the sparse matrix corresponding to the current file

Definition at line 76 of file MatrixMarketIterator.h.

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

Definition at line 73 of file MatrixMarketIterator.h.

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

Definition at line 65 of file MatrixMarketIterator.h.

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

Definition at line 133 of file MatrixMarketIterator.h.

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

Definition at line 101 of file MatrixMarketIterator.h.

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

Definition at line 151 of file MatrixMarketIterator.h.

Member Data Documentation

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

Definition at line 226 of file MatrixMarketIterator.h.

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

Definition at line 224 of file MatrixMarketIterator.h.

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

Definition at line 225 of file MatrixMarketIterator.h.

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

Definition at line 223 of file MatrixMarketIterator.h.

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

Definition at line 222 of file MatrixMarketIterator.h.

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

Definition at line 220 of file MatrixMarketIterator.h.

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

Definition at line 216 of file MatrixMarketIterator.h.

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

Definition at line 221 of file MatrixMarketIterator.h.

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

Definition at line 219 of file MatrixMarketIterator.h.

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

Definition at line 218 of file MatrixMarketIterator.h.

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

Definition at line 217 of file MatrixMarketIterator.h.

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

Definition at line 215 of file MatrixMarketIterator.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:36