Open source computer algebra systems for general relativity I would like to use an open source computer algebra system (CAS) for research in general relativity. Kindly suggest a good choice between Ipython and Sage. I am more interested in the theoretical aspect rather than numerical computations.
 A: I would not recommend either of the choices you mentioned. If you have Mathematica, and your needs in general relativity are fairly basic (computing connections, curvature, geodesics), then I recommend using the notebooks from Hartle's text freely available here.

If your needs are more advanced, or you need something more capable, I would suggest using xAct and all its packages which include features such as,


*

*Generic tensor manipulation

*High order gravitational perturbation theory

*Tensor spherical harmonics

*Spinor computations in G.R.

*Exterior calculus


I have used the packages several times for computations, and not only is xAct capable of many feats, it is also quite fast$^\dagger$ and very well-documented. Every package comes with examples as well and notebooks to help you get started. The only downside: there's a bit of a learning curve. However, the authors created a Google group/forum for users to help each other.

$\dagger$ I can attest to this given that I had to use it for computations in $d=26$.
A: Recently this paper came out on arXiv:
Symbolic tensor calculus on manifolds: a SageMath implementation.
It describes how differentiable manifolds, vector and tensor fields classes are implemented in SageMath (via the SageManifold project) and how you can use them.
A: There are only two open source GR/tensor packages that I am aware of, Cadabra (coordinate-free) and Maxima/xwMaxima (coordinate based, ctensor, itensor and atensor packages)
A: I have been developing a toolkit; spacetimeengine as a research tool. It is extremely lightweight but fully focused on General Relativity.
A: We have been developing and maintaining a python library to do symbolic calculations for General Relativity, among other things. Check out the "symbolic" module of EinsteinPy and also give a look at the various examples.
