Loading...
Searching...
No Matches
Preconditioner< T > Class Template Referenceabstract

Base class for conjugate gradient preconditioners. More...

`#include <openvdb/math/ConjGradient.h>`

## Public Types

using | ValueType = T
using | Ptr = SharedPtr< Preconditioner >

## Public Member Functions

template<SizeType STENCIL_SIZE>
| Preconditioner (const SparseStencilMatrix< T, STENCIL_SIZE > &)
virtual | ~Preconditioner ()=default
virtual bool | isValid () const
virtual void | apply (const Vector< T > &r, Vector< T > &z)=0
| Apply this preconditioner to a residue vector: z = M−1r

## Detailed Description

template<typename T>
class openvdb::v11_0::math::pcg::Preconditioner< T >

Base class for conjugate gradient preconditioners.

## Member Typedef Documentation

## Ptr

template<typename T >

using Ptr = SharedPtr<Preconditioner>

## ValueType

template<typename T >

using ValueType = T

## Constructor & Destructor Documentation

## Preconditioner()

template<typename T >
template<SizeType STENCIL_SIZE>

Preconditioner | ( | const SparseStencilMatrix< T, STENCIL_SIZE > & |  | ) |

inline

## ~Preconditioner()

template<typename T >

virtual ~Preconditioner | ( |  | ) |

virtualdefault

## Member Function Documentation

## apply()

template<typename T >

virtual void apply | ( | const Vector< T > & | r,
|  | Vector< T > & | z
| ) |  |

pure virtual

Apply this preconditioner to a residue vector: z = M−1r

Parameters

  | r | residue vector
  [out] | z | preconditioned residue vector

Implemented in JacobiPreconditioner< MatrixType >, and IncompleteCholeskyPreconditioner< MatrixType >.

## isValid()

template<typename T >

virtual bool isValid | ( |  | ) | const

inlinevirtual

Reimplemented in IncompleteCholeskyPreconditioner< MatrixType >.