Re: Minuit2 convergence

From: Lorenzo Moneta <Lorenzo.Moneta_at_cern.ch>
Date: Tue, 11 Nov 2008 10:50:45 +0100


Hi,

  the class FunctionMinimum,

  see http://project-mathlibs.web.cern.ch/project-mathlibs/sw/Minuit2/html/classROOT_1_1Minuit2_1_1FunctionMinimum.html

contains all information you need.
If it is not valid then this is normally due for an exceeding call limit or an edm (expected distance from minimum) above the tolerance. You can get this by calling

minimum.HasReachedCallLimit() or minimum.IsAboveMaxEdm() where minimum is an instance of the class FunctionMinimum returned by the minimization method.

 From the FunctionMinimum class you can get the last value of the parameters too by doing:

std::vector<double> params = minimum.UserState().Params();

or for a specific parameter i:

double paramValue = minimum.UserState().Value(i);

Let me know if you have further questions,

Best Regards

  Lorenzo

On Nov 10, 2008, at 9:18 PM, Patrick Dupre wrote:

> Hello,
>
> In case of wrong convergence with muinit2 (FunctionMinimum IsValid),
> 1) how can I get some details about the convergence ? why did it not
> converge ?
> 2) The parameters used to try to get the convergence are not
> available, but I can see that their is a partial convergence because
> the value of Chi2 is lower when it stopped compared to the
> beginning. How can I get the parameter used for the last try ?
>
> Thank.
>
> --
> ---
> =
> =
> =
> =
> ======================================================================
> Patrick DUPRÉ | |
> Department of Chemistry | | Phone: (44)-
> (0)-1904-434384
> The University of York | | Fax: (44)-
> (0)-1904-432516
> Heslington | |
> York YO10 5DD United Kingdom | | email: pd520_at_york.ac.uk
> =
> =
> =
> =
> ======================================================================
Received on Tue Nov 11 2008 - 10:50:12 CET

This archive was generated by hypermail 2.2.0 : Wed Nov 12 2008 - 11:50:01 CET