Ask Your Question
0

how to define a constant in sage?

asked 2012-03-19 17:51:49 +0100

anonymous user

Anonymous

Hello, I just started using sage. I am having some difficulties in declaring constants. I am trying to calculate derivatives of functions but I don't want to put values for the constant but rather define constants in the function. Somehow I am not able to find any literature on that.

I would be really grateful if someone can help me with this issue.

Cheers,

Sanyog

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2012-03-19 21:35:55 +0100

The code

sage: var('x y z')
(x, y, z)
sage: f = 3*x*y + 2*z + 12
sage: f.diff(x)
3*y
sage: g(x,y,z) = 3*x*y + 2*z + 12
sage: g.diff(x)
(x, y, z) |--> 3*y

provides two slightly different ways of defining a function involving x, y, and z, then differentiating with respect to x, thus treating y and z as constants. Is this what you want?

edit flag offensive delete link more

Comments

1

To follow up, I think that John means just doing `var('a')` will make `a` a "symbolic constant" in the sense you desire.

kcrisman gravatar imagekcrisman ( 2012-03-19 23:27:41 +0100 )edit
-1

answered 2021-08-31 16:41:17 +0100

ny2292000 gravatar image

This is a follow up. This is my code:

var("theta ee")
u=cos(theta)+ee
diff(u(theta),theta)

this is the output:

-sin(theta) + 1

I don't understand what is going on. Nowhere was ee equated to theta.

What is happening here?

edit flag offensive delete link more

Comments

You should really ask a separate question rather than posting a follow-up to a 9-year old question. If you evaluate u(theta), you will see that it is substituting theta in for ee: u is an expression involving two variables, and it substitutes the first one for ee, the second for theta. So u(1, 2) will give cos(2) + 1). Anyway, u(theta) evaluates to cos(theta) + theta, and then you're differentiating that.

John Palmieri gravatar imageJohn Palmieri ( 2021-08-31 19:36:29 +0100 )edit

With my version of Sage, u(theta) also produces a warning about variable substitution. If you instead do u(theta=theta), you will get what you expect, and the derivative will be what you expect.

John Palmieri gravatar imageJohn Palmieri ( 2021-08-31 19:37:28 +0100 )edit

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: 2012-03-19 17:51:49 +0100

Seen: 8,075 times

Last updated: Mar 19 '12