OpenVDB 11.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
IncompleteCholeskyPreconditioner< MatrixType > Class Template Reference

Preconditioner using incomplete Cholesky factorization. More...

#include <openvdb/math/ConjGradient.h>

Inheritance diagram for IncompleteCholeskyPreconditioner< MatrixType >:
Preconditioner< MatrixType::ValueType >

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 TriangularMatrixlowerMatrix () const
 
const TriangularMatrixupperMatrix () 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
rresidue vector
[out]zpreconditioned residue vector

Implements Preconditioner< MatrixType::ValueType >.

◆ isValid()

template<typename MatrixType >
bool isValid ( ) const
inlineoverridevirtual

◆ lowerMatrix()

template<typename MatrixType >
const TriangularMatrix & lowerMatrix ( ) const
inline

◆ upperMatrix()

template<typename MatrixType >
const TriangularMatrix & upperMatrix ( ) const
inline