help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Nonlinear Solver With Bounds


From: Barrett C. Foat
Subject: Re: [Help-gsl] Nonlinear Solver With Bounds
Date: Sat, 15 Sep 2007 08:43:52 -0500
User-agent: KMail/1.9.3

I do not believe that such extra functions will impair the convergence 
properties as long as there is a good minimum in the range of possible 
values. I have had functions that would not converge unless I constrained 
the values to be positive.

It will affect the covariance matrix, since the matrix is generated for the 
minimized values of the auxiliary functions and not the parameters in your 
real model. I would have to do a bit of scribbling equations to figure out 
how they would be affected. I am not an expert on the LM algorithm (yet), 
just power user.

Barrett

On Friday 14 September 2007 14:36, Eskandar Ensafi wrote:
> Dear Barrett,
>
> Thank you for the tip.  I thoght about doing something
> similar, but I was worried that it would impact the
> convergence properties of the algorithm and alter the
> parameter correlation matrix.  Perhaps this is not an
> issue after all -- is it?
>
> Thanks again,
>
> Eskandar
>
> --- "Barrett C. Foat" <address@hidden> wrote:
> > Hi Eskandar,
> >
> > You can impose constraints on model parameters by
> > defining auxiliary
> > functions. For example if you want a parameter b to
> > always be positive,
> > you add it to the function as c^2 and then after the
> > algorithm converges
> > on a value (positive or negative) for c, you just
> > square it to get your
> > final value of b. Likewise, you can impose any
> > arbitrary range using sin
> > or cos. For example if you want values of b only
> > between 0 and 1, you can
> > represent it by (0.5 * (cos(c) + 1)). No matter what
> > value c takes during
> > the minimization, b = (0.5 * (cos(c) + 1)) is always
> > between, 0 and 1
> > inclusive.
> >
> > Sorry, I'm not familiar with the PORT library.
> >
> > Barrett Foat
> >
> > On Thursday 13 September 2007 17:04, Eskandar Ensafi
> >
> > wrote:
> > > Hi,
> > >
> > > I would like to use the functions defined in
> > > "gsl_multifit_nlin.h" to solve nonlinear
> >
> > least-squares
> >
> > > and general nonlinear minimization problems.
> >
> > However,
> >
> > > I do not see a way to impose constraints (simple
> > > bounds) on the model parameters (independent
> > > variables).  This is particularly important in
> > > problems where one or more model parameters must
> > > always be positive, or if a weight parameter must
> > > always be between 0 and 1.  How can this problem
> >
> > be
> >
> > > addressed in the current version of GSL?
> > >
> > > Also, for those of you familiar with the PORT
> >
> > Library
> >
> > > <http://www.bell-labs.com/project/PORT>, how does
> > > GSL's nonlinear solver compare to the PORT
> >
> > versions in
> >
> > > terms of robustness?  I am specifically referring
> >
> > to
> >
> > > the PORT routines DN2FB and DN2GB, which were
> >
> > based on
> >
> > > NL2SOL, an adaptive nonlinear least-squares
> >
> > algorithm
> >
> > > (ACM TOMS Algorithm 573).
> > >
> > > Thanks!
> > >
> > > Eskandar
>
> ________________________________________________________________________
>
> > >____________ Need a vacation? Get great deals
> > > to amazing places on Yahoo! Travel.
> > > http://travel.yahoo.com/
> > >
> > >
> > > _______________________________________________
> > > Help-gsl mailing list
> > > address@hidden
> > > http://lists.gnu.org/mailman/listinfo/help-gsl
> >
> > _______________________________________________
> > Help-gsl mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/help-gsl
>
> ________________________________________________________________________
>____________ Got a little couch potato?
> Check out fun summer activities for kids.
> http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+ki
>ds&cs=bz
>
>
> _______________________________________________
> Help-gsl mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-gsl




reply via email to

[Prev in Thread] Current Thread [Next in Thread]