Log of /trunk/math/mathcore/inc/Math/Minimizer.h
Parent Directory
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.