Re: [ROOT] Fitting with Constraints

From: Victor Perevoztchikov (perev@bnl.gov)
Date: Mon Apr 07 2003 - 17:51:47 MEST


Hi Eddi,
> I have attached a pdf document in which I spell out in detail how to
> perform a minimization with parameter constraints (linear or non-linear).
I looked on it. Everything is correct. If you will do everything according
to this document,
it will be OK. But you must do it as described, you can not use Minuit for
it.

Victor

Victor M. Perevoztchikov   perev@bnl.gov
Brookhaven National Laboratory MS 510A PO Box 5000 Upton NY 11973-5000
tel office : 631-344-7894; fax 631-344-4206;

----- Original Message -----
From: "Eddy Offermann" <eddy@rentec.com>
To: "Victor Perevoztchikov" <perev@bnl.gov>
Cc: <roottalk@pcroot.cern.ch>
Sent: Sunday, April 06, 2003 11:02 PM
Subject: Re: [ROOT] Fitting with Constraints


> Hi Victor and Matthew,
>
> No, that is not how one implements constraints with Lagrangian
multipliers;
> you forget that constrain(par) = 0 !
>
> I have attached a pdf document in which I spell out in detail how to
> perform a minimization with parameter constraints (linear or non-linear).
>
> Eddy
>
> (Unfortunately, it was written in MS Word (around 1997) and a few special
characters
> refused the Microsoft upgrade path.)
>
>
> >
> > Hi Eddi and Matthew,
> > > Case 1 is simple: just add a Lagrangian multiplier(s) to your
objective
> > >   function that you are minimizing in TMinuit. Case 2 is far more
> > difficult
> >
> > it is not exactly true, both cases are complicated.
> > Lagrangian multiplier(s) do not help.
> >
> > newFcn = fcn(par) + L*constrain(par)
> >
> > then Minuit will search minimum of newFcn(par,L) but minimu is
> > evident, -infinity
> > because L could be very big.
> > Minuit does not searh extremum, it searches minimum.
> > But newFcn(par,L) has sadle point in extremum and Minuit can not handle
it.
> >
> > The only (but bad way) is.
> > newFcn = fcn(par) + 1000.*constrain(par)**2
> >
> > If first approximation is very good, it could work.
> >
> > The only existing, but hard way, is to select independent variables and
> > calculate others using constrains
> > Then Minuit will work as usual with independent variable
> >
> > Victor
> >
> >
> >
> > Victor M. Perevoztchikov   perev@bnl.gov
> > Brookhaven National Laboratory MS 510A PO Box 5000 Upton NY 11973-5000
> > tel office : 631-344-7894; fax 631-344-4206;
> >
> > ----- Original Message -----
> > From: "Eddy Offermann" <eddy@rentec.com>
> > To: <mdwood@midway.uchicago.edu>
> > Cc: <roottalk@pcroot.cern.ch>
> > Sent: Friday, April 04, 2003 2:45 PM
> > Subject: Re: [ROOT] Fitting with Constraints
> >
> >
> > > Hi Matthew,
> > >
> > > What kind of constraint ?
> > >
> > > 1) f(c1,c2,...) = 0 where c_i are the variables
> > >   or
> > > 2) f(c1,c2,...) < 0
> > >
> > > Case 1 is simple: just add a Lagrangian multiplier(s) to your
objective
> > >   function that you are minimizing in TMinuit. Case 2 is far more
> > difficult
> > >
> > >
> > > Eddy
> > >
> > > > X-Authentication-Warning: harper.uchicago.edu: mdwood owned process
> > doing -bs
> > > > Date: Thu, 3 Apr 2003 16:18:17 -0600 (CST)
> > > > From: Matthew Wood <mdwood@midway.uchicago.edu>
> > > > X-Sender: mdwood@harper.uchicago.edu
> > > > To: roottalk@pcroot.cern.ch
> > > > Subject: [ROOT] Fitting with Constraints
> > > > MIME-Version: 1.0
> > > >
> > > > Hi.  I am trying to use the TMinuit class in Root to fit a function
> > given
> > > > a constraint function.  How does one create and use a constraint
> > function
> > > > with TMinuit?
> > > >
> > > > Matthew Wood
>



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET