casa
$Rev:20696$
|
NNLSMatrixSolver.h: the base class for NNLS solvers of linear equations AX=B. More...
#include <NNLSMatrixSolver.h>
Public Member Functions | |
NNLSMatrixSolver () | |
Default Constructor. | |
NNLSMatrixSolver (const NNLSMatrixSolver &other) | |
Copy Constructor. | |
NNLSMatrixSolver (const Matrix< FType > &A, const Vector< FType > &B) | |
Create a NNLSMatrixSolver from a matrix A and a Vector B Warning: A and B are accessed by reference, so don't modify them during the lifetime of the NNLSMatrixSolver | |
~NNLSMatrixSolver () | |
Destructor. | |
Bool | solve () |
Solve for the X vector. |
NNLSMatrixSolver.h: the base class for NNLS solvers of linear equations AX=B.
Internal
NNLS stands for Projection Onto Convex Sets. The idea is very simple: to find a solution to AX=B simply take the residual vector B-AX and operate on it to keep only the bits that obey some constraint e.g. positivity. Add this part to the current estimate of the solution vector and iterate. Both CLEAN and Gerchberg-Saxon are NNLS algorithms. If the projection Operators are convex then the process is guaranteed to converge (Youla, 1970).
NNLSMatrixSolver is a complete class. To use it, simply add Operators
NNLSMatrixSolver NNLS(amatrix, bvector);NNLS.addOperator(foo);
Definition at line 71 of file NNLSMatrixSolver.h.
Default Constructor.
casa::NNLSMatrixSolver::NNLSMatrixSolver | ( | const NNLSMatrixSolver & | other | ) |
Copy Constructor.
casa::NNLSMatrixSolver::NNLSMatrixSolver | ( | const Matrix< FType > & | A, |
const Vector< FType > & | B | ||
) |
Create a NNLSMatrixSolver from a matrix A and a Vector B
Warning: A and B are accessed by reference, so don't modify them during the lifetime of the NNLSMatrixSolver
Destructor.
Bool casa::NNLSMatrixSolver::solve | ( | ) | [virtual] |
Solve for the X vector.
Reimplemented from casa::MatrixSolver.