Home | History | Annotate | Download | only in spbench

Lines Matching refs:Solver

125 template<typename Solver, typename Scalar>
126 Stats call_solver(Solver &solver, const typename Solver::MatrixType& A, const Matrix<Scalar, Dynamic, 1>& b, const Matrix<Scalar, Dynamic, 1>& refX)
133 solver.compute(A);
134 if (solver.info() != Success)
137 std::cerr << "Solver failed ... \n";
145 x = solver.solve(b);
146 if (solver.info() == NumericalIssue)
149 std::cerr << "Solver failed ... \n";
179 template<typename Solver, typename Scalar>
180 Stats call_directsolver(Solver& solver, const typename Solver::MatrixType& A, const Matrix<Scalar, Dynamic, 1>& b, const Matrix<Scalar, Dynamic, 1>& refX)
183 stat = call_solver(solver, A, b, refX);
187 template<typename Solver, typename Scalar>
188 Stats call_itersolver(Solver &solver, const typename Solver::MatrixType& A, const Matrix<Scalar, Dynamic, 1>& b, const Matrix<Scalar, Dynamic, 1>& refX)
191 solver.setTolerance(RelErr);
192 solver.setMaxIterations(MaximumIters);
194 stat = call_solver(solver, A, b, refX);
195 stat.iterations = solver.iterations();
205 cout << " SOLVER FAILED ... Probably a numerical issue \n";
297 UmfPackLU<SpMat> solver;
298 stat[EIGEN_UMFPACK] = call_directsolver(solver, A, b, refX);
306 SuperLU<SpMat> solver;
307 stat[EIGEN_SUPERLU] = call_directsolver(solver, A, b, refX);
316 PastixLU<SpMat> solver;
317 stat[EIGEN_PASTIX] = call_directsolver(solver, A, b, refX) ;
326 PardisoLU<SpMat> solver;
327 stat[EIGEN_PARDISO] = call_directsolver(solver, A, b, refX);
337 BiCGSTAB<SpMat> solver;
338 stat[EIGEN_BICGSTAB] = call_itersolver(solver, A, b, refX);
345 BiCGSTAB<SpMat, IncompleteLUT<Scalar> > solver;
346 stat[EIGEN_BICGSTAB_ILUT] = call_itersolver(solver, A, b, refX);
355 // GMRES<SpMat> solver;
356 // stat[EIGEN_GMRES] = call_itersolver(solver, A, b, refX);
363 GMRES<SpMat, IncompleteLUT<Scalar> > solver;
364 stat[EIGEN_GMRES_ILUT] = call_itersolver(solver, A, b, refX);
375 SimplicialLDLT<SpMat, Lower> solver;
376 stat[EIGEN_SIMPLICIAL_LDLT] = call_directsolver(solver, A, b, refX);
384 CholmodDecomposition<SpMat, Lower> solver;
385 solver.setMode(CholmodLDLt);
386 stat[EIGEN_CHOLMOD_LDLT] = call_directsolver(solver, A, b, refX);
395 PastixLDLT<SpMat, Lower> solver;
396 stat[EIGEN_PASTIX_LDLT] = call_directsolver(solver, A, b, refX);
405 PardisoLDLT<SpMat, Lower> solver;
406 stat[EIGEN_PARDISO_LDLT] = call_directsolver(solver, A, b, refX);
419 SimplicialLLT<SpMat, Lower> solver;
420 stat[EIGEN_SIMPLICIAL_LLT] = call_directsolver(solver, A, b, refX);
429 CholmodDecomposition<SpMat, Lower> solver;
430 solver.setMode(CholmodSupernodalLLt);
431 stat[EIGEN_CHOLMOD_SUPERNODAL_LLT] = call_directsolver(solver, A, b, refX);
435 solver.setMode(CholmodSimplicialLLt);
436 stat[EIGEN_CHOLMOD_SIMPLICIAL_LLT] = call_directsolver(solver, A, b, refX);
445 PastixLLT<SpMat, Lower> solver;
446 stat[EIGEN_PASTIX_LLT] = call_directsolver(solver, A, b, refX);
455 PardisoLLT<SpMat, Lower> solver;
456 stat[EIGEN_PARDISO_LLT] = call_directsolver(solver, A, b, refX);
464 ConjugateGradient<SpMat, Lower> solver;
465 stat[EIGEN_CG] = call_itersolver(solver, A, b, refX);
472 // ConjugateGradient<SpMat, Lower, IdentityPreconditioner> solver;
473 // stat[EIGEN_CG_PRECOND] = call_itersolver(solver, A, b, refX);