[root] / trunk / math / minuit / src / TMinuitMinimizer.cxx Repository:
ViewVC logotype

Log of /trunk/math/minuit/src/TMinuitMinimizer.cxx

Parent Directory Parent Directory


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

Revision 49190 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 10 10:12:29 2013 UTC (21 months, 2 weeks ago) by moneta
File length: 34919 byte(s)
Diff to previous 49147
TMinuitMinimizer: Do not flag as errors the case Minos failed to find a lower or upper value for a parameter
Minuit2Minimizer: Update returned errors and status in case of Minos

Revision 49147 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 9 15:10:50 2013 UTC (21 months, 2 weeks ago) by moneta
File length: 34697 byte(s)
Diff to previous 48810
set different status code from Minos when fails on one of the parameter error

Revision 48810 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 5 11:02:56 2013 UTC (22 months, 2 weeks ago) by moneta
File length: 34480 byte(s)
Diff to previous 48271
Suppress an Info message
see : http://root.cern.ch/phpBB3/posting.php?mode=reply&f=15&t=16136

Revision 48271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 16:38:47 2013 UTC (2 years ago) by moneta
File length: 34459 byte(s)
Diff to previous 48245
fix in RooMinimizer the setting of limits on parameters in case of half-intervals [a, +INF] or [ -INF,b]
The parameters were in that case considered free or in same case (when calling minimize() a second time) set with lower=upper limit = 0  which was causing an assert in Minuit2

In case of TMinuit, half-intervals are not supported by transpormations, use then a large lower/upper bound value (not too large 
to avoid an error inside TMinuit)

