LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
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
int x
void calculateJ(const DVector &x, const DVector &f, DMatrix &df) const
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