Log of /trunk/math/mathcore/inc/Math/Minimizer.h
Parent Directory
Revision
48992 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 28 15:26:26 2013 UTC (21 months, 3 weeks ago) by
rdm
File length: 17645 byte(s)
Diff to
previous 46495
From Lifeng Sun:
The attached patchset fixes a bunch of typo in the source:
0001-succes-success.patch
0002-preceed-preced.patch
0003-informations-information.patch
0004-childs-children.patch
0005-avaliable-available.patch
0006-writeable-writable.patch
0007-comand-command.patch
0008-unkown-unknown.patch
0009-wierd-weird.patch
0010-wheter-whether.patch
0011-unecessary-unnecessary.patch
0012-splitted-split.patch
0013-registerd-registered.patch
0014-recieve-receive.patch
0015-processsing-processing.patch
0016-ouput-output.patch
0017-mutiple-multiple.patch
0018-lenght-length.patch
0019-interupted-interrupted.patch
0020-independant-independent.patch
0021-inconsistant-inconsistent.patch
0022-expresion-expression.patch
0023-explicitely-explicitly.patch
0024-enviroment-environment.patch
0025-deafult-default.patch
0026-continous-continuous.patch
0027-completly-completely.patch
0028-commited-committed.patch
0029-choosen-chosen.patch
0030-backgroud-background.patch
0031-auxilliary-auxiliary.patch
0032-authentification-authentication.patch
0033-appropiate-appropriate.patch
0034-an-other-another.patch
0035-environement-environment.patch
0036-targetting-targeting.patch
0037-suppported-supported.patch
0038-paramater-parameter.patch
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: 17644 byte(s)
Diff to
previous 39382
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
39382 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 26 08:31:43 2011 UTC (3 years, 8 months ago) by
moneta
File length: 15894 byte(s)
Diff to
previous 36905
- Add new version of Fitter class with vorious improvements:
- add possibility to just evaluate FCN one time (EvalFCN) and fill the result
(see request https://savannah.cern.ch/bugs/?75896 )
using the FitConfig information for parameter values and errors
This required adding a ctor of FitResult from FitConfig
- Add SetFCN methos in Fitter class
- Update the configuration (FitCOnfig) after a fit with FitResult values
So next fit will use improved parameter values. This can be switched on
by using FitConfig::SetUpdateAfterFit(on/off)
- Add possibility to run Hesse (Fitter:::CalculateHessErrors) without having done the minimization
- Add support for weighted likelihood fits by adding method Fitter::ApplyWeightCorrection()
which corrects covariance matrix for weights
- Add support for weights in binned (Poisson) likelihood
(see request https://savannah.cern.ch/bugs/?79754 )
- Change default tolerance in MinimizerOptions from 0.0001 to 0.01
Revision
36905 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 24 15:44:34 2010 UTC (4 years, 2 months ago) by
moneta
File length: 14997 byte(s)
Diff to
previous 36798
- apply a fix in copy ctor of MinimizerOptions (did not copy name)
- make some methods in Minimizer const
- add support to the Brent classes to perform a grid search in log bins
Revision
36519 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 5 15:51:47 2010 UTC (4 years, 2 months ago) by
moneta
File length: 14586 byte(s)
Diff to
previous 31604
- use default option values at construction time which are specified in MinimizerOptions class
- add also a SetOptions and SetDefaultOptions methods
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: 14054 byte(s)
Diff to
previous 31180
- 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
31180 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 16 10:54:05 2009 UTC (5 years, 2 months ago) by
moneta
File length: 13752 byte(s)
Diff to
previous 30749
merge chenages from https://root.cern.ch/svn/root/branches/dev/mathDev/math/mathcore up to revision 31170 :
- add from David a class to represent binnned sparse data (SparseData) which merges the empty bins.
This allows an efficient likelihood fit of the THnSparse histograms
- add in BinData and in FitUtil the support for normalization according to the bin volume
- add in Minimizer a SetPrecision method and a method to retrieve the index or name of a parameter
- FitResult : make the function pointer temporary (for I/O), fix default constructor intizialization and print the result also when fit is invalid
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: 13026 byte(s)
Diff to
previous 28946
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
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: 13026 byte(s)
Diff to
previous 28592
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
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: 12679 byte(s)
Diff to
previous 26866
- 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
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: 12712 byte(s)
Diff to
previous 26014
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
26014 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 29 16:37:28 2008 UTC (6 years, 2 months ago) by
moneta
File length: 11419 byte(s)
Diff to
previous 25501
- import changes in development branch for mathcore and minuit2 from 25740 to HEAD revision.
For mathcore fix some small bugs, in particular when using Fitter::FitFCN
- for minuit2 add ifdef statement to be able to parallelize gradient calculation using openMP
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: 11155 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: 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
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
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
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
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.