Revision 48245 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 9 14:29:49 2013 UTC (2 years ago) by moneta
File length: 33383 byte(s)
Diff to previous 46495
Fix for case when all parameters are fixed, just return in this case the function value 
(see https://savannah.cern.ch/bugs/?99058 )

improve also error messages

Revision 46495 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 12 14:04:24 2012 UTC (2 years, 3 months ago) by moneta
File length: 32761 byte(s)
Diff to previous 46042
Improve Minimizer class by adding some additional methods to set variable properties and query them

Factorize out common functionality of GSLMinimizer class in a new common abstract class (BasicMinimizer) which can be re-used for 
new minimizer implementations

Fix some problems discovered with GSLSimAnMinimizer

Revision 46042 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 10:31:16 2012 UTC (2 years, 4 months ago) by moneta
File length: 30242 byte(s)
Diff to previous 45997
do not remove one point when making the contour

Revision 45997 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 17 08:22:23 2012 UTC (2 years, 4 months ago) by moneta
File length: 30299 byte(s)
Diff to previous 43901
Fix setting of parameters (error def, print level, etc..) for Minos when run it a second time

Revision 43901 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 23 11:09:34 2012 UTC (2 years, 9 months ago) by moneta
File length: 30110 byte(s)
Diff to previous 43086
- run Hesse after Improve or other minimizer if the error status is not full accurate

Revision 43086 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 22 13:41:34 2012 UTC (2 years, 11 months ago) by moneta
File length: 29933 byte(s)
Diff to previous 42935
fix a problem in changing the startegy for TMinuit

Revision 42935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 9 09:56:14 2012 UTC (2 years, 11 months ago) by moneta
File length: 29792 byte(s)
Diff to previous 40564
fix for bug 91103 (missing info in a debug print line in mnhess) 

suppress also warning in the TMinuitMinimizer when prinlevel <=0

Revision 40564 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 11 16:28:02 2011 UTC (3 years, 5 months ago) by moneta
File length: 29792 byte(s)
Diff to previous 39420
suppress warning also when setting  the parameters and printLevel=-1

Revision 39420 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 26 15:00:28 2011 UTC (3 years, 7 months ago) by moneta
File length: 29475 byte(s)
Diff to previous 37461
- impelment also for TMinuitMinimizer new methods for retrieving full cov matrix and hessian matrix (needed for weight correction)

- HFitImpl: When using weighted fit print the FitResult instead of using TMinuit print since the TMinuit one will not be corrected for the weights. 
 Do the same in case of chi2 fits without errors (TGraph)

Revision 37461 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 9 22:19:18 2010 UTC (4 years, 1 month ago) by moneta
File length: 27625 byte(s)
Diff to previous 35690
add some debug information when requested

Revision 35690 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 19:51:21 2010 UTC (4 years, 4 months ago) by moneta
File length: 27374 byte(s)
Diff to previous 35643
fix a double deletion of TMinuit when the instance used by TMinuitMinimizer was asigned to an existing one

Revision 35643 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 12:48:32 2010 UTC (4 years, 4 months ago) by moneta
File length: 27178 byte(s)
Diff to previous 32490
fix a conflict between using at the same time TFitter (and TMinuit) and TMinuitMinimizer (i.e.  when doing TH1::Fit)

- by default TMinuitMinimizer uses global instance of TMinuit (gMinuit). Add a check now if this has been deleted or if it has been re-created outside

- when fitting with TH1::Fit delete the TBackCompFitter object only if it has been created before from a previos TH1::Fit. This avoids deleting an external TMinuit instance

This patch should fix https://savannah.cern.ch/bugs/index.php?72909

Revision 32490 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 8 07:03:11 2010 UTC (4 years, 10 months ago) by brun
File length: 25436 byte(s)
Diff to previous 32479
Fix coding conventions.

Revision 32479 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 5 14:31:15 2010 UTC (4 years, 10 months ago) by moneta
File length: 25448 byte(s)
Diff to previous 31763
- when re-defined a parameters be sure to release it if needed
 This fixes (for Minuit and Minuit2) the problem  reported in http://root.cern.ch/phpBB2/viewtopic.php?t=9947

Revision 31763 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 10 10:40:21 2009 UTC (5 years, 1 month ago) by moneta
File length: 24380 byte(s)
Diff to previous 31604
add various fixes for coverity (mainly un-initizialized constructors) but also two potential bugs in DataRange and UnBinData

Revision 31604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 7 19:04:33 2009 UTC (5 years, 1 month ago) by moneta
File length: 24338 byte(s)
Diff to previous 31181
- fix a problem returning the covariance matrix when fit failed. Now all minimizer implements CovMatrixStatus() when they calculate the covariance matrix. Add in FitResult method to return covariance matrix status 
- Add a flag in interface of Minimizer::GetMinosError to do separatly positive or negative errors 
- fix usage of  default minimizer from what is defined in etc/system.rootrc

- improve comment in TH1::Fit and TGraph::Fit for usage of TFitResultPtr

Revision 31181 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 16 11:00:58 2009 UTC (5 years, 2 months ago) by moneta
File length: 24332 byte(s)
Diff to previous 30749
merge from  https://root.cern.ch/svn/root/branches/dev/mathDev/math/minuit  up to revision 31170 

- TMinuit.cxx: fix the printout when using SCAN
- TMinuitMinimizer:    
     implement the SetPrecision using SET EPS in Minuit
     implement method to retrieve the parameter name
 
- TLinearMinimizer: fix some error messages

Revision 30749 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 15 16:33:04 2009 UTC (5 years, 3 months ago) by brun
File length: 23058 byte(s)
Diff to previous 30114
From Matthew Strait:
This patch fixes the spelling of "function" in the root source code
and documentation, which is misspelled (sometimes as part of larger
"function"-based words) at least 152 times:

* "funciton" 48 times
* "funcion" 36 times
* "funtion" 23 times
* "fucntion" 17 times
* "functionn" 6 times
* "fuction" 6 times
* "fuunction" 4 times
* "functioin" 3 times
* "fonction" 3 times
* "funstion" twice
* "fnuction" once
* "functiom" once
* "functio" once
* "funcition" once

Revision 30114 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 11 12:45:07 2009 UTC (5 years, 4 months ago) by moneta
File length: 23058 byte(s)
Diff to previous 29768
- force the use of user provided gradient. This fix a problem reported in http://root.cern.ch/phpBB2/viewtopic.php?t=9144

Revision 29768 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 12 15:07:40 2009 UTC (5 years, 5 months ago) by moneta
File length: 22972 byte(s)
Diff to previous 28987
- fix TMinuitMinimizer::GlobalCC when there are fixed parameters, by transforming from external to internal parameter indices. 

This fix the valgrind problem reported by Otto Schaile: 

https://savannah.cern.ch/bugs/?54279

Revision 28987 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 15 08:05:54 2009 UTC (5 years, 7 months ago) by moneta
File length: 22790 byte(s)
Diff to previous 28946
TMinuit: 

	 fix a bug in scanf (use pointer to the variables) thanks to Fons 

TMinuitMinimizer: 
 
fix some coding convention

Revision 28946 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 11 15:39:14 2009 UTC (5 years, 7 months ago) by moneta
File length: 22684 byte(s)
Diff to previous 28602
merge changes fromdevelopment branch for 
 mathcore,  minuit, minuit2

Mathcore: 
 -    improve Fitter class by adding methods for calculating errors
	after fitting
 - add support in configuration to specify parameters on which Minos must be run
 - fix some bugs found by Alfio in FitResult when running Minos
 - store in the resul a map for the parameter index and minos errors 

- add Hess() method to Minimizer to calculate the full covariance matrix
  (implemented using Minuit and Minuit2)

- add in MInimizer method to retrieve the status of covariance matrix (for Minuit and Minuit2)

Minuit2: 
  - set tolerance for contours to 0.01
  - apply changes in MinuitMinimizer required by base class 
  - remove some assert when defining the parameters 

Minuit: 
  - various improvements, thanks to Alfio
  - add SEEK as new method

Integrator: 
  use const reference in the template methods instead of passing the function object 
by value

Revision 28602 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 13 13:53:15 2009 UTC (5 years, 8 months ago) by moneta
File length: 19712 byte(s)
Diff to previous 28592
- fix a problem (found by Alfio) in TMinuitMinimizer::GetMinosError, wrong argument were passed in MINOS command and it war run for all parameters not just the one specified

Revision 28592 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 13 09:37:39 2009 UTC (5 years, 8 months ago) by moneta
File length: 19617 byte(s)
Diff to previous 26931
- apply various small improvement to minimizer classes, in particular: 

  - implement NCalls() for TMinuit (thanks to Alfio) and fix cases when SetFunction has not been called
  - when calling SetLimitedVariables on minimizer who do not support bounds return false instead of 
   setting unbound variables 
  - improve handling of errors for GSLMinimizer
    (see http://root.cern.ch/phpBB2/viewtopic.php?t=8492 )

Revision 26931 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 15 20:33:52 2008 UTC (6 years, 1 month ago) by brun
File length: 18654 byte(s)
Diff to previous 26866
From Lorenzo:
patch for suppressing warnings in Minuit when fitting with option "Q"

Revision 26866 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 12 10:50:07 2008 UTC (6 years, 1 month ago) by moneta
File length: 18319 byte(s)
Diff to previous 26415
import lates changes from math development branch 
(from rev 26842) 

The main changes are: 
- add support for drawing Scan and Contour plot from FitPanel
- improve Minimizer interface by adding methods for contours and scan.  
  implement them using Minuit  and Minuit2

Mathcore: 
- improve Fitter class
  mantain now after fitting a reference to the Minimizer and Objective funciton which can be used later for performing the contour and scans      
  - avoid a copy of FitResult class 
 - add new methods in Minimizer for re-setting the variable values 
 - fix the bin fitting using the bin function integral in combination with the gradient or with Fumili 
 - add dictionary for Fit method functions 


Minuit2: 
 remove limit on number of scan points 
 implement scan and contour in Minuit2Minimizer

Minuit
 implement scan and contour in TMinuitMinimizer

SMatrix: 

 Change implementation of SMatrix::Invert (and Inverse) to use the 
 direct Cramer method only for 2x2 (not up to 5x5)
 Add SMatrix::InvertFast using Cramer method up to 5x5 
 (this is having now same behavior as before)

hist: 
 TBackCompFitter: 
 improve class due to change in Fitter. Use now the minimizer reference and 
 there is no need to re-create it
  Add interface for scan and contour in TBackCompFitter
 Add methods to retrieve FitResult and FitConfig

mathmore
 fix a memory leak
 implement changes in Minimizer 

fitpanel
 new dialog for the advanced drawing option with two tabs one for 
 drawing contour the other for drawing scan plots
  fixed some meory leaks and other small problems

Revision 26415 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 24 15:22:41 2008 UTC (6 years, 2 months ago) by moneta
File length: 14585 byte(s)
Diff to previous 26332
fix a problem in re-using Minuit when fitting. Now a reset in TMinuit is done before setting again the parameters
Add support for SCAN as an algorithm of TMinuitMinimizer  (now it works also from the FitPanel)

from David: fix a bug in the copy constructor of TProfile3D

Revision 26332 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 21 09:15:12 2008 UTC (6 years, 2 months ago) by moneta
File length: 13664 byte(s)
Diff to previous 25877
fix a bug in printing result after fitting when using TMinuit with some fixed parameters. 
The problem was in setting the fix parameters in TMinuit. They were set as constants which are ignored 
(not considered in the total number of parameters)

Revision 25877 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 18 10:54:51 2008 UTC (6 years, 3 months ago) by moneta
File length: 13437 byte(s)
Diff to previous 25503
fix a problem when using Improve option. 
fix a warning in icc

Revision 25503 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 22 21:27:44 2008 UTC (6 years, 4 months ago) by moneta
File length: 13325 byte(s)
Diff to previous 25501
- fix minuit printout. Must call TMinuit::mnprin with code=3 or 4

Revision 25501 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 22 20:55:57 2008 UTC (6 years, 4 months ago) by moneta
File length: 13144 byte(s)
Diff to previous 25486
- fix a problem in using gMinuit after having called TH1::Fit. Now in the class TMinuitMinimizer a static TMinuit is not deleted and the static instance is used. 
- for Minuit provide printing of results in the old way
- use MinimizerOptions class for default parameter of TVirtualFitter

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: 12254 byte(s)
Diff to previous 23657
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 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: 11190 byte(s)
Diff to previous 23623
- fix compilaiton problem on Solaris
- add comments in TMinuitMinimizer class fixing the  coding convention violation

Revision 23623 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 30 16:13:06 2008 UTC (6 years, 8 months ago) by moneta
File length: 9926 byte(s)
Diff to previous 22885
- sync changes of David from dev. branch

 use directly ROOT::Math::IMultiGenFunction and ROOT::Math::IMultiGradFunction instead of typedef's

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: 9842 byte(s)
Diff to previous 22564
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 22564 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Mar 10 14:01:37 2008 UTC (6 years, 10 months ago) by moneta
Original Path: trunk/minuit/src/TMinuitMinimizer.cxx
File length: 9842 byte(s)
- fix coding convention violations (mainly change name of RootFinder enumeration)
- fix warning observed on the Windows nightly (avid generating the dictionary for fit method functions for all platforms, it is not needed) 
- add implementation of  Minimizer interface using TMinuit and the linear fitter
- add method SetBasisFunctions in TLinearFitter class to set the linear terms  
- add some optimization of wrapped functions and improve doc

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