MathGroup Archive 2008

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

Search the Archive

Re: Recognising parameters in function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg94560] Re: Recognising parameters in function
  • From: "Stuart Nettleton" <Stuart.Nettleton at uts.edu.au>
  • Date: Tue, 16 Dec 2008 02:35:27 -0500 (EST)
  • Organization: University of Technology, Sydney
  • References: <gi5jmt$ppv$1@smc.vnet.net> <49466D8F.3040909@gmail.com>

Hi Jean-Marc,
Your thoughts have clarified things. As you have shown, the rule prevents  
symbolic evaluation of the backsubstitution. However, I need the rule in  
my real application, which is a computed general equilibrium model where  
the parameters are matrices. The workaround seems to do the symbolic  
evaluation outside the function, which means the evaluation of z with the  
optimum values before invoking a similar function. The new function now  
has z as its argument (rather than the optimised variable list) and a  
similar rule which is only changed to match the nature of the new  
variable. I have provided a simplified version of the test problem below.  
My immediate issue has been addressed but the need for a second function  
is somewhat inelegant. I am left with the feeling that the workaround is  
addressing a symption rather than understanding the cause, which remains:  
why can FindMinimum use symbolic calculation within the function when a  
simple direct injection cannot do so? Again, many thanks for your help,  
Stuart

Clear[f, vars1, z, f1];
vars1 = {x, y};
z = (x - 5)^2 + (y - 3)^2;
f[vars_] := z*2 /; VectorQ[vars, NumericQ] ;
f1[z_] := z*2 /; NumericQ[z]
optim = FindMinimum[f[vars1], vars1]
optim[[2]]
f[vars1] /. optim[[2]] (* causes error *)
f1[z] /. optim[[2]] (* evaluating z is ok *)

--
UTS CRICOS Provider Code:  00099F
DISCLAIMER: This email message and any accompanying attachments may contain
confidential information.  If you are not the intended recipient, do not
read, use, disseminate, distribute or copy this message or attachments.  If
you have received this message in error, please notify the sender
immediately and delete this message. Any views expressed in this message
are those of the individual sender, except where the sender expressly, and
with authority, states them to be the views the University of Technology,
Sydney. Before opening any attachments, please check them for viruses and
defects.


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