HDK
|
Namespaces | |
internal | |
Classes | |
class | Vector |
Lightweight, variable-length vector. More... | |
class | SparseStencilMatrix |
Sparse, square matrix representing a 3D stencil operator of size STENCIL_SIZE. More... | |
class | Preconditioner |
Base class for conjugate gradient preconditioners. More... | |
class | JacobiPreconditioner |
Diagonal preconditioner. More... | |
class | IncompleteCholeskyPreconditioner |
Preconditioner using incomplete Cholesky factorization. More... | |
struct | State |
Information about the state of a conjugate gradient solution. More... | |
Typedefs | |
using | SizeType = Index32 |
using | SizeRange = tbb::blocked_range< SizeType > |
using | VectorS = Vector< float > |
using | VectorD = Vector< double > |
Functions | |
template<typename ValueType > | |
State | terminationDefaults () |
Return default termination conditions for a conjugate gradient solver. More... | |
template<typename PositiveDefMatrix > | |
State | solve (const PositiveDefMatrix &A, const Vector< typename PositiveDefMatrix::ValueType > &b, Vector< typename PositiveDefMatrix::ValueType > &x, Preconditioner< typename PositiveDefMatrix::ValueType > &preconditioner, const State &termination=terminationDefaults< typename PositiveDefMatrix::ValueType >()) |
Solve Ax = b via the preconditioned conjugate gradient method. More... | |
template<typename PositiveDefMatrix , typename Interrupter > | |
State | solve (const PositiveDefMatrix &A, const Vector< typename PositiveDefMatrix::ValueType > &b, Vector< typename PositiveDefMatrix::ValueType > &x, Preconditioner< typename PositiveDefMatrix::ValueType > &preconditioner, Interrupter &interrupter, const State &termination=terminationDefaults< typename PositiveDefMatrix::ValueType >()) |
Solve Ax = b via the preconditioned conjugate gradient method. More... | |
std::ostream & | operator<< (std::ostream &os, const State &state) |
using openvdb::OPENVDB_VERSION_NAME::math::pcg::SizeRange = typedef tbb::blocked_range<SizeType> |
Definition at line 35 of file ConjGradient.h.
using openvdb::OPENVDB_VERSION_NAME::math::pcg::SizeType = typedef Index32 |
Definition at line 33 of file ConjGradient.h.
using openvdb::OPENVDB_VERSION_NAME::math::pcg::VectorD = typedef Vector<double> |
Definition at line 228 of file ConjGradient.h.
using openvdb::OPENVDB_VERSION_NAME::math::pcg::VectorS = typedef Vector<float> |
Definition at line 227 of file ConjGradient.h.
|
inline |
Definition at line 545 of file ConjGradient.h.
|
inline |
Solve Ax = b via the preconditioned conjugate gradient method.
A | a symmetric, positive-definite, N x N matrix |
b | a vector of size N |
x | a vector of size N |
preconditioner | a Preconditioner matrix |
termination | termination conditions given as a State object with the following fields:
|
ArithmeticError | if either x or b is not of the appropriate size. |
Definition at line 1608 of file ConjGradient.h.
|
inline |
Solve Ax = b via the preconditioned conjugate gradient method.
A | a symmetric, positive-definite, N x N matrix |
b | a vector of size N |
x | a vector of size N |
preconditioner | a Preconditioner matrix |
termination | termination conditions given as a State object with the following fields:
|
interrupter | an object adhering to the util::NullInterrupter interface with which computation can be interrupted |
ArithmeticError | if either x or b is not of the appropriate size. |
RuntimeError | if the computation is interrupted. |
Definition at line 1622 of file ConjGradient.h.
|
inline |
Return default termination conditions for a conjugate gradient solver.
Definition at line 57 of file ConjGradient.h.