[root] / trunk / math / mathcore / inc / Math / Minimizer.h Repository:
ViewVC logotype

Log of /trunk/math/mathcore/inc/Math/Minimizer.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 25486 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 22 12:43:03 2008 UTC (6 years, 4 months ago) by moneta
File length: 11072 byte(s)
Diff to previous 24403
import changes from math development branches for subdirectory math. List of changes in detail: 

mathcore: 
---------
  MinimizerOptions: 
	new  class for storing Minimizer option, with static default values that can be 
	changed by the user

  FitConfig: 
   	- use default values from MinimizerOption class
   	- rename method to create parameter settings from a function

  FitUtil.cxx:   
    	improve the derivative calculations used in the effective chi2 and in Fumili and 
	fix a bug for evaluation of likelihood or chi2 terms. 
	In  EvaluatePdf() work and return  the log of the pdf. 
      
  FitResult:
	- improve the class by adding extra information like, num. of free parameters, 
	minimizer status, global correlation coefficients, information about fixed 
	and bound parameters. 
   	- add method for getting fit confidence intervals 
  	- improve print method   

  DataRange: 
	add method SetRange to distinguish from AddRange. SetRange deletes the existing 
	ranges. 

  ParamsSettings: make few methods const

  FCN functions (Chi2FCN, LogLikelihoodFCN, etc..) 
	move some common methods and data members in base class (FitMethodFunction)

  RootFinder: add template Solve() for any callable function.  

mathmore:
--------
  minimizer classes: fill status information
  GSLNLSMinimizer: return error and covariance matrix 

minuit2: 
-------
  Minuit2Minimizer: fill  status information 
  DavidonErrorUpdator: check that delgam or gvg are not zero ( can happen when dg = 0)
  FumiliFCNAdapter: work on the log of pdf

minuit:
------- 
  TLinearMinimizer: add support for robust fitting
  TMinuitMinimizer: fill status information and fix a bug in filling the correlation matrix. 
 fumili:
 ------ 
  add TFumiliMinimizer: 
	wrapper class for TFumili using Minimizer interface

Revision 24403 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 08:31:10 2008 UTC (6 years, 7 months ago) by moneta
File length: 10522 byte(s)
Diff to previous 23657
sync with dev brunch (rev: 24397). 
Main changes are: 

- improve integrator interface adding template functions taking as imput any C++ callable object for evaluation 
  of the integrals
- use ROOT convention for enumeration names (start with k, like kADAPTIVE for the integration type). Change for 
  Integration types, Interpolation types (in MathMore) and Minimizer1D types. Change all classes and tests using this 
  enumeration name  
- improve RichardsonDerivator class (used by TF1::Derivative). Remove an un-needed function call
  Fix also a bug in calculation of the error returned by TF1::DerivativeError
- change interface for the function interfaced used for fitting (IParamFunction function and IParamGrad function)
  Requires now that the parameter values are passed when evaluating the function and the gradient and make the method
  operator()(double *x, double *p) const. Derived class must implement DoEvalPar (and not DoEval as before) 
  for implementing this interface. This change makes the caching of parameter not hidden and the interface is now 
  thread-safe.  In the IParamGradFunction interface remove the funcitonality for gradient of the coordinates (x) 
  since it is not needed. Define only the parameter gradient. 
- improve also the ParamFunction class used by the concrete function like Polynomial. Adapt Polynomial class to new 
  parameteric function interface
- improve Fit Result class with function to get parameter correlations after the fit and to fill any generic matrix 
with covariance or correlation result. 
- add method also in the minimizer interface to get correlation values 
- add strategy in the minimizer control parameters
- increase timing of stressMathCore and stressMathMore

Revision 23657 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 6 09:13:15 2008 UTC (6 years, 8 months ago) by moneta
File length: 10165 byte(s)
Diff to previous 23655
- fix compilaiton problem on Solaris
- add comments in TMinuitMinimizer class fixing the  coding convention violation

Revision 23655 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 6 07:58:46 2008 UTC (6 years, 8 months ago) by moneta
File length: 10163 byte(s)
Diff to previous 22885
- merge  changes with development branch (up to rev 23650). 
Main changes are: 

  TMath: 

        from David: The following methods now have additional interface working with Iterators as well:  
		MinElement
		MaxElement
		LocMin
		LocMax
		Mean
		GeomMean
		RMS
		BinarySearch
		Sort -> (changed to SortItr)
       	- use now std in binary search algorithm. Old algorithm failed some tests and it is found to be a 
           little bit slower 
       	- do not use std instead in LocMin and LocMax since generic std algorithm is slower on 64 bit arch. 
       	- TMath::PoissonI 
            fix a problem for large values, by using directly the TMath::Poisson implementation
       	- TMath::Landau and TMath::Landau
  		remove duplications by using directly ROOT::Math::landau_pdf and ROOT::Math::landau_cdf
	- TMath::Prob
   		use ROOT::Math::chisquared_cdf_c  (gives also less rounding errors  for small values)
	- TMath::GammaDist
   		use ROOT::Math::gamma_pdf , implementation now returns correct value, 0,  for large values of 
		shape parameter instead of nan
	- TMath::LogNormal:   
  		use ROOT::Math::lognormal_pdf 

	- compile TMath dictionary with -O2 
	- fix a warning in -Wshadow      

        - TMath.h is now  reordered by functionality and alphabetical order

  test: 
	various improvement from David, see http://root.cern.ch/viewcvs?rev=22880&root=root&view=rev	

  - add dictionary for the enumeration used in the Integration class 
  
  - from David: some clean up of Minimizer class (remove typedef definitions)

