Evaluation of numeric Functions in NMinimize

• To: mathgroup at smc.vnet.net
• Subject: [mg45478] Evaluation of numeric Functions in NMinimize
• From: "Johannes Ludsteck" <johannes.ludsteck at wiwi.uni-regensburg.de>
• Date: Fri, 9 Jan 2004 05:20:49 -0500 (EST)
• Organization: Universitaet Regensburg
• Sender: owner-wri-mathgroup at wolfram.com

```Dear MathGroup members,
I try to find the fixed point of a complicated vector-valued
function involving large SparseArray expressions with NMinimize
by minimizing a constant and including the fixed point problem
as a set of constraints.
(The trivial example below is created only in order to mimic the
structure of the problem.)

dim = 2;
i = SparseArray[{i_, i_} -> 1., {dim, dim}];
z = Table[Unique[], {dim}];
start = Table[1., {dim}];
f[x_ /; VectorQ[x, NumericQ], i_] := x.i.x;

NMinimize[{1, Sequence @@ Thread[z == f[z, i]]},

Mathematica responds to this with the error message

NMinimize::bcons : The following constraints are not valid:
{f[{\$1,\$2},SparseArray[<2>,{2,2}]==\$1,f[{\$1,\$2},SparseArray[<2>,
{2,2}]==\$2,f[{\$1,\$2},SparseArray[<2>,{2,2}]==\$3}.

Apparently, Mathematica does not evaluate f because of the
condition x_/: VectorQ[x,NumericQ] in the definition of f.
This condition is, however necessary (not in the example here,
but in my real world application).

Is there any way to urge Mathematica to evaluate f in NMinimize?

I am quite shure that everything else in my code is OK, because
it works with FindRoot.

Best regards,
Johannes Ludsteck

<><><><><><><><><><><><>
Johannes Ludsteck
Economics Department
University of Regensburg
Universitaetsstrasse 31
93053 Regensburg
Phone +49/0941/943-2741

```

• Prev by Date: Re: Symbolic matrix algebra
• Next by Date: Palette rememberance