# How to get sage to NOT calculate

I would like to be able to give some variables a value and have sage show it to me in a pritty format.

For example if i have; a = 2 b = 3 and then I input a+b and sage returns 2+3

Is there a command that let me do this?

edit retag close merge delete

Sort by ยป oldest newest most voted

Some methods for symbolic expressions have a hold argument, this allows to prevent simplification of expressions. For example:

sage: a = sqrt(2)
sage: a.parent()
Symbolic Ring
sage: a^2
2
sage: a.power(2)
2
sage: a.power(2, hold=True)
sqrt(2)^2
sage: pi.cos(hold=True)
cos(pi)


It also works for addition in certain cases:

sage: x.parent()
Symbolic Ring
x + x


Unfortunately, it seems not to work for elements of the Symbolic Ring that represent integers:

sage: a = SR(2)
sage: a.parent()
Symbolic Ring
sage: a
2
5

more

You can just use strings. Nothing fancy just printing out exactly what you want.

sage: a = 2
sage: b = 3
sage: print str(a)+"+"+str(b)
"2+3"

more