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

Eigen BiCGSTAB Linear solver. More...

#include <Eigen_BiCGSTABSolver.hpp>

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

Public Member Functions

 Eigen_BiCGSTABSolver ()
 
 ~Eigen_BiCGSTABSolver ()
 
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 ()
 

Public Attributes

Eigen_SolverType linearSolver
 The solver.
 
const IArray_rightHandSide
 The rightHandSide of the linear syste.
 
IArray_solution
 The solution of the linear syste.
 
Configuration _config
 

Detailed Description

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
class Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >

Eigen BiCGSTAB Linear solver.

Constructor & Destructor Documentation

◆ Eigen_BiCGSTABSolver()

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::Eigen_BiCGSTABSolver ( )
inline

◆ ~Eigen_BiCGSTABSolver()

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::~Eigen_BiCGSTABSolver ( )
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.

Member Data Documentation

◆ _config

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
Configuration Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::_config

◆ _rightHandSide

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
const IArray* Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::_rightHandSide

The rightHandSide of the linear syste.

◆ _solution

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
IArray* Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::_solution

The solution of the linear syste.

◆ linearSolver

template<typename Eigen_ArrayType = Eigen::VectorXd, typename Eigen_SparseArrayType = Eigen::SparseMatrix<double>, typename Eigen_SolverType = Eigen::BiCGSTAB<Eigen_SparseArrayType, Eigen::DiagonalPreconditioner<double>>>
Eigen_SolverType Gedim::Eigen_BiCGSTABSolver< Eigen_ArrayType, Eigen_SparseArrayType, Eigen_SolverType >::linearSolver

The solver.


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