Loading...
Searching...
No Matches
casacore::LSQaips Class Reference
scimath package (libcasa_scimath) » Fitting_module

More...

`#include <LSQaips.h>`

## Public Member Functions

| LSQaips (uInt nUnknowns, uInt nConstraints=0)
| Construct an object with the number of unknown, knowns and constraints, and type, using the default collinearity factor and the default Levenberg-Marquardt adjustment factor.
| LSQaips (uInt nUnknowns, const LSQReal &, uInt nConstraints=0)
| Allow explicit complex/real specification.
| LSQaips (uInt nUnknowns, const LSQComplex &, uInt nConstraints=0)
| LSQaips ()
| Default constructor (empty, real, only usable after a set(nUnknowns)).
| LSQaips (const LSQaips &other)
| Copy constructor (deep copy).
LSQaips & | operator= (const LSQaips &other)
| Assignment (deep copy).
| ~LSQaips ()
template<class U>
void | solve (U *sol)
| Solve normal equations.
template<class U>
void | solve (std::complex< U > *sol)
template<class U>
void | solve (U &sol)
template<class U>
void | solve (Vector< U > &sol)
template<class U>
Bool | solveLoop (uInt &nRank, U *sol, Bool doSVD=False)
| Solve a Levenberg-Marquardt loop.
template<class U>
Bool | solveLoop (uInt &nRank, std::complex< U > *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (uInt &nRank, U &sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (uInt &nRank, Vector< U > &sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, U *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, std::complex< U > *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, U &sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, Vector< U > &sol, Bool doSVD=False)
template<class U>
Bool | getCovariance (U *covar)
| Get the covariance matrix.
template<class U>
Bool | getCovariance (std::complex< U > *covar)
template<class U>
Bool | getCovariance (Array< U > &covar)
template<class U>
Bool | getErrors (U *errors)
| Get main diagonal of covariance function (of size nUnknowns).
template<class U>
Bool | getErrors (std::complex< U > *errors)
template<class U>
Bool | getErrors (U &errors)
template<class U>
Bool | getErrors (Vector< U > &errors)
Public Member Functions inherited from casacore::LSQFit
| LSQFit (uInt nUnknowns, uInt nConstraints=0)
| Construct an object with the number of unknowns and constraints, using the default collinearity factor and the default Levenberg-Marquardt adjustment factor.
| LSQFit (uInt nUnknowns, const LSQReal &, uInt nConstraints=0)
| Allow explicit Real specification.
| LSQFit (uInt nUnknowns, const LSQComplex &, uInt nConstraints=0)
| Allow explicit Complex specification.
| LSQFit ()
| Default constructor (empty, only usable after a set(nUnknowns)).
| LSQFit (const LSQFit &other)
| Copy constructor (deep copy).
LSQFit & | operator= (const LSQFit &other)
| Assignment (deep copy).
| ~LSQFit ()
Bool | invert (uInt &nRank, Bool doSVD=False)
| Triangularize the normal equations and determine the rank nRank of the normal equations and, in the case of an SVD solution, the constraint equations.
template<class U>
void | copy (const Double *beg, const Double *end, U &sol, LSQReal)
| Copy date from beg to end; converting if necessary to complex data.
template<class U>
void | copy (const Double *beg, const Double *end, U &sol, LSQComplex)
template<class U>
void | copy (const Double *beg, const Double *end, U *sol, LSQReal)
template<class U>
void | copy (const Double *beg, const Double *end, U *sol, LSQComplex)
template<class U>
void | uncopy (Double *beg, const Double *end, U &sol, LSQReal)
template<class U>
void | uncopy (Double *beg, const Double *end, U &sol, LSQComplex)
template<class U>
void | uncopy (Double *beg, const Double *end, U *sol, LSQReal)
template<class U>
void | uncopy (Double *beg, const Double *end, U *sol, LSQComplex)
template<class U>
void | copyDiagonal (U &errors, LSQReal)
template<class U>
void | copyDiagonal (U &errors, LSQComplex)
template<class U>
void | solve (U *sol)
| Solve normal equations.
template<class U>
void | solve (std::complex< U > *sol)
template<class U>
void | solve (U &sol)
template<class U>
Bool | solveLoop (uInt &nRank, U *sol, Bool doSVD=False)
| Solve a loop in a non-linear set.
template<class U>
Bool | solveLoop (uInt &nRank, std::complex< U > *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (uInt &nRank, U &sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, U *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, std::complex< U > *sol, Bool doSVD=False)
template<class U>
Bool | solveLoop (Double &fit, uInt &nRank, U &sol, Bool doSVD=False)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const U &obs, Bool doNorm=True, Bool doKnown=True)
| Make normal equations using the cEq condition equation (cArray) (with nUnknowns elements) and a weight weight, given the known observed value obs.
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const U &obs, LSQFit::Real, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const std::complex< U > &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Complex, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Separable, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::AsReal, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Conjugate, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const U &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const V &cEq2, const U &weight, const U &obs, const U &obs2, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const U &obs, LSQFit::Real, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const std::complex< U > &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Complex, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Separable, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::AsReal, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNorm (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Conjugate, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const U &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const U &obs, LSQFit::Real, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const std::complex< U > &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Complex, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Separable, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const std::complex< U > &obs, LSQFit::AsReal, Bool doNorm=True, Bool doKnown=True)
template<class U, class V>
void | makeNorm (const std::vector< std::pair< uInt, V > > &cEq, const U &weight, const std::complex< U > &obs, LSQFit::Conjugate, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNormSorted (uInt nIndex, const W &cEqIndex, const V &cEq, const U &weight, const U &obs, Bool doNorm=True, Bool doKnown=True)
template<class U, class V, class W>
void | makeNormSorted (uInt nIndex, const W &cEqIndex, const V &cEq, const V &cEq2, const U &weight, const U &obs, const U &obs2, Bool doNorm=True, Bool doKnown=True)
template<class U>
Bool | getConstraint (uInt n, U *cEq) const
| Get the n-th (from 0 to the rank deficiency, or missing rank, see e.g.
template<class U>
Bool | getConstraint (uInt n, std::complex< U > *cEq) const
template<class U>
Bool | getConstraint (uInt n, U &cEq) const
template<class U, class V>
Bool | setConstraint (uInt n, const V &cEq, const U &obs)
| Add a new constraint equation (updating nConstraints); or set a numbered constraint equation (0..nConstraints-1).
template<class U, class V>
Bool | setConstraint (uInt n, const V &cEq, const std::complex< U > &obs)
template<class U, class V, class W>
Bool | setConstraint (uInt n, uInt nIndex, const W &cEqIndex, const V &cEq, const U &obs)
template<class U, class V, class W>
Bool | setConstraint (uInt n, uInt nIndex, const W &cEqIndex, const V &cEq, const std::complex< U > &obs)
template<class U, class V>
Bool | addConstraint (const V &cEq, const U &obs)
template<class U, class V>
Bool | addConstraint (const V &cEq, const std::complex< U > &obs)
template<class U, class V, class W>
Bool | addConstraint (uInt nIndex, const W &cEqIndex, const V &cEq, const U &obs)
template<class U, class V, class W>
Bool | addConstraint (uInt nIndex, const W &cEqIndex, const V &cEq, const std::complex< U > &obs)
Bool | merge (const LSQFit &other)
| Merge other LSQFit object (i.e.
Bool | merge (const LSQFit &other, uInt nIndex, const uInt *nEqIndex)
Bool | merge (const LSQFit &other, uInt nIndex, const std::vector< uInt > &nEqIndex)
template<class W>
Bool | merge (const LSQFit &other, uInt nIndex, const W &nEqIndex)
void | reset ()
| Reset status to empty.
void | set (uInt nUnknowns, uInt nConstraints=0)
| Set new sizes (default is for Real).
void | set (Int nUnknowns, Int nConstraints=0)
void | set (uInt nUnknowns, const LSQReal &, uInt nConstraints=0)
void | set (Int nUnknowns, const LSQReal &, Int nConstraints=0)
void | set (uInt nUnknowns, const LSQComplex &, uInt nConstraints=0)
void | set (Int nUnknowns, const LSQComplex &, Int nConstraints=0)
void | set (Double factor=1e-6, Double LMFactor=1e-3)
| Set new factors (collinearity factor, and Levenberg-Marquardt LMFactor).
void | setEpsValue (Double epsval=1e-8)
| Set new value solution test.
void | setEpsDerivative (Double epsder=1e-8)
| Set new derivative test.
void | setMaxIter (uInt maxiter=0)
| Set maximum number of iterations.
uInt | nIterations () const
| Get number of iterations done.
void | setBalanced (Bool balanced=False)
| Set the expected form of the normal equations.
LSQFit::ReadyCode | isReady () const
| Ask the state of the non-linear solutions.
const std::string & | readyText () const
template<class U>
Bool | getCovariance (U *covar)
| Get the covariance matrix (of size nUnknowns * nUnknowns).
template<class U>
Bool | getCovariance (std::complex< U > *covar)
template<class U>
Bool | getErrors (U *errors)
| Get main diagonal of covariance function (of size nUnknowns).
template<class U>
Bool | getErrors (std::complex< U > *errors)
template<class U>
Bool | getErrors (U &errors)
uInt | nUnknowns () const
| Get the number of unknowns.
uInt | nConstraints () const
| Get the number of constraints.
uInt | getDeficiency () const
| Get the rank deficiency Warning: Note that the number is returned assuming real values; For complex values it has to be halved .
Double | getChi () const
| Get chi^2 (both are identical); the standard deviation (per observation) and the standard deviation per weight unit.
Double | getChi2 () const
Double | getSD () const
Double | getWeightedSD () const
void | debugIt (uInt &nun, uInt &np, uInt &ncon, uInt &ner, uInt &rank, Double *&nEq, Double *&known, Double *&constr, Double *&er, uInt *&piv, Double *&sEq, Double *&sol, Double &prec, Double &nonlin) const
| Debug:
Bool | fromRecord (String &error, const RecordInterface &in)
| Create an LSQFit object from a record.
Bool | toRecord (String &error, RecordInterface &out) const
| Create a record from an LSQFit object.
const String & | ident () const
| Get identification of record.
void | toAipsIO (AipsIO &) const
| Save or restore using AipsIO.
void | fromAipsIO (AipsIO &)

## Additional Inherited Members

Public Types inherited from casacore::LSQFit
enum | ReadyCode { NONREADY , SOLINCREMENT , DERIVLEVEL , MAXITER , NOREDUCTION , SINGULAR , N_ReadyCode }
| State of the non-linear solution. More...
enum | ErrorField { NC , SUMWEIGHT , SUMLL , CHI2 , N_ErrorField }
| Offset of fields in error_p data area. More...
Static Public Attributes inherited from casacore::LSQFit
static Real | REAL
| And values to use.
static Complex | COMPLEX
static Separable | SEPARABLE
static AsReal | ASREAL
static Conjugate | CONJUGATE
Protected Types inherited from casacore::LSQFit
enum | StateBit { INVERTED , TRIANGLE , NONLIN , N_StateBit }
| Bits that can be set/referenced. More...
Protected Member Functions inherited from casacore::LSQFit
Double * | rowrt (uInt i) const
| Get pointer in rectangular array.
Double * | rowru (uInt i) const
void | init ()
| Initialise areas.
void | clear ()
| Clear areas.
void | deinit ()
| De-initialise area.
void | solveIt ()
| Solve normal equations.
Bool | solveItLoop (Double &fit, uInt &nRank, Bool doSVD=False)
| One non-linear LM loop.
void | solveMR (uInt nin)
| Solve missing rank part.
Bool | invertRect ()
| Invert rectangular matrix (i.e.
Double | normSolution (const Double *sol) const
| Get the norm of the current solution vector.
Double | normInfKnown (const Double *known) const
| Get the infinite norm of the known vector.
Bool | mergeIt (const LSQFit &other, uInt nIndex, const uInt *nEqIndex)
| Merge sparse normal equations.
void | save (Bool all=True)
| Save current status (or part).
void | restore (Bool all=True)
| Restore current status.
void | copy (const LSQFit &other, Bool all=True)
| Copy data.
void | extendConstraints (uInt n)
| Extend the constraint equation area to the specify number of equations.
void | createNCEQ ()
| Create the solution equation area nceq_p and fill it.
void | getWorkSOL ()
| Get work areas for solutions, covariance.
void | getWorkCOV ()
Static Protected Member Functions inherited from casacore::LSQFit
static Double | realMC (const std::complex< Double > &x, const std::complex< Double > &y)
| Calculate the real or imag part of x*conj(y).
static Double | imagMC (const std::complex< Double > &x, const std::complex< Double > &y)
static Float | realMC (const std::complex< Float > &x, const std::complex< Float > &y)
static Float | imagMC (const std::complex< Float > &x, const std::complex< Float > &y)
Protected Attributes inherited from casacore::LSQFit
uInt | state_p
| Bits set to indicate state.
uInt | nun_p
| Number of unknowns.
uInt | ncon_p
| Number of constraints.
uInt | n_p
| Matrix size (will be n_p = nun_p + ncon_p).
uInt | r_p
| Rank of normal equations (normally n_p).
Double | prec_p
| Collinearity precision.
Double | startnon_p
| Levenberg start factor.
Double | nonlin_p
| Levenberg current factor.
Double | stepfactor_p
| Levenberg step factor.
Double | epsval_p
| Test value for [incremental] solution in non-linear loop.
Double | epsder_p
| Test value for known vector in non-linear loop.
Bool | balanced_p
| Indicator for a well balanced normal equation.
uInt | maxiter_p
| Maximum number of iterations for non-linear solution.
uInt | niter_p
| Iteration count for non-linear solution.
ReadyCode | ready_p
| Indicate the non-linear state.
uInt * | piv_p
| Pivot table (n_p).
LSQMatrix * | norm_p
| Normal equations (triangular nun_p * nun_p).
uInt | nnc_p
| Current length nceq_p.
LSQMatrix * | nceq_p
| Normal combined with constraint equations for solutions (triangular nnc_p*nnc_p).
Double * | known_p
| Known part equations (n_p).
Double * | error_p
| Counts for errors (N_ErrorField).
Double * | constr_p
| Constraint equation area (nun_p*ncon_p)).
Double * | sol_p
| Solution area (n_p).
LSQFit * | nar_p
| Save area for non-linear case (size determined internally).
Double * | lar_p
| Save area for non-symmetric (i.e.
Double * | wsol_p
| Work areas for interim solutions and covariance.
Double * | wcov_p
Static Protected Attributes inherited from casacore::LSQFit
static const String | recid
| Record field names.
static const String | state
static const String | nun
static const String | ncon
static const String | prec
static const String | startnon
static const String | nonlin
static const String | rank
static const String | nnc
static const String | piv
static const String | constr
static const String | known
static const String | errors
static const String | sol
static const String | lar
static const String | wsol
static const String | wcov
static const String | nceq
static const String | nar

## Detailed Description

Interface for Casacore Vectors in least squares fitting

### Review Status

Date Reviewed:
  2004/04/01

### Prerequisite

- LSQFit class

### Etymology

From Least SQuares and aips++ (now Casacore)

### Synopsis

The interface used in the LSQaips class is in terms of Casacore Vectors directly, rather than an STL iterator (like VectorSTLIterator) based on it.

Its functionality is identical to that of the LSQFit class, although it will be faster to use the iterator interface directly, since constructing of temporary iterators can be avoided

### Example

See the tLSQaips.cc program for extensive examples. Note: this class is in an interim state.

### Motivation

The class was written to enable easy tranistion from the current Vector to the Vector::iterator interface.

### To Do

- create all the method interfaces

Definition at line 81 of file LSQaips.h.

## Constructor & Destructor Documentation

## LSQaips() [1/5]

casacore::LSQaips::LSQaips | ( | uInt | nUnknowns,
|  | uInt | nConstraints = 0 )

inline

Construct an object with the number of unknown, knowns and constraints, and type, using the default collinearity factor and the default Levenberg-Marquardt adjustment factor.

Assume real

Definition at line 90 of file LSQaips.h.

References casacore::LSQFit::LSQFit(), casacore::LSQFit::nConstraints(), and casacore::LSQFit::nUnknowns().

Referenced by LSQaips(), and operator=().

## LSQaips() [2/5]

casacore::LSQaips::LSQaips | ( | uInt | nUnknowns,
|  | const LSQReal & | ,
|  | uInt | nConstraints = 0 )

inline

Allow explicit complex/real specification.

Definition at line 94 of file LSQaips.h.

References casacore::LSQFit::LSQFit(), casacore::LSQFit::nConstraints(), and casacore::LSQFit::nUnknowns().

## LSQaips() [3/5]

casacore::LSQaips::LSQaips | ( | uInt | nUnknowns,
|  | const LSQComplex & | ,
|  | uInt | nConstraints = 0 )

inline

Definition at line 96 of file LSQaips.h.

References casacore::LSQFit::LSQFit(), casacore::LSQFit::nConstraints(), and casacore::LSQFit::nUnknowns().

## LSQaips() [4/5]

casacore::LSQaips::LSQaips | ( |  | ) |

inline

Default constructor (empty, real, only usable after a set(nUnknowns)).

Definition at line 101 of file LSQaips.h.

References casacore::LSQFit::LSQFit().

## LSQaips() [5/5]

casacore::LSQaips::LSQaips | ( | const LSQaips & | other | ) |

inline

Copy constructor (deep copy).

Definition at line 103 of file LSQaips.h.

References LSQaips(), and casacore::LSQFit::LSQFit().

## ~LSQaips()

casacore::LSQaips::~LSQaips | ( |  | ) |

inline

Definition at line 110 of file LSQaips.h.

## Member Function Documentation

## getCovariance() [1/3]

template<class U>

Bool casacore::LSQaips::getCovariance | ( | Array< U > & | covar | ) |

## getCovariance() [2/3]

template<class U>

Bool casacore::LSQaips::getCovariance | ( | std::complex< U > * | covar | ) |

inline

Definition at line 170 of file LSQaips.h.

References casacore::LSQFit::getCovariance().

## getCovariance() [3/3]

template<class U>

Bool casacore::LSQaips::getCovariance | ( | U * | covar | ) |

inline

Get the covariance matrix.

False if an error occurred (of size nUnknowns * nUnknowns)

Definition at line 167 of file LSQaips.h.

References casacore::LSQFit::getCovariance().

## getErrors() [1/4]

template<class U>

Bool casacore::LSQaips::getErrors | ( | std::complex< U > * | errors | ) |

inline

Definition at line 181 of file LSQaips.h.

References casacore::LSQFit::errors, and casacore::LSQFit::getErrors().

## getErrors() [2/4]

template<class U>

Bool casacore::LSQaips::getErrors | ( | U & | errors | ) |

inline

Definition at line 184 of file LSQaips.h.

References casacore::LSQFit::errors, and casacore::LSQFit::getErrors().

## getErrors() [3/4]

template<class U>

Bool casacore::LSQaips::getErrors | ( | U * | errors | ) |

inline

Get main diagonal of covariance function (of size nUnknowns).

Definition at line 178 of file LSQaips.h.

References casacore::LSQFit::errors, and casacore::LSQFit::getErrors().

## getErrors() [4/4]

template<class U>

Bool casacore::LSQaips::getErrors | ( | Vector< U > & | errors | ) |

inline

Definition at line 187 of file LSQaips.h.

References casacore::LSQFit::errors, casacore::LSQFit::getErrors(), casacore::LSQFit::nUnknowns(), and casacore::LSQTraits< T >::size.

## operator=()

LSQaips & casacore::LSQaips::operator= | ( | const LSQaips & | other | ) |

inline

Assignment (deep copy).

Definition at line 105 of file LSQaips.h.

References LSQaips(), and casacore::LSQFit::operator=().

## solve() [1/4]

template<class U>

void casacore::LSQaips::solve | ( | std::complex< U > * | sol | ) |

inline

Definition at line 121 of file LSQaips.h.

References casacore::LSQFit::sol, and casacore::LSQFit::solve().

## solve() [2/4]

template<class U>

void casacore::LSQaips::solve | ( | U & | sol | ) |

inline

Definition at line 123 of file LSQaips.h.

References casacore::LSQFit::sol, and casacore::LSQFit::solve().

## solve() [3/4]

template<class U>

void casacore::LSQaips::solve | ( | U * | sol | ) |

inline

Solve normal equations.

The solution will be given in sol.

Definition at line 119 of file LSQaips.h.

References casacore::LSQFit::sol, and casacore::LSQFit::solve().

## solve() [4/4]

template<class U>

void casacore::LSQaips::solve | ( | Vector< U > & | sol | ) |

inline

Definition at line 125 of file LSQaips.h.

References casacore::LSQFit::nUnknowns(), casacore::LSQTraits< T >::size, casacore::LSQFit::sol, and casacore::LSQFit::solve().

## solveLoop() [1/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | Double & | fit,
|  | uInt & | nRank,
|  | std::complex< U > * | sol,
|  | Bool | doSVD = False )

inline

Definition at line 152 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [2/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | Double & | fit,
|  | uInt & | nRank,
|  | U & | sol,
|  | Bool | doSVD = False )

inline

Definition at line 156 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [3/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | Double & | fit,
|  | uInt & | nRank,
|  | U * | sol,
|  | Bool | doSVD = False )

inline

Definition at line 148 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [4/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | Double & | fit,
|  | uInt & | nRank,
|  | Vector< U > & | sol,
|  | Bool | doSVD = False )

References casacore::False, and casacore::LSQFit::sol.

## solveLoop() [5/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | uInt & | nRank,
|  | std::complex< U > * | sol,
|  | Bool | doSVD = False )

inline

Definition at line 137 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [6/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | uInt & | nRank,
|  | U & | sol,
|  | Bool | doSVD = False )

inline

Definition at line 141 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [7/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | uInt & | nRank,
|  | U * | sol,
|  | Bool | doSVD = False )

inline

Solve a Levenberg-Marquardt loop.

Note that the solution sol is used both and input and output. No check on the size is done.

Definition at line 133 of file LSQaips.h.

References casacore::False, casacore::LSQFit::sol, and casacore::LSQFit::solveLoop().

## solveLoop() [8/8]

template<class U>

Bool casacore::LSQaips::solveLoop | ( | uInt & | nRank,
|  | Vector< U > & | sol,
|  | Bool | doSVD = False )

References casacore::False, and casacore::LSQFit::sol.

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

- scimath/Fitting/LSQaips.h