# Symbolic algebra: Sage, Maxima, Ginac, Sympy?

Hi all. In this period I am working on symbolic matrices, and I am a bit confused about the various possibilities and the mutual relationships.

If I understand correctly, for symbolic computation Sage uses Ginac and Maxima, but I have no a clear idea of the different roles of the two packages in Sage own engine.

Furthermore, I am reading some tutorials about Sympy. I know that Sympy is included in the huge library of Sage packages, but it is not directly used in any way by Sage for symbolic computation? Could you please clarify a bit these points?

Thanks.

edit retag close merge delete

( 2017-06-08 15:41:39 -0500 )edit

Sort by ยป oldest newest most voted

Concerning relations between Sage, maxima and ginac, you can have a look to this question.

Concerning sympy, some computations can be done by sympy but you need to specify it, see for example:

sage: integral?


sympy is not imported in Sage by default, i guess the main reason is startup speed. If you want to use sympy within Sage, just do:

sage: import sympy


Now, if you have an element of the Symbolic Ring, you can transform it into a sympy object as follows:

sage: a = cos(x) + pi
sage: b = a._sympy_()
sage: b
cos(x) + pi


You can check:

sage: type(b)


You can come back to the symbolic ring as follows:

sage: b._sage_()
pi + cos(x)

more

Thanks for the clarifications and the link. Sometimes is not easy to understand the differences and the mutual dependencies of the various mathematical package related to Sage. For this reason your answer is really helpful, I will continue to experiment with Sage and Sympy.

( 2014-04-14 12:15:29 -0500 )edit