OpenVDB: IncompleteCholeskyPreconditioner< MatrixType > Class Template Reference

OpenVDB 12.1.1

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::v12_1::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