11#ifndef EIGEN_BROWSE_MATRICES_H
12#define EIGEN_BROWSE_MATRICES_H
41template <
typename Scalar>
82 std::cerr <<
"Warning loadMarket failed when loading \"" << matrix_file <<
"\"" << std::endl;
93 RealScalar upper_norm =
m_mat.template triangularView<Upper>().
norm();
94 if(lower_norm>diag_norm && upper_norm==diag_norm)
98 m_mat = tmp.template selfadjointView<Lower>();
100 else if(upper_norm>diag_norm && lower_norm==diag_norm)
104 m_mat = tmp.template selfadjointView<Upper>();
118 std::string rhs_file;
150 std::string lhs_file;
175 std::ifstream file_id(file.c_str());
176 if (!file_id.good() )
196 if (
m_curs_id->d_type == DT_DIR)
continue;
202 bool isvector,iscomplex=
false;
204 if(isvector)
continue;
218 std::string filename =
m_curs_id->d_name;
219 m_matname = filename.substr(0, filename.length()-4);
SCALAR Scalar
Definition bench_gemm.cpp:46
Iterator to browse matrices from a specified folder.
Definition MatrixMarketIterator.h:43
bool m_hasRhs
Definition MatrixMarketIterator.h:237
MatrixType & matrix()
Definition MatrixMarketIterator.h:74
bool hasRhs()
Definition MatrixMarketIterator.h:167
MatrixMarketIterator & operator++()
Definition MatrixMarketIterator.h:63
MatrixType m_mat
Definition MatrixMarketIterator.h:231
bool m_isvalid
Definition MatrixMarketIterator.h:235
std::string m_matname
Definition MatrixMarketIterator.h:234
VectorType m_refX
Definition MatrixMarketIterator.h:233
VectorType & refX()
Definition MatrixMarketIterator.h:145
bool Fileexists(std::string file)
Definition MatrixMarketIterator.h:173
struct dirent * m_curs_id
Definition MatrixMarketIterator.h:241
void Getnextvalidmatrix()
Definition MatrixMarketIterator.h:187
std::string & matname()
Definition MatrixMarketIterator.h:163
bool hasrefX()
Definition MatrixMarketIterator.h:168
VectorType & rhs()
Definition MatrixMarketIterator.h:113
~MatrixMarketIterator()
Definition MatrixMarketIterator.h:58
SparseMatrix< Scalar, ColMajor > MatrixType
Definition MatrixMarketIterator.h:47
Matrix< Scalar, Dynamic, 1 > VectorType
Definition MatrixMarketIterator.h:46
bool isFolderValid()
Definition MatrixMarketIterator.h:169
bool m_matIsLoaded
Definition MatrixMarketIterator.h:236
int sym()
Definition MatrixMarketIterator.h:165
DIR * m_folder_id
Definition MatrixMarketIterator.h:240
VectorType m_rhs
Definition MatrixMarketIterator.h:232
bool m_hasrefX
Definition MatrixMarketIterator.h:238
int m_sym
Definition MatrixMarketIterator.h:230
MatrixMarketIterator(const std::string &folder)
Definition MatrixMarketIterator.h:50
std::string m_folder
Definition MatrixMarketIterator.h:239
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
Definition PlainObjectBase.h:271
Derived & setRandom(Index size)
Definition Random.h:151
RealScalar norm() const
Definition SparseDot.h:84
A versatible sparse matrix representation.
Definition SparseMatrix.h:98
const ConstDiagonalReturnType diagonal() const
Definition SparseMatrix.h:655
Index cols() const
Definition SparseMatrix.h:140
A triangularView< Lower >().adjoint().solveInPlace(B)
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
bool getMarketHeader(const std::string &filename, int &sym, bool &iscomplex, bool &isvector)
Definition MarketIO.h:109
bool loadMarketVector(VectorType &vec, const std::string &filename)
Definition MarketIO.h:200
bool loadMarket(SparseMatrixType &mat, const std::string &filename)
Definition MarketIO.h:134
@ NonSymmetric
Definition MatrixMarketIterator.h:18
@ SPD
Definition MatrixMarketIterator.h:17