Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ScaleInvariantMarquardtMinimizer.h

Go to the documentation of this file.
00001 // ScaleInvariantMarquardtMinimizer.h: interface for the CScaleInvariantMarquardtMinimizer class.
00002 //
00004 
00005 #if !defined(AFX_SCALEINVARIANTMARQUARDTMINIMIZER_H__F5D8F7C8_A673_4214_AA46_C9B411DE454A__INCLUDED_)
00006 #define AFX_SCALEINVARIANTMARQUARDTMINIMIZER_H__F5D8F7C8_A673_4214_AA46_C9B411DE454A__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "LevenbergMarquardtMinimizer.h"
00013 #include "MatrixOperations.h"
00014 using namespace std;
00015 
00016 class CScaleInvariantMarquardtMinimizer : public CLevenbergMarquardtMinimizer  
00017 {
00018 public:
00019         CScaleInvariantMarquardtMinimizer();
00020         CScaleInvariantMarquardtMinimizer(CParameterFilter *pFilter, bool psdFlag, double marquardt, bool checkChi, double chiTol, bool checkGrad, double gradTol, bool checkPar, double parTol, int nIterations, double funcAccuracy);
00021         virtual ~CScaleInvariantMarquardtMinimizer();
00022         double Minimize(double *parameters, Minimizable *minimizable);
00023         // Solve LM system using Singular Value Decomp.
00024         void SVDSolveMarquardtSystem(double *deltaP);
00025 private:
00026         bool m_bChiSqFlag;                              // Set to true for convergence on chi-squared
00027         bool m_bGradFlag;                               // Set to true for convergence on ||g||
00028         bool m_bParFlag;                // Set to true for convergence on parameters
00029 };
00030 
00031 #endif // !defined(AFX_SCALEINVARIANTMARQUARDTMINIMIZER_H__F5D8F7C8_A673_4214_AA46_C9B411DE454A__INCLUDED_)

Generated on Mon Nov 3 09:38:14 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002