I have put together a few function for differential geometry in 3D.
All my functions were of the kind F(z1_, z2_, z3_). Now I want to
generalize to 4D, then 5D, etc. Is there a good way to represent a
function of N variables? For example, I want to be able to say grad[F]
[???] to obtain a list of N function (partial derivatives) of N
variables. I understand these are vague questions, but I am only
looking for some keywords.
Many thanks in advance,
Sam
Mathematica allows one to define functions that take an arbitrary number of arguments using double underscore (BlankSequence) or triple underscore (BlankNullSequence)
For instance F[args__]:={args} takes in any number of arguments except zero.
A function defined with three underscores can take any number including zero.
Ethan
Grad[f_][x__] := Switch[Length[{x}],
1, {Derivative[1][f][x]},
2, {Derivative[1, 0][f][x], Derivative[0, 1][f][x]},
3, {Derivative[1, 0, 0][f][x], Derivative[0, 1, 0][f][x],
Derivative[0, 0, 1][f][x]},
4, {Derivative[1, 0, 0, 0][f][x], Derivative[0, 1, 0, 0][f][x],
Derivative[0, 0, 1, 0][f][x], Derivative[0, 0, 0, 1][f][x]}]
f[x_, y_] = x^2 + y^2;
Grad[f][x, y]
Thanks!
________________________________
From: Ethan Dyer <ethan...@gmail.com>
To: Sam Takoy <sam....@yahoo.com>
Cc: "math...@smc.vnet.net" <math...@smc.vnet.net>
Sent: Saturday, August 27, 2011 9:24 AM
Subject: Re: Function of N variable
Ralph