Ask Your Question

Problem with supercripts

asked 2011-01-19 19:01:36 +0100

mouse gravatar image

I've read that variables can be subscripted with underscore "_" and superscripted with caret "^". However supescripting doesn't seem to work. I think the caret is seen as a power operator. How to work around this?

Subscript example that works:

eqn = x == y*z_a
solve(eqn, z_a)

Superscript example that fails:

eqn = x == y*z^a
solve(eqn, z^a)
edit retag flag offensive close merge delete


Can you let us know where you found that in documentation? That would help us answer this. Caret does indeed mean power, pretty much always in Sage (this is a custom preparsing of Python, where that has a different meaning).

kcrisman gravatar imagekcrisman ( 2011-01-19 19:49:39 +0100 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2011-01-19 19:53:57 +0100

Although underscores can be used to define new variables

sage: var('x,y,z_a')
(x, y, z_a)
sage: z_a

"carrots" cannot be used

sage: var('x,y,z^a')
(x, y, z^a)
sage: z^a
Traceback (click to the left of this block for traceback)
NameError: name 'z' is not defined

This is because in that last statement, z^a, Sage is looking for a variable called z and trying to exponentiate it with some other variable called a. Note that the symbol ^ is used in Sage for exponentiation. In short, you shouldn't use it to define a new variable.

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


Asked: 2011-01-19 19:01:36 +0100

Seen: 1,081 times

Last updated: Jan 19 '11