MathGroup Archive 2008

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

Search the Archive

Re: Recognising parameters in function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg94552] Re: Recognising parameters in function
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Tue, 16 Dec 2008 02:33:56 -0500 (EST)

On 12/15/08 at 7:47 AM, Stuart.Nettleton at uts.edu.au (Stuart
Nettleton) wrote:

>Hi, would someone be able to suggest why FindMinimum will recognise
>parameters in the following function but the backsubstitution will
>not. Thanks for any help, Stuart

>Clear[f, vars1, z];
>vars1 = {x, y};
>z = (x - 5)^2 + (y - 3)^2;
>f[vars_] := Module[{a},
>a = z/2;
>Return[a]
>] /; VectorQ[vars, NumericQ];
>optim = FindMinimum[Join[{f[vars1]}, Thread[vars1 >= 0]], vars1]
>optim[[2]]
>f[vars1] /. optim[[2]]

Did you look at the result you get when you type f[vars1] ?

Notice this returns f[x,y] since you have defined f only for
numeric inputs. If you redefine f as:

f[vars_] := Module[{a},
      a = z/2;
      Return[a]
      ] /; VectorQ[vars]

Things will work as you expected. Note, since FindMinimum is
intended to work with symbols, there is no need to restrict the
values to numeric input.



  • Prev by Date: Re: branch of (-1)^(1/3)
  • Next by Date: Re: contexts and functions
  • Previous by thread: Re: Recognising parameters in function
  • Next by thread: Re: Re: Recognising parameters in function