casa
5.7.0-16
|
VisCalSolver2: Default solver for calibration using visibility data. More...
#include <VisCalSolver2.h>
Public Member Functions | |
VisCalSolver2 () | |
Constructor. More... | |
VisCalSolver2 (casacore::String solmode, casacore::Vector< casacore::Float > &rmsthresh) | |
~VisCalSolver2 () | |
Destructor. More... | |
bool | solve (VisEquation &viseq, SolvableVisCal &svc, SDBList &sdbs) |
Do the solve. More... | |
bool | solveL1R (VisEquation &viseq, SolvableVisCal &svc, SDBList &sdbs) |
L1R-capable version. More... | |
Protected Member Functions | |
SDBList & | sdbs () |
Access to fundamental external objects: More... | |
VisEquation & | ve () |
SolvableVisCal & | svc () |
int & | maxIter () |
Access to maxIter_. More... | |
double & | chiSq () |
Access to chi2. More... | |
casacore::Vector< double > & | chiSqV () |
double & | lastChiSq () |
double & | dChiSq () |
double & | sumWt () |
casacore::Vector< double > & | sumWtV () |
int & | nWt () |
int & | nPar () |
Access to parameters, & grad,hess,dp. More... | |
casacore::Vector < casacore::Complex > & | par () |
casacore::Vector< bool > & | parOK () |
casacore::Vector< float > & | parErr () |
casacore::Vector < casacore::DComplex > & | grad () |
casacore::Vector< double > & | hess () |
casacore::Vector < casacore::Complex > & | dpar () |
casacore::Vector < casacore::Complex > & | lastPar () |
double & | lambda () |
void | initSolve () |
Initialize solving data. More... | |
void | residualate2 () |
Obtain trial residuals w.r.t svc's current pars. More... | |
void | differentiate2 () |
Differentiate w.r.t svc's pars. More... | |
void | chiSquare2 () |
Calculate residuals (incl. More... | |
void | RMSThresh (casacore::Int RejIter) |
Apply RMS threshold to current residuals. More... | |
bool | converged () |
Check for convergence. More... | |
void | accGradHess2 () |
Internal solving methods. More... | |
void | revert () |
void | solveGradHess () |
void | updatePar () |
void | optStepSize2 () |
Optimize the step parabolically. More... | |
void | getErrors () |
Get and print par errors. More... | |
void | printPar (const int &iter) |
Private Member Functions | |
int & | prtlev () |
Diagnostic print level. More... | |
Private Attributes | |
SDBList * | SDBs_ |
VisBuffer (from outside) More... | |
VisEquation * | ve_ |
VisEquation (from outside) More... | |
SolvableVisCal * | svc_ |
SVC (from outside) More... | |
int | nPar_ |
Total Number of parameters. More... | |
int | maxIter_ |
Maximum number of solve iterations to attempt. More... | |
double | chiSq_ |
Chi2, sum wts. More... | |
casacore::Vector< double > | chiSqV_ |
double | lastChiSq_ |
double | dChiSq_ |
double | sumWt_ |
casacore::Vector< double > | sumWtV_ |
int | nWt_ |
int | cvrgcount_ |
casacore::Vector < casacore::Complex > | par_ |
Parameter storage (these are casacore::Complex to match the VisCal solvePar) More... | |
casacore::Vector< bool > | parOK_ |
casacore::Vector< float > | parErr_ |
casacore::Vector < casacore::Complex > | lastPar_ |
casacore::Vector < casacore::Complex > | dpar_ |
Parameter update. More... | |
casacore::Vector < casacore::DComplex > | grad_ |
Gradient, Hessian (these are double for precision in accumulation. More... | |
casacore::Vector< double > | hess_ |
double | lambda_ |
LM factor. More... | |
bool | optstep_ |
Step optimization toggle. More... | |
bool | doL1_ |
Control L1 solution. More... | |
casacore::Vector< casacore::Float > | L1clamp_ |
bool | doRMSThresh_ |
Control iterative rejection. More... | |
casacore::Vector< casacore::Float > | RMSThresh_ |
int | nRMSThresh_ |
int | prtlev_ |
Diagnostic print level. More... | |
VisCalSolver2: Default solver for calibration using visibility data.
Public interface
VisCal for visibility calibration (meaning solved from visibilities), Solver for solving.
VisCalSolver2 describes an interface for solving for calibration from visibility data in a VisBuffer. It hosts the communication of visibility data with otherwise generic solving mechanims. A Levenberg-Marquardt solver is supplied here by default, but it is intended that this class be the template for interfaces to third-party solving mechanisms.
It is desirable to establish the distinct communicative boundary between generic solving mechanims and the particulars of visibility data and calibration component descriptions. This class is intended to serve this purpose, by providing access to visibility data and calibration in terms of quantities necessary for least-squares (and other) style solvers.
Definition at line 93 of file VisCalSolver2.h.
casa::VisCalSolver2::VisCalSolver2 | ( | ) |
Constructor.
casa::VisCalSolver2::VisCalSolver2 | ( | casacore::String | solmode, |
casacore::Vector< casacore::Float > & | rmsthresh | ||
) |
casa::VisCalSolver2::~VisCalSolver2 | ( | ) |
Destructor.
|
protected |
Internal solving methods.
|
inlineprotected |
|
protected |
Calculate residuals (incl.
diff'd) and chi2
|
inlineprotected |
Definition at line 122 of file VisCalSolver2.h.
References chiSqV_.
|
protected |
Check for convergence.
|
inlineprotected |
Definition at line 124 of file VisCalSolver2.h.
References dChiSq_.
|
protected |
Differentiate w.r.t svc's pars.
|
inlineprotected |
Definition at line 136 of file VisCalSolver2.h.
References dpar_.
|
protected |
Get and print par errors.
|
inlineprotected |
Definition at line 134 of file VisCalSolver2.h.
References grad_.
|
inlineprotected |
Definition at line 135 of file VisCalSolver2.h.
References hess_.
|
protected |
Initialize solving data.
|
inlineprotected |
Definition at line 139 of file VisCalSolver2.h.
References lambda_.
|
inlineprotected |
Definition at line 123 of file VisCalSolver2.h.
References lastChiSq_.
|
inlineprotected |
Definition at line 137 of file VisCalSolver2.h.
References lastPar_.
|
inlineprotected |
|
inlineprotected |
Access to parameters, & grad,hess,dp.
Definition at line 130 of file VisCalSolver2.h.
References nPar_.
|
inlineprotected |
Definition at line 127 of file VisCalSolver2.h.
References nWt_.
|
protected |
Optimize the step parabolically.
|
inlineprotected |
Definition at line 131 of file VisCalSolver2.h.
References par_.
|
inlineprotected |
Definition at line 133 of file VisCalSolver2.h.
References parErr_.
|
inlineprotected |
Definition at line 132 of file VisCalSolver2.h.
References parOK_.
|
protected |
|
inlineprivate |
Diagnostic print level.
Definition at line 176 of file VisCalSolver2.h.
|
protected |
Obtain trial residuals w.r.t svc's current pars.
|
protected |
|
protected |
Apply RMS threshold to current residuals.
|
inlineprotected |
Access to fundamental external objects:
Definition at line 113 of file VisCalSolver2.h.
References SDBs_.
bool casa::VisCalSolver2::solve | ( | VisEquation & | viseq, |
SolvableVisCal & | svc, | ||
SDBList & | sdbs | ||
) |
Do the solve.
|
protected |
bool casa::VisCalSolver2::solveL1R | ( | VisEquation & | viseq, |
SolvableVisCal & | svc, | ||
SDBList & | sdbs | ||
) |
L1R-capable version.
|
inlineprotected |
Definition at line 125 of file VisCalSolver2.h.
References sumWt_.
|
inlineprotected |
Definition at line 126 of file VisCalSolver2.h.
References sumWtV_.
|
inlineprotected |
Definition at line 115 of file VisCalSolver2.h.
References svc_.
|
protected |
|
inlineprotected |
Definition at line 114 of file VisCalSolver2.h.
References ve_.
|
private |
|
private |
Definition at line 195 of file VisCalSolver2.h.
Referenced by chiSqV().
|
private |
Definition at line 201 of file VisCalSolver2.h.
|
private |
Definition at line 197 of file VisCalSolver2.h.
Referenced by dChiSq().
|
private |
Control L1 solution.
Definition at line 225 of file VisCalSolver2.h.
|
private |
Control iterative rejection.
Definition at line 229 of file VisCalSolver2.h.
|
private |
|
private |
Gradient, Hessian (these are double for precision in accumulation.
Definition at line 215 of file VisCalSolver2.h.
Referenced by grad().
|
private |
Definition at line 216 of file VisCalSolver2.h.
Referenced by hess().
|
private |
Definition at line 226 of file VisCalSolver2.h.
|
private |
|
private |
Definition at line 196 of file VisCalSolver2.h.
Referenced by lastChiSq().
|
private |
Definition at line 208 of file VisCalSolver2.h.
Referenced by lastPar().
|
private |
Maximum number of solve iterations to attempt.
Definition at line 191 of file VisCalSolver2.h.
Referenced by maxIter().
|
private |
|
private |
Definition at line 231 of file VisCalSolver2.h.
|
private |
Definition at line 200 of file VisCalSolver2.h.
Referenced by nWt().
|
private |
Step optimization toggle.
Definition at line 222 of file VisCalSolver2.h.
|
private |
Parameter storage (these are casacore::Complex to match the VisCal solvePar)
Definition at line 205 of file VisCalSolver2.h.
Referenced by par().
|
private |
Definition at line 207 of file VisCalSolver2.h.
Referenced by parErr().
|
private |
Definition at line 206 of file VisCalSolver2.h.
Referenced by parOK().
|
private |
Diagnostic print level.
Definition at line 234 of file VisCalSolver2.h.
|
private |
Definition at line 230 of file VisCalSolver2.h.
|
private |
|
private |
Definition at line 198 of file VisCalSolver2.h.
Referenced by sumWt().
|
private |
Definition at line 199 of file VisCalSolver2.h.
Referenced by sumWtV().
|
private |
|
private |