LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
EllipseSolver.h
Go to the documentation of this file.
1 #ifndef MeasAlgoShapeletEllipseSolver_H
2 #define MeasAlgoShapeletEllipseSolver_H
3 
6 #include <vector>
8 
9 namespace lsst {
10 namespace meas {
11 namespace algorithms {
12 namespace shapelet {
13 
14  class EllipseSolver3 : public NLSolver
15  {
16  public :
17 
19  const BVec& b0, int order,
20  bool fixcen=false, bool fixgam=false, bool fixmu=false);
22 
23  void calculateF(const DVector& x, DVector& f) const;
24  void calculateJ(const DVector& x, const DVector& f, DMatrix& df) const;
25 
26  void useNumericJ();
27  void dontZeroB11();
28  void getCovariance(DMatrix& cov) const;
29  void getInverseCovariance(DMatrix& invcov) const;
30 
31  // CallF takes x and f of length 5, rather than whatever shorter
32  // length that F takex (depending on if things are fixed).
33  void callF(const DVector& x, DVector& f) const;
34  bool solve(DVector& x, DVector& f) const;
35  bool testJ(const DVector& x, DVector& f,
36  std::ostream* os=0, double relerr=0.) const;
37 
38  private :
39 
40  struct ESImpl3;
41 
42  ESImpl3* _pimpl;
43  };
44 
45 }}}}
46 
47 #endif
void getInverseCovariance(DMatrix &invcov) const
bool solve(DVector &x, DVector &f) const
void calculateJ(const DVector &x, const DVector &f, DMatrix &df) const
double x
EllipseSolver3(const BVec &b0, int order, bool fixcen=false, bool fixgam=false, bool fixmu=false)
bool testJ(const DVector &x, DVector &f, std::ostream *os=0, double relerr=0.) const
void calculateF(const DVector &x, DVector &f) const
void callF(const DVector &x, DVector &f) const