First time here? Check out the FAQ!

Ask Your Question
1

vector constants and vector functions

asked 6 years ago

Chris Chudzicki gravatar image

I'm using sage (through cocalc) with my multivariable calculus class this year. I'm looking for a consistent way to define symbol vector-valued functions and vector constants.

I can define a symbolic vector-valued function like this:

var('t')
r(t) = [1, t]
r(1) + r(2) # works as expected

I can define constant vectors like this:

a = vector([1, 1])
b = vector([10, 20])
c = a + b # works as expected

But vector does not work for symbolic functions: r(t)=vector([1, t]) throws.

So:

  • vector seems required for constants, else we don't get correct algebraic behavior
  • vector cannot be used with symbolic functions, else sage throws

Question: I'm worried this is going to cause a lot of confusion for my students. Is there a consistent way to define vectors for both constant values and symbolic expressions?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
3

answered 6 years ago

rburing gravatar image

updated 6 years ago

One approach is to use symbolic expressions instead of functions, e.g.

var('t')
r = vector([1, t])

The addition example becomes slightly verbose (but certainly unambiguous):

r(t=1) + r(t=2)

An apparent downside is that this blurs the line between variables and symbolic constants which might also appear:

var('t,c')
s = vector([1, c*t])

However, many operations which are really operations on functions are implemented in Sage as operations on symbolic expressions, where the dependent variables are passed alongside the symbolic expression.

For example, to calculate the Jacobian:

sage: jacobian(s, [t])
[0]
[c]
Preview: (hide)
link

Your Answer

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

Add Answer

Question Tools

1 follower

Stats

Asked: 6 years ago

Seen: 2,750 times

Last updated: Sep 01 '18