| 
    casacore
    
   | 
 
#include <MatrixSolver.h>
Public Member Functions | |
| MatrixSolver () | |
| Default Constructor.   | |
| MatrixSolver (const MatrixSolver &other) | |
| Copy Constructor.   | |
| MatrixSolver (const Matrix< FType > &A, const Vector< FType > &B) | |
| Create a MatrixSolver from a matrix A and a Vector B  Warning: A and B are accessed by reference, so do not modify them during the lifetime of the MatrixSolver  | |
| virtual | ~MatrixSolver () | 
| Virtual destructor: calls all derived class destructors.   | |
| MatrixSolver & | operator= (const MatrixSolver &other) | 
| Assignment operator: uses reference semantics, i.e., it references the internal arrays of other.   | |
| void | setAB (const Matrix< FType > &A, const Vector< FType > &B) | 
| Set A matrix and B vector.   | |
| void | setX (const Vector< FType > &X) | 
| Set initial value of X.   | |
| virtual Bool | solve () | 
| Solve for the X vector.   | |
| Bool | accurateSolution () | 
| Is the current solution good enough?   | |
| const Vector< FType > & | getResidual () | 
| Return residual vector B-AX.   | |
| const Vector< FType > & | getSolution () | 
| Return solution vector.   | |
| void | setTolerance (FType tol) | 
| Set the tolerance for solution.   | |
| FType | Tolerance () | 
| Return the tolerance for solution.   | |
| void | setMaxIters (uInt maxiters) | 
| Set the maximum number of iterations.   | |
| uInt | MaxIters () | 
| Return the maximum number of iterations.   | |
| void | setGain (FType g) | 
| Set the gain for solution.   | |
| FType | Gain () | 
| Return the gain for solution.   | |
| void | setSolved (Bool s) | 
| Set status of solution.   | |
| Bool | Solved () | 
| Return status of solution.   | |
| FType | getNorm () | 
| Return norm of solution i.e.   | |
Protected Member Functions | |
| virtual LogSink & | logSink () | 
Protected Attributes | |
| LogSink | logSink_p | 
| Matrix< FType > | AMatrix | 
| the A matrix data member   | |
| Vector< FType > | BVector | 
| the constraint vector data member   | |
| Vector< FType > | RVector | 
| The residual vector data member.   | |
| Vector< FType > | XVector | 
| The solution vector data member.   | |
| FType | RNorm | 
| The solution norm i.e.   | |
| FType | BNorm | 
| The data norm i.e.   | |
Private Attributes | |
| FType | SolTolerance | 
| Tolerance for solution i.e.   | |
| uInt | MaxIterations | 
| Maximum number of iterations.   | |
| Bool | solved | 
| Has a solution been found?   | |
| FType | gain | 
| Gain.   | |
MatrixSolver.h: the base class for solvers of linear equations AX=B
Internal
The MatrixSolver class name reflects its use as the base class for solving Linear Equations of the form AX=B. This class is purely virtual and provides the essential implementation for derived solvers classes. 
The MatrixSolver class is a purely virtual base class. The programmer needs to define the following functions in a class derived from MatrixSolver:
void setImageAndPsf(const Array<FType> & image, const Array<FType> & psf); Set the image and the Point Spread Function (beam). Setting this should reset the internal state, e.g. CurrentIter()==0. Bool solve(); Perform solution of AX=B. Returns True if algorithm has converged or stop criterium reached. Definition at line 80 of file MatrixSolver.h.
| casacore::MatrixSolver::MatrixSolver | ( | ) | 
Default Constructor.
| casacore::MatrixSolver::MatrixSolver | ( | const MatrixSolver & | other | ) | 
Copy Constructor.
Create a MatrixSolver from a matrix A and a Vector B 
Warning: A and B are accessed by reference, so do not modify them during the lifetime of the MatrixSolver 
 
      
  | 
  virtual | 
Virtual destructor: calls all derived class destructors.
| Bool casacore::MatrixSolver::accurateSolution | ( | ) | 
Is the current solution good enough?
      
  | 
  inline | 
      
  | 
  inline | 
Return norm of solution i.e.
||B-AX||
Definition at line 209 of file MatrixSolver.h.
References RNorm.
      
  | 
  inlineprotectedvirtual | 
Definition at line 149 of file MatrixSolver.h.
References logSink_p.
      
  | 
  inline | 
Return the maximum number of iterations.
Definition at line 194 of file MatrixSolver.h.
References MaxIterations.
| MatrixSolver & casacore::MatrixSolver::operator= | ( | const MatrixSolver & | other | ) | 
Assignment operator: uses reference semantics, i.e., it references the internal arrays of other.
Set A matrix and B vector.
      
  | 
  inline | 
      
  | 
  inline | 
Set the maximum number of iterations.
Definition at line 191 of file MatrixSolver.h.
References MaxIterations.
      
  | 
  inline | 
      
  | 
  inline | 
Set the tolerance for solution.
Definition at line 185 of file MatrixSolver.h.
References SolTolerance.
      
  | 
  virtual | 
Solve for the X vector.
Reimplemented in casacore::NNLSMatrixSolver.
      
  | 
  inline | 
      
  | 
  inline | 
Return the tolerance for solution.
Definition at line 188 of file MatrixSolver.h.
References SolTolerance.
the A matrix data member
Definition at line 152 of file MatrixSolver.h.
      
  | 
  protected | 
the constraint vector data member
Definition at line 155 of file MatrixSolver.h.
      
  | 
  private | 
      
  | 
  protected | 
Definition at line 148 of file MatrixSolver.h.
Referenced by logSink().
      
  | 
  private | 
Maximum number of iterations.
Definition at line 175 of file MatrixSolver.h.
Referenced by MaxIters(), and setMaxIters().
      
  | 
  protected | 
The solution norm i.e.
||B-AX||
Definition at line 164 of file MatrixSolver.h.
Referenced by getNorm().
The residual vector data member.
Definition at line 158 of file MatrixSolver.h.
      
  | 
  private | 
Tolerance for solution i.e.
||B-AX||/||B|| must be less than this
Definition at line 172 of file MatrixSolver.h.
Referenced by setTolerance(), and Tolerance().
      
  | 
  private | 
Has a solution been found?
Definition at line 178 of file MatrixSolver.h.
Referenced by setSolved(), and Solved().
The solution vector data member.
Definition at line 161 of file MatrixSolver.h.