Re: Grad in VectorAnalysis`
- To: mathgroup at smc.vnet.net
- Subject: [mg103853] Re: Grad in VectorAnalysis`
- From: Erik Max Francis <max at alcyone.com>
- Date: Fri, 9 Oct 2009 07:17:08 -0400 (EDT)
- References: <hakjlm$d72$1@smc.vnet.net>
Murray Eisenberg wrote:
> After...
>
> Needs["VectorAnalysis`"]
> SetCoordinates[Cartesian[x, y, z]]
>
> f[x_, y_] = x/(1 - x^2 - y^2)
>
> ... why does the following not actually return the formula for gradient...
>
> Grad[f[x, y, z]] (* or even Grad[Evaluate[f[x,y,z]]]
>
> ... whereas the following does return it:
>
> Grad[x/(1 - x^2 - y^2)]
Because you defined a function with two arguments (f[x, y]). A function
f with three arguments (f[x, y, z]) is not defined and so Mathematica
leaves it in symbolic form. Try instead:
In[6]:= Grad[f[x, y]]
Out[6]= {(2 x^2)/(1 - x^2 - y^2)^2 + 1/(1 - x^2 - y^2), (
2 x y)/(1 - x^2 - y^2)^2, 0}
or defining f as taking those three arguments (and just don't use the
third):
In[7]:= f[x_, y_, z_] := x/(1 - x^2 - y^2)
In[8]:= Grad[f[x, y, z]]
Out[8]= {(2 x^2)/(1 - x^2 - y^2)^2 + 1/(1 - x^2 - y^2), (
2 x y)/(1 - x^2 - y^2)^2, 0}
In[9]:= %6 == %8
Out[9]= True
--
Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/
San Jose, CA, USA && 37 18 N 121 57 W && AIM/Y!M/Skype erikmaxfrancis
All generalizations are dangerous, even this one.
-- Dumas Fils