12#ifndef __Pardiso_CholeskySolver_H
13#define __Pardiso_CholeskySolver_H
18#include "Gedim_Macro.hpp"
21#include <Eigen/PardisoSupport>
27template <
typename Eigen_ArrayType = Eigen::VectorXd,
typename Eigen_SparseArrayType = Eigen::SparseMatrix<
double>>
32 Eigen::PardisoLDLT<Eigen_SparseArrayType, Eigen::Lower> linearSolver;
34 const IArray *_rightHandSide;
Eigen column vector.
Definition Eigen_Array.hpp:23
Interface used for column double Array.
Definition IArray.hpp:23
Interface used for algebra linear solvers.
Definition ILinearSolver.hpp:22
Interface used for sparse Array of double.
Definition ISparseArray.hpp:25
Pardiso Cholesky Linear solver.
Definition Pardiso_CholeskySolver.hpp:29
ILinearSolver::SolutionInfo Solve() const
Compute the solution.
Definition Pardiso_CholeskySolver.cpp:53
~Pardiso_CholeskySolver()
Definition Pardiso_CholeskySolver.cpp:34
void Initialize(const ISparseArray &matrix, const IArray &rightHandSide, IArray &solution, const ILinearSolver::Configuration &config=ILinearSolver::Configuration())
Initialize the linear solver Ax = b.
Definition Pardiso_CholeskySolver.cpp:41
Pardiso_CholeskySolver()
Definition Pardiso_CholeskySolver.cpp:28
Definition Eigen_Array.cpp:22
Definition ILinearSolver.hpp:25
Definition ILinearSolver.hpp:31