OpenVDB 10.0.1
Loading...
Searching...
No Matches
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>

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

Detailed Description

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

Preconditioner using incomplete Cholesky factorization.

Member Typedef Documentation

◆ BaseType

◆ Ptr

◆ TriangleConstRow

using TriangleConstRow = typename TriangularMatrix::ConstRow

◆ TriangleRowEditor

using TriangleRowEditor = typename TriangularMatrix::RowEditor

◆ TriangularMatrix

◆ ValueType

using ValueType = typename MatrixType::ValueType

◆ VectorType

Constructor & Destructor Documentation

◆ IncompleteCholeskyPreconditioner()

IncompleteCholeskyPreconditioner ( const MatrixType &  matrix)
inline

◆ ~IncompleteCholeskyPreconditioner()

~IncompleteCholeskyPreconditioner ( )
overridedefault

Member Function Documentation

◆ apply()

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()

bool isValid ( ) const
inlineoverridevirtual

◆ lowerMatrix()

const TriangularMatrix & lowerMatrix ( ) const
inline

◆ upperMatrix()

const TriangularMatrix & upperMatrix ( ) const
inline