Loading...
Searching...
No Matches
IncompleteCholeskyPreconditioner< MatrixType > Class Template Reference

Preconditioner using incomplete Cholesky factorization. More...

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

Inheritance diagram for IncompleteCholeskyPreconditioner< MatrixType >:

## Public Types

using | ValueType = typename MatrixType::ValueType
using | BaseType = Preconditioner< ValueType >
using | VectorType = Vector< ValueType >
using | Ptr = SharedPtr< IncompleteCholeskyPreconditioner >
using | TriangularMatrix = SparseStencilMatrix< ValueType, 4 >
using | TriangleConstRow = typename TriangularMatrix::ConstRow
using | TriangleRowEditor = typename TriangularMatrix::RowEditor

## Public Member Functions

| IncompleteCholeskyPreconditioner (const MatrixType &matrix)
| ~IncompleteCholeskyPreconditioner () override=default
bool | isValid () const override
void | apply (const Vector< ValueType > &rVec, Vector< ValueType > &zVec) override
| Apply this preconditioner to a residue vector: z = M−1r
const TriangularMatrix & | lowerMatrix () const
const TriangularMatrix & | upperMatrix () const

## Detailed Description

template<typename MatrixType>
class openvdb::v11_0::math::pcg::IncompleteCholeskyPreconditioner< MatrixType >

Preconditioner using incomplete Cholesky factorization.

## Member Typedef Documentation

## BaseType

template<typename MatrixType >

using BaseType = Preconditioner<ValueType>

## Ptr

template<typename MatrixType >

using Ptr = SharedPtr<IncompleteCholeskyPreconditioner>

## TriangleConstRow

template<typename MatrixType >

using TriangleConstRow = typename TriangularMatrix::ConstRow

## TriangleRowEditor

template<typename MatrixType >

using TriangleRowEditor = typename TriangularMatrix::RowEditor

## TriangularMatrix

template<typename MatrixType >

using TriangularMatrix = SparseStencilMatrix<ValueType, 4>

## ValueType

template<typename MatrixType >

using ValueType = typename MatrixType::ValueType

## VectorType

template<typename MatrixType >

using VectorType = Vector<ValueType>

## Constructor & Destructor Documentation

## IncompleteCholeskyPreconditioner()

template<typename MatrixType >

IncompleteCholeskyPreconditioner | ( | const MatrixType & | matrix | ) |

inline

## ~IncompleteCholeskyPreconditioner()

template<typename MatrixType >

~IncompleteCholeskyPreconditioner | ( |  | ) |

overridedefault

## Member Function Documentation

## apply()

template<typename MatrixType >

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

inlineoverridevirtual

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

Parameters

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

Implements Preconditioner< MatrixType::ValueType >.

## isValid()

template<typename MatrixType >

bool isValid | ( |  | ) | const

inlineoverridevirtual

Reimplemented from Preconditioner< MatrixType::ValueType >.

## lowerMatrix()

template<typename MatrixType >

const TriangularMatrix & lowerMatrix | ( |  | ) | const

inline

## upperMatrix()

template<typename MatrixType >

const TriangularMatrix & upperMatrix | ( |  | ) | const

inline