Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Computational General Relativity

  1. Aug 24, 2015 #1
    Hello all, first post.

    I have come here to get second opinions on the program I have written to compute the Einstein Tensor (the Riemann Tensor and Ricci Tensor). I enjoy looking for solutions to the Einstein Field Equations, however computing them by hand is not realistic. I decided to write a program, but I am by no means a programmer.

    The program takes in a particular form of the metric, and outputs the Ricci Tensor. Since I am mostly interested in vacuum solutions at the moment, this is all I need. I have copied in the Python code below, however I am sure there is a better way to display it.

    Any ideas about how to make the program better, or how to make a better post on this forum are greatly appreciated, however my main goal is to hear form people who know more about GR than me.

    This code has helped me derive the Schwarzschild solution, so it must be at least somewhat accurate. However there may be some small detail that I have missed.

    Any help would be much appreciated.
    Last edited: Aug 25, 2015
  2. jcsd
  3. Aug 25, 2015 #2


    User Avatar
    Gold Member

    That is all very good but you'll soon run into trouble if you have complicated algebraic expressions that need simplification.

    I use Maxima with the windows interface wxMaxima with great success. For free software it is extraordinary. If you can write Python like that you will be able to write scripts that find geodesics, Killing vectors, kinematic decomposition and so on. It also outputs expressions as Latex on demand.

    It is available at sourceforge.
    Last edited: Aug 25, 2015
  4. Aug 25, 2015 #3


    User Avatar

    Staff: Mentor

    Have you seen/used Maxima with its ctensor stuff?
  5. Aug 25, 2015 #4


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Cool little project! Although I also would have used maxima and ctensor for this, I'm sure you got some real educational benefit from writing it, which is great. If you want to test whether your software is working correctly, one way to do it would be to write down the Minkowski space metric and then transform into some random, unusual coordinates, then input the metric into your code in that form. It should give zero for the Riemann tensor.

    BTW, I hadn't realized that windows versions of maxima were distributed through sourceforge. That's unfortunate, because sourceforge, which was formerly a respected resource in the open-source community, has now degenerated to the point where it has been bundling malware with the binaries it distributes. For linux, maxima is available from more reliable sources, e.g., apt-get for debian and ubuntu.
  6. Aug 27, 2015 #5


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    I use Mathematica, because indeed to evaluate the Ricci or Einstein tensor is cumbersome even for simple cases as the spherical symmetric spacetime, leading to the Schwarzschild solution. I was not aware of the free CA maxima. How powerful is that in comparison to Mathematica?
  7. Aug 28, 2015 #6
    I respectfully request to all that future recommendations for Mathematica/Maple be accompanied by pricing information.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook