UT_MatrixIterSolver Class Reference

#include <UT_MatrixSolver.h>

List of all members.

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)


Detailed Description

Definition at line 427 of file UT_MatrixSolver.h.


Member Function Documentation

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.


The documentation for this class was generated from the following file:

Generated on Mon Jan 28 00:49:08 2013 for HDK by  doxygen 1.5.9