MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive


  • To: mathgroup at
  • Subject: [mg50879] FindMinimum
  • From: Steve Gray <stevebg at>
  • Date: Sat, 25 Sep 2004 01:55:26 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

I have a complicated function F(x,y) which over its domain  -50<x,y<50 has several local
minima. I have a point x0,y0 which is known to lie in one of the "basins" which contains a minimum
that I need to find. (I need the x,y location of the minimum much more than its value.)
I also know that there are "walls" of higher values of F all around this basin, separating
this minimum from others. But I do not know how wide the basin is, so the search limits for
FindMinimum have to be wide enough to possibly enclose the other minima. It's important in my
application that FindMinimum NOT jump the walls to the other minima, which could be smaller, but
stay in the basin where I start it.
The syntax is FindMinimum[F[x,y], {x, x0, x0-50, x0+50}, {y, y0, y0-50, y0+50}].
Unless I'm misunderstanding something, it shows a very odd behavior, namely finding the
right minimum only when the search range is much smaller than +-50. When the search
range is +-50, as in the syntax example, it sometimes finds only the starting point x0,y0. (???)

Sometimes I get - 
	"FindMinimum::lstol: The line search decreased the step size to within \
	tolerance specified by AccuracyGoal and PrecisionGoal but was unable to find \
	a sufficient decrease in the function.  You may need more than \
	MachinePrecision digits of working precision to meet these tolerances."

How do I fix this? Could this be why it seems to malfunction? Thanks for any information.

Steve Gray

  • Prev by Date: Re: trimming a string
  • Next by Date: Re: Integrating Feynman integrals in mathematica
  • Previous by thread: Minimization problem
  • Next by thread: Publicon: removing line from table