Revision 22885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 28 13:57:25 2008 UTC (6 years, 9 months ago) by rdm
File length: 10172 byte(s)
Diff to previous 22518
move the following directories under the new "math" meta directory:
   mathcore
   mathmore
   fftw
   foam
   fumili
   genvector
   matrix
   minuit
   minuit2
   mlp
   physics
   smatrix
   splot
   unuran
   quadp

Revision 22518 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 7 15:40:22 2008 UTC (6 years, 10 months ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 10172 byte(s)
Diff to previous 22419
Syncronize with the Math develoment branch: 
 
- merge classes from math (TMath, TComplex and TRandom) in libMathCore
- change various functions of TMath (work from David ):
	- make a single template functions for all the various types (like Sort or Binart Search) 
        - use std implementations for Sort, BinarySearch, LocMin
        - use mathcore special functions for Gamma and Beta functions 

- remove genvector from mathcore
- add classes for integration, derivation and root findings using the algorithms of TF1
-  use the plug-in manager to instantiates different implementations of the same classes in MathMore

Revision 22419 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 9710 byte(s)
Diff to previous 21503
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed. 

Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included. 

Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.

Revision 21503 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 17:34:54 2007 UTC (7 years, 1 month ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 9691 byte(s)
Diff to previous 21185
- update doc in mathcore and mathmore by adding the tag for THtml. 
  Take the occasion to correct and update some of the doc. 
  Fix also some indentation problems and  SVN keywords with some files
  add dictionary for some missing classes

Revision 21185 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 4 14:56:12 2007 UTC (7 years, 1 month ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 8372 byte(s)
Diff to previous 21114
- fix coding convention violation
- generate dictionaries for main Minuit2 classes
- add strategy to the propriety of Minimizer class 
- update standalone builds for mathcore/mathmore/smatrix/minuit2

Revision 21114 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 29 17:16:45 2007 UTC (7 years, 1 month ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 8172 byte(s)
Diff to previous 20882
- syncronize mathcore, mathmore, minuit2 and test/stressMathCore with development branches

- main changes are: 

-  move some remaining pdf (like	beta and landau) from mathmore to mathcore
- add missing landau_cdf
- fix a precision error with normal_cdf (and normal_cdf_c) for small x (large x). Use the correct erf or erfc function according to x
- move majority of quantiles functions from mathmore to mathcore ( implementation is based on inverse functions from Cephes, implemented in SpecFuncCephesInv.cxx) 

- add method to create Minimizer concreate classes via the plugin manager
- add possibility to use multi-dim funciton type in one dim integration

- minuit2: add some missing include cassert

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 7996 byte(s)
Diff to previous 20696
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20696 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 7 10:19:16 2007 UTC (7 years, 2 months ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 7996 byte(s)
Diff to previous 20231
- syncronize math, mathcore and mathmore with development branch
 
 - math:      remove the const in ParamFunctor::operator()(double *x, double *p)
  
 - mathcore:     
              - improve integration interface, have now two separate classes : 
              one for 1D the other for multi-dim functions. Rename class IntegratorMultiDim to AdaptiveIntegratorMultiDim
             - clean up of IFunction by removing the un-necessary Dim template parameter
             - add from Cephes inverse functions for normal, beta and gamma functions 
             - improve error reporting

 - mathmore: improve simulated annealing class and ad a test program taken from GSL: simanTSP
             fix problem with dictionary of concrete function classes (like Polynomial) on Windows

Revision 20231 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 5 14:36:37 2007 UTC (7 years, 3 months ago) by moneta
Original Path: trunk/mathcore/inc/Math/Minimizer.h
File length: 7996 byte(s)
Copied from: branches/dev/mathDev/mathcore/inc/Math/Minimizer.h revision 20211
Diff to previous 20067
- port changes from development branch (mathDev): 

  - add interface class for minimization and for fitting method function
  - add multi-dim integration class (CERNLIB algorithm)
  - add implementation for special functions from Cephes (gamma, error function,    incomplete gamma and incomplete beta) 
  - move all the cumulative distribution from MathMore to MathCore 
    (they can be implemented in therm of the inc beta and inc gamma)
  - update documentation making  mathcore, mathmore separate groups which can be combined together

Revision 20067 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 24 14:56:40 2007 UTC (7 years, 4 months ago) by moneta
Original Path: branches/dev/mathDev/mathcore/inc/Math/Minimizer.h
File length: 7996 byte(s)
Diff to previous 19998
- retrieve in configure the GSLVERSION number and define a compiler flags using this version number. 
- implement the BFGS2 minimizer only for version >= 1.9

Revision 19998 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Sep 21 16:16:53 2007 UTC (7 years, 4 months ago) by moneta
Original Path: branches/dev/mathDev/mathcore/inc/Math/Minimizer.h
File length: 8047 byte(s)
add in branch new GSL minimization files + required interfaces

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9