#include <UT_MatrixSolver.h>
Public Member Functions | |
| float | PCG (void(*AMult)(const UT_VectorD &x, UT_VectorD &result), void(*ASolve)(const UT_VectorD &b, UT_VectorD &x), int n, UT_VectorD &x, const UT_VectorD &b, float tol=1e-3F, int normType=2, int maxIter=-1) |
| float | PCG (void(*AMult)(const UT_VectorF &x, UT_VectorF &result), void(*ASolve)(const UT_VectorF &b, UT_VectorF &x), int n, UT_VectorF &x, const UT_VectorF &b, float tol=1e-3F, int normType=2, int maxIter=-1) |
| float | PCGLS (void(*AMult)(const UT_Vector &x, UT_Vector &result, int transpose), void(*AtASolve)(const UT_Vector &b, UT_Vector &x), int m, int n, UT_Vector &x, const UT_Vector &b, float tol=1e-3F, int normType=2, int maxIter=-1) |
| float | biPCG (void(*AMult)(const UT_Vector &x, UT_Vector &result, int transpose), void(*ASolve)(const UT_Vector &b, UT_Vector &x, int transpose), int n, UT_Vector &x, const UT_Vector &b, float tol=1e-3F, int normType=2, int maxIter=-1) |
Static Public Member Functions | |
| static void | PCG (UT_Vector &x, const UT_Vector &b, const UT_Functor2< void, const UT_Vector &, UT_Vector & > &AMult, const UT_Functor2< void, const UT_Vector &, UT_Vector & > &ASolve, const UT_Functor2< bool, int, const UT_Vector & > &iterateTest) |
Definition at line 427 of file UT_MatrixSolver.h.
| float UT_MatrixIterSolver::biPCG | ( | void(*)(const UT_Vector &x, UT_Vector &result, int transpose) | AMult, | |
| void(*)(const UT_Vector &b, UT_Vector &x, int transpose) | ASolve, | |||
| int | n, | |||
| UT_Vector & | x, | |||
| const UT_Vector & | b, | |||
| float | tol = 1e-3F, |
|||
| int | normType = 2, |
|||
| int | maxIter = -1 | |||
| ) |
Preconditioned Conjugate Gradient method for solving Ax=b, given the matrix A[0..m-1][0..n-1] indirectly through AMult (ie. Ax if int = 0 or A^tx if int = 1), a preconditioner for A through ASolve, the vector b[0..m-1] and an initial guess x[0..n-1]. maxIter defaults to 2n. error |b-Ax|/|b| < tol. normType indicates the type of norm used for error: 0 L-infinity norm (ie. max) 1 L1-norm (ie. sum of abs) 2 L2-norm (ie. Euclidean distance) Output: x[0..n-1] and error.
| static void UT_MatrixIterSolver::PCG | ( | UT_Vector & | x, | |
| const UT_Vector & | b, | |||
| const UT_Functor2< void, const UT_Vector &, UT_Vector & > & | AMult, | |||
| const UT_Functor2< void, const UT_Vector &, UT_Vector & > & | ASolve, | |||
| const UT_Functor2< bool, int, const UT_Vector & > & | iterateTest | |||
| ) | [static] |
Preconditioned Conjugate Gradient method for solving Ax=b with the symmetric positive definite matrix A, preconditioner, and iteration conditions implicitly defined by functors.
| float UT_MatrixIterSolver::PCG | ( | void(*)(const UT_VectorF &x, UT_VectorF &result) | AMult, | |
| void(*)(const UT_VectorF &b, UT_VectorF &x) | ASolve, | |||
| int | n, | |||
| UT_VectorF & | x, | |||
| const UT_VectorF & | b, | |||
| float | tol = 1e-3F, |
|||
| int | normType = 2, |
|||
| int | maxIter = -1 | |||
| ) |
| float UT_MatrixIterSolver::PCG | ( | void(*)(const UT_VectorD &x, UT_VectorD &result) | AMult, | |
| void(*)(const UT_VectorD &b, UT_VectorD &x) | ASolve, | |||
| int | n, | |||
| UT_VectorD & | x, | |||
| const UT_VectorD & | b, | |||
| float | tol = 1e-3F, |
|||
| int | normType = 2, |
|||
| int | maxIter = -1 | |||
| ) |
Preconditioned Conjugate Gradient method for solving Ax=b, given the symmetric positive definite matrix A[0..n-1][0..n-1] indirectly through AMult (ie. Ax), a preconditioner for A through ASolve, the vector b[0..n-1] and an initial guess x[0..n-1]. maxIter defaults to 2n. error |b-Ax|/|b| < tol. normType indicates the type of norm used for error: 0 L-infinity norm (ie. max) 1 L1-norm (ie. sum of abs) 2 L2-norm (ie. Euclidean distance) Output: x[0..n-1] and error.
| float UT_MatrixIterSolver::PCGLS | ( | void(*)(const UT_Vector &x, UT_Vector &result, int transpose) | AMult, | |
| void(*)(const UT_Vector &b, UT_Vector &x) | AtASolve, | |||
| int | m, | |||
| int | n, | |||
| UT_Vector & | x, | |||
| const UT_Vector & | b, | |||
| float | tol = 1e-3F, |
|||
| int | normType = 2, |
|||
| int | maxIter = -1 | |||
| ) |
Preconditioned Conjugate Gradient method for solving least squares Ax=b, given the matrix A[0..m-1][0..n-1] indirectly through AMult (ie. Ax if int = 0 or A^tx if int = 1), a preconditioner for A^tA through AtASolve, the vector b[0..m-1] and an initial guess x[0..n-1]. maxIter defaults to 2n. error |A^t(b-Ax)|/|A^tb| < tol. normType indicates the type of norm used for error: 0 L-infinity norm (ie. max) 1 L1-norm (ie. sum of abs) 2 L2-norm (ie. Euclidean distance) Output: x[0..n-1] and error.
1.5.9