angry FindMinimum

• To: mathgroup at smc.vnet.net
• Subject: [mg57548] angry FindMinimum
• From: "Pascal" <Pascal.Plaza at ens.fr>
• Date: Wed, 1 Jun 2005 06:01:32 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

Hi,

I have difficulties finding the local minimum of a function with
FindMinimum.

To start with, there is a data matrix U that can be simulated for the
example like this:
T0 = {Table[Exp[-n/0.5], {n,0,6}], Table[Exp[-n/4], {n,0,6}]};
B0 = Table[Random[], {i,1,5}, {j,1,2}];
U = B0.T0;

The function is defined as follows:
h[t1_, t2_] := (
T = {Table[Exp[-n/t1], {n,0,6}], Table[Exp[-n/t2], {n,0,6}]};
invT = PseudoInverse[T];
B = U.invT;
residue = U - B.T;
Norm[Flatten[residue]]
)

It finds matrix B which minimizes the least-squares difference between
B.T and data matrix U, for given t1 and t2. It returns the 2-norm of
the difference matrix. The game is to find the best t1 and t2.

ContourPlot[h[x, y], {x,0.2,0.8}, {y,3,6}] nicely shows a minimum with
t1=0.5 and t2=4, as expected.

This is when I failed using FindMinimum, even with only one variable.
FindMinimum[h[x,4], {x, 0.4, 0.2, 0.8}]  returns:
"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."

Thanks for any help.

• Prev by Date: Re: Re: global fit
• Next by Date: Re: Re: Limit of list
• Previous by thread: Re: Re: global fit
• Next by thread: Re: angry FindMinimum