Journal: March 31, 2009
Bryan Newbold, bnewbold@mit.edu
http://web.mit.edu/bnewbold/thesis/
Some more papers from trolling around the net, some are great!
Algorithms for computer algebra calculations in spacetime:
I. The calculation of curvature by D. Pollney et al, 1996,
Class. Quantum Grav.
Haven't read through this yet but looks nice, compares other packages and
presents algorithms. I don't know what any subsequent articles were...
Computer Algebra Systems in General Relativity
Salah Haggag, (Conference Paper) 2007
Just a review, some good history and excellent bibliography.
Numerical Experimentation within GRworkbench
Andrew Moylan, Undergrad Thesis at ANU, 2003.
Also GRworkbench: A Computational System Based on Differential
Geometry and Functional Programming Framework for GRworkbench.
Wow! Great stuff, too bad I can't find the software actually hosted anywhere
(links are all dead). Written in C++ with templates for common calculations,
GUI interface, functional (combinator-based) scripting language hacked on, etc.
The intro paper is really clearly written from a CS standpoint, explicitly
lists all the geometric concepts and the software equivalents.
Last night I started working through the anomalous precession calculation
(see anomalous_precession.scm).
I generated a new coordinate system for the 2+1 polar spacetime with a
Schwartzchild metric and was able to derive the Christofel symbols (though
in a frustratingly "simplified" form):
(down
(down (up 0 (+ (/ (* -2 (expt M 2)) (expt r0 3)) (/ M (expt r0 2))) 0)
(up (/ (* -1/2 M) (+ (* M r0) (* -1/2 (expt r0 2)))) 0 0)
(up 0 0 0))
(down (up (/ (* -1/2 M) (+ (* M r0) (* -1/2 (expt r0 2)))) 0 0)
(up 0 (/ (* 1/2 M) (+ (* M r0) (* -1/2 (expt r0 2)))) 0)
(up 0 0 (/ 1 r0)))
(down (up 0 0 0) (up 0 0 (/ 1 r0)) (up 0 (+ (* 2 M) (* -1 r0)) 0)))
I got stuck when I tried to take a covariant derivative of a dummy test path
to derive the geodesic equations of motion; there are a lot of dt dummy
variables floating around so I installed new coordinates for the-real-line to
use 'k' instead of 't'; but I still get:
(((((covariant-derivative polar-Cartan-over-path) d/dk)
((differential test-path) d/dk))
(orbital-plane-polar '->coords))
((the-real-line '->point) 'k))
;Bad selectors -- DERIV:EUCLIDEAN-STRUCTURE #[compiled-closure 13 (lambda "mathutil" #x1b) #xed0 #xbbbb4c #x1fdb064] (0) k
Fiddling about with this expression frequently results in an assertion error
when the orbital-plane-polar coordinate system is passed a the-real-line point.
I should go through and derive some more pedestrian geodesics and sure i'm doing
things right.
(previous entry)