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::v10_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 | ( |  | ) |

virtual default

## 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 IncompleteCholeskyPreconditioner< MatrixType >, and JacobiPreconditioner< MatrixType >.

## isValid()

template<typename T>

virtual bool isValid | ( |  | ) | const

inline virtual

Reimplemented in IncompleteCholeskyPreconditioner< MatrixType >.