help on critical points
- To: mathgroup at smc.vnet.net
- Subject: [mg4037] help on critical points
- From: Jose Luis Lugo Goytia <lugo at hplara.iquimica.unam.mx>
- Date: Tue, 28 May 1996 01:46:01 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Could you please give me some advise?
I'm trying to find the critical points of a function
f:R^n -> R, I do the following:
In[1]:= gradiente[f_,var_]:=Outer[D,{f},var];
In[2]:= ceros[f_,vars_]:= vars /. Solve[Numerator[Together[f]] ==
Table[0,{i,1,Length[vars]}],vars];
and for example
In[3]:= ceros[gradiente[x^2 y - y^2 -2 x y,{x,y}][[1]],{x,y}] //N
Out[3]= {{1., -0.5}, {0, 0}, {2., 0}}
but if I define the function
In[4]:= PuntosCriticos[f_,vars_]:=
ceros[gradiente[f @@ vars,vars][[1]],vars] //N;
and apply it to the before example then obtain
In[4]:= PuntosCriticos[x^2 y - y^2 -2 x y,{x,y}]
2 2 (0,1)
Solve::dinv: The expression (-2 x y + x y - y ) [x, y]
involves unknowns in more than one argument, so inverse functions can't
be used.
ReplaceAll::reps:
{<<1>>} is neither a list of replacement rules nor a valid dispatch table,
and so cannot be used for replacing.
2 2 (0,1)
Solve::dinv: The expression (-2. x y + x y - 1. y ) [x, y]
involves unknowns in more than one argument, so inverse functions can't
be used.
ReplaceAll::reps:
{<<1>>} is neither a list of replacement rules nor a valid dispatch table,
and so cannot be used for replacing.
Out[13]= {x, y} /.
2 2 (1,0)
> Solve[{(-2. x y + x y - 1. y ) [x, y],
2 2 (0,1)
> (-2. x y + x y - 1. y ) [x, y]} == {0, 0}, {x, y}]
Could someone tell me where I have gone wrong? How can I do that?
Thanks
_______________________________________________________
Jose Luis Lugo Goytia
Instituto de Quimica,
Universidad Nacional Autonoma de Mexico
lugo at hplara.iquimica.unam.mx
lugo at barajas.fciencias.unam.mx
_______________________________________________________
==== [MESSAGE SEPARATOR] ====