I am working on Maxima scripts that produce C code for calculating the Einstein tensor, given a metric tensor (and possibly its derivatives) as input.

Maxima is an open source symbolic-math program. Maxima can be obtained from Sourceforge here.

In order to compile Maxima you will need to download and install a lisp compiler, such as clisp.

The Maxima documentation and Maxima mailing list archives are both maintained by the UT Math department.

Maxima already has a built-in package called CTENS that will calculate the Einstein tensor (and Christoffel symbols, inverse metric tensor, etc) for you! I am still writing my own scripts that will allow more flexibility (especially in regard to the different types of inputs the scripts will accept), but the built-in package is a nice way to check your work. Also, calculating the tensor is only half the battle. Creating C-code is the more difficult other half. Some of these implementation issues are discussed below.

Implementation Issues:

If you have any advice on solving any of the above issues, or any other comments or suggestions, please email me (remove dashes from email address)

Return to index