OpenVDB 13.0.0

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::v13_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 >.