First time here? Check out the FAQ!

Ask Your Question
0

functions with vector inputs

asked 12 years ago

mirk gravatar image

updated 12 years ago

Are vector functions supported in sage?

as in:

f1(r,phi,theta) = 1/r
f2(r,phi,theta) = 1
f3(r,phi,theta) = 1
F = vector([f1, f2, f3])
G=rot(F) # vector function

An ancient post seems to suggest that rot has to be defined with a positional python-argument like rot(*F).

Is there a way for "rot" to take the vector symbolically as an argument?

Preview: (hide)

Comments

1

I think I know what you mean now. `sage: rot(r,phi,theta) = F` could in theory make a vector function, but it doesn't currently know what to do.

kcrisman gravatar imagekcrisman ( 12 years ago )

2 Answers

Sort by » oldest newest most voted
2

answered 12 years ago

benjaminfjones gravatar image

I don't understand the question. Are you asking if it's possible to use the special notation like f(x) = x^2 for the creation of vector valued functions? If so, the answer is currently no, but it could probably be added to the Sage preparser without much problem. Of course you can always define the function rot the ordinary way to take a vector and return a vector:

sage: rot = lambda v: vector([1/v[0],1,1]) 
sage: rot(vector([2,1,1]))
(1/2, 1, 1)
Preview: (hide)
link
0

answered 12 years ago

kcrisman gravatar image

I usually think of a gradient as being a property of a single-variable function... but anyway, is this what you want?

sage: F.diff()
[(r, phi, theta) |--> -1/r^2      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
[     (r, phi, theta) |--> 0      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
[     (r, phi, theta) |--> 0      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
sage: diff(F)
[(r, phi, theta) |--> -1/r^2      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
[     (r, phi, theta) |--> 0      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
[     (r, phi, theta) |--> 0      (r, phi, theta) |--> 0      (r, phi, theta) |--> 0]
Preview: (hide)
link

Comments

My mistake: the problem arises while calculating the divergence. It was a copy/paste failure. I will edit the question. I don't think this is the answer I was looking for.

mirk gravatar imagemirk ( 12 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 12 years ago

Seen: 1,878 times

Last updated: Oct 02 '12