12#ifndef __Pardiso_LUSolver_H
13#define __Pardiso_LUSolver_H
16#include "Gedim_Macro.hpp"
20#include <Eigen/PardisoSupport>
26template <
typename Eigen_ArrayType = Eigen::VectorXd,
typename Eigen_SparseArrayType = Eigen::SparseMatrix<
double>>
31 Eigen::PardisoLU<Eigen_SparseArrayType> linearSolver;
33 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 LU Linear solver.
Definition Pardiso_LUSolver.hpp:28
Pardiso_LUSolver()
Definition Pardiso_LUSolver.cpp:27
void Initialize(const ISparseArray &matrix, const IArray &rightHandSide, IArray &solution, const ILinearSolver::Configuration &config=Configuration())
Initialize the linear solver Ax = b.
Definition Pardiso_LUSolver.cpp:40
~Pardiso_LUSolver()
Definition Pardiso_LUSolver.cpp:33
ILinearSolver::SolutionInfo Solve() const
Compute the solution.
Definition Pardiso_LUSolver.cpp:52
Definition Eigen_Array.cpp:22
Definition ILinearSolver.hpp:25
Definition ILinearSolver.hpp:31