Ask Your Question
1

vector constants and vector functions

asked 2018-09-01 11:08:04 -0500

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?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
2

answered 2018-09-01 12:33:34 -0500

updated 2018-09-01 13:28:38 -0500

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]
edit flag offensive delete link more

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: 2018-09-01 11:08:04 -0500

Seen: 51 times

Last updated: Sep 01