Ask Your Question
0

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:

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

Superscript example that fails:

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

Comments

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
1

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
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

Stats

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

Seen: 1,227 times

Last updated: Jan 19 '11