Log of /trunk/math/minuit/src/TLinearFitter.cxx
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: 76609 byte(s)
Diff to
previous 23471
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
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: 76637 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]
Modified
Mon Mar 10 14:01:37 2008 UTC (6 years, 10 months ago) by
moneta
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 76637 byte(s)
Diff to
previous 22225
- 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
Revision
22157 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 15 15:09:07 2008 UTC (6 years, 11 months ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 75578 byte(s)
Diff to
previous 21713
From Anna:
- in TLinearFitter::AddToDesign(), change the temporary parameter array size from 100 to 1000.
- Add a function TLinearFitter::GetNpoints() to return the number of points.
- Add functions TLinearFitter::GetDesignMatrix() and TLinearFitter::GetAtbVector() to return the corresponding internal structures of the fitter.
Revision
16279 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 15 15:16:57 2006 UTC (8 years, 4 months ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 71740 byte(s)
Diff to
previous 15972
From Anna:
- TFormula::EvalPar() is not changing parameters (the fParams data member) when a user passes his own uparams array as a second argument. Before - sometimes it did, sometimes it didn't.
- TF1::GradientPar() is now 0 on fixed parameters
- TFitter::GetConfidenceIntervals() is now taking the fixed parameters into account
- TLinearFitter::GetConfidenceIntervals() is now taking the fixed parameters into account
- TLinearFitter::FixParameter() can now be called before a first fit is performed (an accidently found bug :))
- TLinearFitter::Eval() now returns 1 if there are errors in the fit. According changes in:
--TH1
--TGraph
--TGraph2D
--TMultiGraph
Revision
15849 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 26 13:36:44 2006 UTC (8 years, 6 months ago) by
rdm
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 68633 byte(s)
Diff to
previous 15489
Instead of providing default implementations for copy ctor's and assignment
operators we better make them private (and not implemented) to avoid people
from accidentally using them. Especially the collections classes and the
TQObject derived classes. In these classes the default implementations would
cause havoc due to multiple deletions of the same objects and other
potential memory corruptions.
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 70890 byte(s)
Diff to
previous 15033
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
13652 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 12 14:39:15 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 69790 byte(s)
Diff to
previous 13412
From Anna:
here are the changes in TFormula::ProcessLinear and in TLinearFitter to make them
both accept "x[i]" kind of functions. I've changed the comments to describe this new
syntax only, but the old "xi" kind of functions can still be processed by the linear
fitter.
Revision
13399 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 29 14:43:59 2005 UTC (9 years, 1 month ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 69943 byte(s)
Diff to
previous 13347
From Anna:
Implement new functions in the TVirtualFitter and corresponding
implementations to compute the confidence intervals.
Two kinds of interfaces are implemented, eg
void TFitter::GetConfidenceIntervals(Int_t n, Int_t ndim, Double_t *x, Double_t *ci, Double_t cl)
//Computes point-by-point confidence intervals for the fitted function
//Parameters:
//n - number of points
//ndim - dimensions of points
//x - points, at which to compute the intervals, for ndim > 1
// should be in order: (x0,y0, x1, y1, ... xn, yn)
//ci - computed intervals are returned in this array
//cl - confidence level, default=0.95
//NOTE, that the intervals are approximate for nonlinear(in parameters) models
void TFitter::GetConfidenceIntervals(TObject *obj, Double_t cl)
//Computes confidence intervals at level cl. Default is 0.95
//The TObject parameter can be a TGraphErrors, a TGraph2DErrors or a TH1,2,3.
//For Graphs, confidence intervals are computed for each point,
//the value of the graph at that point is set to the function value at that
//point, and the graph y-errors (or z-errors) are set to the value of
//the confidence interval at that point.
//For Histograms, confidence intervals are computed for each bin center
//The bin content of this bin is then set to the function value at the bin
//center, and the bin error is set to the confidence interval value.
//NOTE: confidence intervals are approximate for nonlinear models!
//
//Allowed combinations:
//Fitted object Passed object
//TGraph TGraphErrors, TH1
//TGraphErrors, AsymmErrors TGraphErrors, TH1
//TH1 TGraphErrors, TH1
//TGraph2D TGraph2DErrors, TH2
//TGraph2DErrors TGraph2DErrors, TH2
//TH2 TGraph2DErrors, TH2
//TH3 TH3
Revision
12136 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 23 10:04:08 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 57638 byte(s)
Diff to
previous 11979
From Anna Kreshuk:
Methods to compute Least trimmed squares regression coefficients
were added to the TLinearFitter class.
Now robust linear fitting can be performed for the datasets, in which
outliers influence the ordinary least-squares fit. The maximal breakdown
point of the algorithm is |(floor((n-p)/2) +1)/n, which means that
LTS fit stays in a bounded region whenever floor((n-p)/2) or fewer
observations are replaced by arbitary points.
The implementation is based on the article "Computing LTS regression
for Large Data Sets" by Peter J. Rousseeuw and Katrien Van Driessen.
Revision
11226 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Fri Mar 4 09:06:37 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/minuit/src/TLinearFitter.cxx
File length: 36009 byte(s)
From Anna Kreshuk:
- TLinearFitter class: Linear fitter is used to fit a set of data points with a linear
combination of specified functions (with or without weights). The "linear" in the name
stands for "linear in parameters", not variables. The main advantages,
compared to a general non-linear fitter, is that the linear fitter is considerably
faster and doesn't require setting the initial values of parameters.
The linear fitter can be used directly or through TH1::Fit and TGraph::Fit functions
When it's used directly, functions of more than 3 dimensions can be fitted.
- TFormula: a new data member fLinearParts and methods to process it are added. Now
one can create a function of the type that can be fit by the linear fitter.
Example: TFormula f("f", "x++sin(x)") is equivalent to
TFormula f("f","[0]*x + [1]*sin(x)"), but if a TH1::Fit or a TGraph::Fit is performed
with the 1st formula, it goes through the linear fitter, if it's performed with the
2nd formula, it goes through Minuit.
- TMultiGraph class: the Fit method is implemented, allowing to fit all the graphs
of a multigraph simultaneously
- TGraph, TGraphErrors, TGraphAsymmErrors, TGraphBentErrors - functions GetEXhigh(),
GetEXlow(), GetEYhigh(), GetEYlow() implemented to simplify the GraphFitChisquare()
function of the TFitter class
- TH1, TGraph, TGraph2D, TMultiGraph - changes in the Fit functions, allowing to use
the linear fitter. Fitting with "polN" functions redirected to use the linear fitter,
in cases where no options, except "range", are specified.
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.