OpenVDB  9.0.1
Classes | 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>

Inherits 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 More...
 
const TriangularMatrixlowerMatrix () const
 
const TriangularMatrixupperMatrix () const
 

Detailed Description

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

Preconditioner using incomplete Cholesky factorization.

Member Typedef Documentation

using TriangleConstRow = typename TriangularMatrix::ConstRow
using TriangleRowEditor = typename TriangularMatrix::RowEditor
using ValueType = typename MatrixType::ValueType

Constructor & Destructor Documentation

IncompleteCholeskyPreconditioner ( const MatrixType &  matrix)
inline
~IncompleteCholeskyPreconditioner ( )
overridedefault

Member Function Documentation

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

bool isValid ( ) const
inlineoverridevirtual
const TriangularMatrix& lowerMatrix ( ) const
inline
const TriangularMatrix& upperMatrix ( ) const
inline