#include <iostream>
#include <fstream>
#include <Eigen/SparseCore>
#include <bench/BenchTimer.h>
#include <cstdlib>
#include <string>
#include <Eigen/Cholesky>
#include <Eigen/Jacobi>
#include <Eigen/Householder>
#include <Eigen/IterativeLinearSolvers>
#include <unsupported/Eigen/IterativeSolvers>
#include <Eigen/LU>
#include <unsupported/Eigen/SparseExtra>
#include <Eigen/SparseLU>
#include "spbenchstyle.h"
Go to the source code of this file.
Macros | |
#define | EIGEN_BICGSTAB 60 |
#define | EIGEN_BICGSTAB_ILUT 61 |
#define | EIGEN_CG 170 |
#define | EIGEN_CG_PRECOND 180 |
#define | EIGEN_CHOLMOD_LDLT 90 |
#define | EIGEN_CHOLMOD_SIMPLICIAL_LLT 140 |
#define | EIGEN_CHOLMOD_SUPERNODAL_LLT 130 |
#define | EIGEN_GMRES 70 |
#define | EIGEN_GMRES_ILUT 71 |
#define | EIGEN_KLU 11 |
#define | EIGEN_PARDISO 40 |
#define | EIGEN_PARDISO_LDLT 110 |
#define | EIGEN_PARDISO_LLT 160 |
#define | EIGEN_PASTIX 30 |
#define | EIGEN_PASTIX_LDLT 100 |
#define | EIGEN_PASTIX_LLT 150 |
#define | EIGEN_SIMPLICIAL_LDLT 80 |
#define | EIGEN_SIMPLICIAL_LLT 120 |
#define | EIGEN_SPARSELU_COLAMD 50 |
#define | EIGEN_SPARSELU_METIS 51 |
#define | EIGEN_SUPERLU 20 |
#define | EIGEN_UMFPACK 10 |
Functions | |
template<typename Scalar > | |
void | Browse_Matrices (const string folder, bool statFileExists, std::string &statFile, int maxiters, double tol) |
template<typename Solver , typename Scalar > | |
void | call_directsolver (Solver &solver, const int solver_id, const typename Solver::MatrixType &A, const Matrix< Scalar, Dynamic, 1 > &b, const Matrix< Scalar, Dynamic, 1 > &refX, std::string &statFile) |
template<typename Solver , typename Scalar > | |
void | call_itersolver (Solver &solver, const int solver_id, const typename Solver::MatrixType &A, const Matrix< Scalar, Dynamic, 1 > &b, const Matrix< Scalar, Dynamic, 1 > &refX, std::string &statFile) |
template<typename Solver , typename Scalar > | |
void | call_solver (Solver &solver, const int solver_id, const typename Solver::MatrixType &A, const Matrix< Scalar, Dynamic, 1 > &b, const Matrix< Scalar, Dynamic, 1 > &refX, std::ofstream &statbuf) |
bool | get_options (int argc, char **args, string option, string *value=0) |
void | printStatheader (std::ofstream &out) |
template<typename Scalar > | |
void | SelectSolvers (const SparseMatrix< Scalar > &A, unsigned int sym, Matrix< Scalar, Dynamic, 1 > &b, const Matrix< Scalar, Dynamic, 1 > &refX, std::string &statFile) |
template<typename T > | |
NumTraits< T >::Real | test_precision () |
template<> | |
double | test_precision< double > () |
template<> | |
float | test_precision< float > () |
template<> | |
double | test_precision< std::complex< double > > () |
template<> | |
float | test_precision< std::complex< float > > () |
Variables | |
int | best_time_id |
double | best_time_val |
int | MaximumIters |
double | RelErr |
#define EIGEN_BICGSTAB 60 |
Definition at line 64 of file spbenchsolver.h.
#define EIGEN_BICGSTAB_ILUT 61 |
Definition at line 65 of file spbenchsolver.h.
#define EIGEN_CG 170 |
Definition at line 77 of file spbenchsolver.h.
#define EIGEN_CG_PRECOND 180 |
Definition at line 78 of file spbenchsolver.h.
#define EIGEN_CHOLMOD_LDLT 90 |
Definition at line 69 of file spbenchsolver.h.
#define EIGEN_CHOLMOD_SIMPLICIAL_LLT 140 |
Definition at line 74 of file spbenchsolver.h.
#define EIGEN_CHOLMOD_SUPERNODAL_LLT 130 |
Definition at line 73 of file spbenchsolver.h.
#define EIGEN_GMRES 70 |
Definition at line 66 of file spbenchsolver.h.
#define EIGEN_GMRES_ILUT 71 |
Definition at line 67 of file spbenchsolver.h.
#define EIGEN_KLU 11 |
Definition at line 58 of file spbenchsolver.h.
#define EIGEN_PARDISO 40 |
Definition at line 61 of file spbenchsolver.h.
#define EIGEN_PARDISO_LDLT 110 |
Definition at line 71 of file spbenchsolver.h.
#define EIGEN_PARDISO_LLT 160 |
Definition at line 76 of file spbenchsolver.h.
#define EIGEN_PASTIX 30 |
Definition at line 60 of file spbenchsolver.h.
#define EIGEN_PASTIX_LDLT 100 |
Definition at line 70 of file spbenchsolver.h.
#define EIGEN_PASTIX_LLT 150 |
Definition at line 75 of file spbenchsolver.h.
#define EIGEN_SIMPLICIAL_LDLT 80 |
Definition at line 68 of file spbenchsolver.h.
#define EIGEN_SIMPLICIAL_LLT 120 |
Definition at line 72 of file spbenchsolver.h.
#define EIGEN_SPARSELU_COLAMD 50 |
Definition at line 62 of file spbenchsolver.h.
#define EIGEN_SPARSELU_METIS 51 |
Definition at line 63 of file spbenchsolver.h.
#define EIGEN_SUPERLU 20 |
Definition at line 59 of file spbenchsolver.h.
#define EIGEN_UMFPACK 10 |
Definition at line 57 of file spbenchsolver.h.
void Browse_Matrices | ( | const string | folder, |
bool | statFileExists, | ||
std::string & | statFile, | ||
int | maxiters, | ||
double | tol | ||
) |
Definition at line 509 of file spbenchsolver.h.
void call_directsolver | ( | Solver & | solver, |
const int | solver_id, | ||
const typename Solver::MatrixType & | A, | ||
const Matrix< Scalar, Dynamic, 1 > & | b, | ||
const Matrix< Scalar, Dynamic, 1 > & | refX, | ||
std::string & | statFile | ||
) |
Definition at line 290 of file spbenchsolver.h.
void call_itersolver | ( | Solver & | solver, |
const int | solver_id, | ||
const typename Solver::MatrixType & | A, | ||
const Matrix< Scalar, Dynamic, 1 > & | b, | ||
const Matrix< Scalar, Dynamic, 1 > & | refX, | ||
std::string & | statFile | ||
) |
Definition at line 300 of file spbenchsolver.h.
void call_solver | ( | Solver & | solver, |
const int | solver_id, | ||
const typename Solver::MatrixType & | A, | ||
const Matrix< Scalar, Dynamic, 1 > & | b, | ||
const Matrix< Scalar, Dynamic, 1 > & | refX, | ||
std::ofstream & | statbuf | ||
) |
Definition at line 225 of file spbenchsolver.h.
bool get_options | ( | int | argc, |
char ** | args, | ||
string | option, | ||
string * | value = 0 |
||
) |
Definition at line 562 of file spbenchsolver.h.
void printStatheader | ( | std::ofstream & | out | ) |
Definition at line 96 of file spbenchsolver.h.
void SelectSolvers | ( | const SparseMatrix< Scalar > & | A, |
unsigned int | sym, | ||
Matrix< Scalar, Dynamic, 1 > & | b, | ||
const Matrix< Scalar, Dynamic, 1 > & | refX, | ||
std::string & | statFile | ||
) |
Definition at line 316 of file spbenchsolver.h.
Definition at line 90 of file spbenchsolver.h.
|
inline |
Definition at line 92 of file spbenchsolver.h.
|
inline |
Definition at line 91 of file spbenchsolver.h.
|
inline |
Definition at line 94 of file spbenchsolver.h.
|
inline |
Definition at line 93 of file spbenchsolver.h.
int best_time_id |
Definition at line 88 of file spbenchsolver.h.
double best_time_val |
Definition at line 87 of file spbenchsolver.h.
int MaximumIters |
Definition at line 85 of file spbenchsolver.h.
double RelErr |
Definition at line 86 of file spbenchsolver.h.