PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
Gedim::Eigen_PCGSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType > Class Template Referencefinal

Eigen PCG Linear solver. More...

#include <Eigen_PCGSolver.hpp>

Inheritance diagram for Gedim::Eigen_PCGSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >:
[legend]

Public Member Functions

 Eigen_PCGSolver ()
 
 ~Eigen_PCGSolver ()
 
void Initialize (const ISparseArray &matrix, const IArray &rightHandSide, IArray &solution, const Configuration &config={100, 1e-6})
 Initialize the linear solver Ax = b.
 
void Initialize (const IArray &rightHandSide, IArray &solution, const Configuration &config={100, 1e-6})
 
ILinearSolver::SolutionInfo Solve () const
 Compute the solution.
 
void Initialize (const ISparseArray &matrix, const Configuration &config={100, 1e-6})
 Initialize the linear solver for system Ax = b.
 
ILinearSolver::SolutionInfo Solve (const IArray &rightHandSide, IArray &solution) const
 Compute the solution for system Ax = b.
 
- Public Member Functions inherited from Gedim::ILinearSolver
virtual ~ILinearSolver ()
 

Detailed Description

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::ConjugateGradient<Eigen_SparseArrayType, Eigen::Lower, Eigen::DiagonalPreconditioner<double>>>
class Gedim::Eigen_PCGSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >

Eigen PCG Linear solver.

Constructor & Destructor Documentation

◆ Eigen_PCGSolver()

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::ConjugateGradient<Eigen_SparseArrayType, Eigen::Lower, Eigen::DiagonalPreconditioner<double>>>
Gedim::Eigen_PCGSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::Eigen_PCGSolver ( )
inline

◆ ~Eigen_PCGSolver()

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::ConjugateGradient<Eigen_SparseArrayType, Eigen::Lower, Eigen::DiagonalPreconditioner<double>>>
Gedim::Eigen_PCGSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::~Eigen_PCGSolver ( )
inline

Member Function Documentation

◆ Initialize() [1/3]

◆ Initialize() [2/3]

Initialize the linear solver for system Ax = b.

Parameters
matrixThe matrix A

Implements Gedim::ILinearSolver.

◆ Initialize() [3/3]

Initialize the linear solver Ax = b.

Parameters
matrixThe matrix A
rightHandSideThe right-hand side b
solutionThe solution x

Implements Gedim::ILinearSolver.

◆ Solve() [1/2]

◆ Solve() [2/2]

Compute the solution for system Ax = b.

Parameters
rightHandSideThe right-hand side b
solutionThe solution x

Implements Gedim::ILinearSolver.


The documentation for this class was generated from the following files: