version 0.4.1
Eigen::TruncatedConjugateGradient< M, upLo, PC > Class Template Reference

Iterative solver for solving linear systems using the truncated conjugate gradient method. More...

#include <ikarus/linearalgebra/truncatedconjugategradient.hh>

Inheritance diagram for Eigen::TruncatedConjugateGradient< M, upLo, PC >:
[legend]

Public Types

enum  { UpLo = upLo }
 
typedef IterativeSolverBase< TruncatedConjugateGradientBase
 
using MatrixType = M
 
using Scalar = typename MatrixType::Scalar
 
using RealScalar = typename MatrixType::RealScalar
 
using Preconditioner = PC
 

Public Member Functions

 TruncatedConjugateGradient (TruncatedConjugateGradient &&other) noexcept
 
TCGInfo< typename MatrixType::RealScalar > getInfo ()
 Get information about the truncated conjugate gradient algorithm. More...
 
void setInfo (TCGInfo< typename MatrixType::RealScalar > alginfo)
 Set information about the truncated conjugate gradient algorithm. More...
 
 TruncatedConjugateGradient ()
 
template<typename MatrixDerived >
 TruncatedConjugateGradient (const EigenBase< MatrixDerived > &A)
 
 ~TruncatedConjugateGradient ()
 
template<typename Rhs , typename Dest >
void _solve_vector_with_guess_impl (const Rhs &b, Dest &x) const
 

Detailed Description

template<typename M, int upLo, typename PC>
class Eigen::TruncatedConjugateGradient< M, upLo, PC >
Template Parameters
MType of the matrix A.
upLoType of the triangular part of the matrix (Lower or Upper or both).
PCType of the preconditioner.

Member Typedef Documentation

◆ Base

template<typename M , int upLo, typename PC >
typedef IterativeSolverBase<TruncatedConjugateGradient> Eigen::TruncatedConjugateGradient< M, upLo, PC >::Base

◆ MatrixType

template<typename M , int upLo, typename PC >
using Eigen::TruncatedConjugateGradient< M, upLo, PC >::MatrixType = M

◆ Preconditioner

template<typename M , int upLo, typename PC >
using Eigen::TruncatedConjugateGradient< M, upLo, PC >::Preconditioner = PC

◆ RealScalar

template<typename M , int upLo, typename PC >
using Eigen::TruncatedConjugateGradient< M, upLo, PC >::RealScalar = typename MatrixType::RealScalar

◆ Scalar

template<typename M , int upLo, typename PC >
using Eigen::TruncatedConjugateGradient< M, upLo, PC >::Scalar = typename MatrixType::Scalar

Member Enumeration Documentation

◆ anonymous enum

template<typename M , int upLo, typename PC >
anonymous enum
Enumerator
UpLo 

Constructor & Destructor Documentation

◆ TruncatedConjugateGradient() [1/3]

template<typename M , int upLo, typename PC >
Eigen::TruncatedConjugateGradient< M, upLo, PC >::TruncatedConjugateGradient ( TruncatedConjugateGradient< M, upLo, PC > &&  other)
inlinenoexcept

◆ TruncatedConjugateGradient() [2/3]

template<typename M , int upLo, typename PC >
Eigen::TruncatedConjugateGradient< M, upLo, PC >::TruncatedConjugateGradient ( )
inline

Default constructor.

◆ TruncatedConjugateGradient() [3/3]

template<typename M , int upLo, typename PC >
template<typename MatrixDerived >
Eigen::TruncatedConjugateGradient< M, upLo, PC >::TruncatedConjugateGradient ( const EigenBase< MatrixDerived > &  A)
inlineexplicit

Initialize the solver with matrix A for further Ax=b solving.

This constructor is a shortcut for the default constructor followed by a call to compute().

Warning
this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.

◆ ~TruncatedConjugateGradient()

template<typename M , int upLo, typename PC >
Eigen::TruncatedConjugateGradient< M, upLo, PC >::~TruncatedConjugateGradient ( )
inline

Member Function Documentation

◆ _solve_vector_with_guess_impl()

template<typename M , int upLo, typename PC >
template<typename Rhs , typename Dest >
void Eigen::TruncatedConjugateGradient< M, upLo, PC >::_solve_vector_with_guess_impl ( const Rhs &  b,
Dest &  x 
) const
inline

◆ getInfo()

template<typename M , int upLo, typename PC >
TCGInfo< typename MatrixType::RealScalar > Eigen::TruncatedConjugateGradient< M, upLo, PC >::getInfo ( )
inline
Returns
Information about the algorithm.

◆ setInfo()

template<typename M , int upLo, typename PC >
void Eigen::TruncatedConjugateGradient< M, upLo, PC >::setInfo ( TCGInfo< typename MatrixType::RealScalar >  alginfo)
inline
Parameters
_alginfoInformation about the algorithm.

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