Mathematica How to define vector function in Mathematica

AI Thread Summary
To define a vector function in Mathematica, you can use the syntax f[v_List]:={v[[1]]*v[[2]],v[[2]]*v[[3]],v[[3]]*v[[1]]} to return a vector based on the input list. Alternatively, a more compact method is f[v_List]:=RotateLeft[v]*v, which achieves the same result. You can also define the function using specific variables, such as f[{x_,y_,z_}]:={x y,y z,z x}. This allows for straightforward calculations of the vector components for any values of x, y, and z. The discussion highlights the flexibility of Mathematica in defining vector functions.
nikolafmf
Messages
112
Reaction score
0
How you define vector function in Mathematica?

For example, f is a vector function and f=(xy,yz,zx). How to define this in Mathematica and then how to calculate the value of the components of f for any number x, y, and z?

For scalar functions it goes as this:

f[x_]:=x^2
f[4]

Any idea for vectors?
 
Physics news on Phys.org
Can you use this to get you started?

You could define this to be just what your definition said:

f[v_List]:={v[[1]]*v[[2]],v[[2]]*v[[3]],v[[3]]*v[[1]]}

The {} around your result says your f is returning a vector and you calculate each element of that vector.

Or you can use tricky coding that just happens to do the same thing in this particular case.

In[1]:= f[v_List]:=RotateLeft[v]*v;

In[2]:= f[{x,y,z}]
Out[2]= {x y,y z,x z}

In[3]:= f[{3,Pi,-2}]
Out[3]= {3 Pi,-2 Pi,-6}
 
Last edited:
Bill Simpson said:
You could define this to be just what your definition said:

f[v_List]:={v[[1]]*v[[2]],v[[2]]*v[[3]],v[[3]]*v[[1]]}

Or you could define this as

f[{x_,y_,z_}]:={x y,y z,z x}

if that would be easier to understand

There are at least a dozen different ways of doing almost anything in Mathematica
 
Thank you very much :)

Buy the way, is there any way to delete your post here before first reply in a case you have already found the answer?
 
Back
Top