PTAH


the Parallel Tensor Analysis Hybrid




a tool for large-scale symbolic computation













Ken Koehler
Department of Mathematics, Physics and Computer Science
Raymond Walters College
University of Cincinnati


The Problems

  1. Curvature Invariants

    Riemannian Geometry

    Spacetime is defined by a metric; ie.,

    the Kerr-Newman metric in D = 4:

    g 0, 0 = (-A 2 - e 2 + 2 M r - r 2 + A 2 Sin[th] 2) /

    (r 2 + A 2 Cos[th] 2)

    g 0, 3 = -A (- e 2 + 2 M r) Sin[th] 2 / (r 2 + A 2 Cos[th] 2)

    g 1, 1 = (r 2 + A 2 Cos[th] 2) / (A 2 + e 2 - 2 M r + r 2)

    g 2, 2 = r 2 + A 2 Cos[th] 2

    g 3, 3 = ((A 2 + r 2) 2 - A 2(A 2 + e 2 - 2 M r + r 2) Sin[th] 2)

    Sin[th] 2 / (r 2 + A 2 Cos[th] 2)



    or its special cases:

    • e = 0 ~ the Kerr metric
    • A = 0 ~ the Reissner-Nordstrom metric
    • e = 0 and A = 0 ~ the Schwarzschild metric


    Quantities of interest are the Christoffel Connection:

    G a b c = g a d ( d b g c d + d c g b d - d d g b c ) / 2


    the Riemann Curvature:

    R a b c d = d b G d a c - d a G d b c + G f a c G d f b - G f b c G d f a


    and its covariant derivative:

    D a R b c d e = d a R b c d e - G f a b R f c d e -

    G f a c R b f d e - G f a d R b c f e - G f a e R b c d f


    the Ricci tensor:

    R a b = R a c b c


    and the scalar curvature:

    R = g a b R a b


    which are always zero for vacuum solutions of Einstein's Equations:

    R a b - g a b R / 2 = T a b = 0


    Consider the Schwarzschild solution in { r , q , f , t } coordinates:

    g 0, 0 = 2 M / r - 1

    g 1, 1 = 1 / ( 1 - 2 M / r )

    g 2, 2 = r 2

    g 3, 3 = r 2 Sin ( q ) 2

    ( the Schwarzschild solution is known for all D;

    Kerr and Kerr-Newman are only known in D = 4 )
    The curvature tensor, for example, depends greatly on the coordinate system:

    R a b c d{ r , q , f , t }{ r , q , f - 2 t , t }
    ------------------------------
    1 3 1 402 M Sin ( q ) 2 / ( r - 2 M )
    1 4 1 4- 2 M / r 3 2 M ( - 2 M + r + 2 r 3 Sin ( q ) 2 ) /
    (( 2 M - r ) r 3 )
    2 3 2 40- 4 M r Sin ( q ) 2
    2 4 2 4M ( r - 2 M ) / M ( - 2 M + r + 8 r 3 Sin ( q ) 2 ) /
    r 2 r 2

    In general, a tensor transforms under the following rule:

    T ' b' ( x ' ) = T a ( x ' ) d x a ( x ' ) / d x ' b '

    We would like to compute quantities whose form does not depend on the coordinate system:

    scalars constructed from the curvature tensor


    Curvature Invariants:

    R . R = R a b c d R a b c d

    used to identify curvature singularities



    *R . R =e a b c d R a b e f R c d e f

    in D = 4, ~ angular momentum of the spacetime

    (I. Ciufolini & J. A. Wheeler, "Gravitation and Inertia", 1995)



    D R . D R = D a R b c d e D a R b c d e

    for some metrics, ~ norm of the timelike Killing vector

    (R. G. Gass, F. P. Esposito, L. C. R. Wijewardhana & L. Witten, gr-qc/9808055)


    D D R . D D R . D D R . D D R =

    D a D b R c d e f D g D h R i j k l D a D b R c j e l D g D h R i d k f

    which does not vanish identically for an expanding type-N spacetime

    (J. Bicak & V. Pravda, gr-qc/9804005)



    and many others: the number of curvature invariants of order 0 (no covariant derivatives) in D ( > 2 ) dimensions is

    ( D - 2 ) ( D - 1 ) D ( D + 3 ) / 12


    which is 14 for D = 4; for order k there are:

    D ( k + 1 ) ( D + k + 1 ) ! / ( 2 ( D - 2 ) ! ( k + 3 ) ! )

    (C. N. Haskins, Transactions of the American Mathematical Society 3, 71, 1902)


    which is 60 for k = 1 and 126 for k = 2


    Algebraic Simplification

    Using the coordinate transformation c = Cos(q), the Kerr-Newman metric can be written as

    g 0, 0 = -(A 2 c 2 + e 2 + r (-2 M + r)) / (A 2 c 2 + r 2 )

    g 0, 3 = -A (-1 + c 2 )(e 2 - 2 M r) / (A 2 c 2 + r 2 )

    g 1, 1 = (A 2 c 2 + r 2 ) / (A 2 + e 2 - 2 M r + r 2 )

    g 2, 2 = (A 2 c 2 + r 2 ) / (1 - c 2 )

    g 3, 3 = (1 - c 2 )((A 2 + r 2 ) 2 +

    A 2 (-1 + c 2 )(A 2 + e 2 + r (-2 M + r))) /

    (A 2 c 2 + r 2 )




    R a b c d has the following symmetries

    R a b c d = - R b a c d

    R a b c d = - R a b d c

    R a b c d = R c d a b


    Ways to increase Mathematica efficiency:




    Timings

    Metric Dimension R . R *R . R D R . D R
    best time best time best time
    Schwarzschild 4 0:02 0:01 0:07
    Schwarzschild 5 0:07 0:31
    Schwarzschild 6 2:33 2:00 *
    Reissner-Nordstrom 4 0:03 0:01 0:10
    Kerr 4 0:18 0:02 1:06
    Kerr-Newman 4 0:38 0:04 3:13

    * used Factor[ ] instead of Simplify[PowerExpand[ ]]

    All times using Mathematica 4.0, sugra.m functions and the above coordinate system on a 450 MHz Pentium II with 128 MB RAM.


  2. Supergravity Solitons

    D = 11 Supergravity

    The metric is "replaced" by the vielbein:

    g m, n = h a b e m a e n b

    which is used to move between spacetime and the flat tangent space


    Y m a is the spin 3/2 gravitino

    spinors are 32-dimensional


    G denote the gamma matrices:

    { G a , G b } = 2 h a b
    which also are used in totally antisymmetrized products:

    G a b , G a b c , etc.


    w m a b is the spin connection, giving the covariant spinor derivative

    d a b d m + w m a b G a b a b / 4


    f n r s t is the self-dual totally-antisymmetric gauge field strength


    Solitonic solutions

    are bosonic and preserve partial supersymmetry

    (following K. S. Stelle, hep-th/9803116)

    Mosty approaches use highly specific ansatze, ie.:

    f m n r s = e m n r s f ( r ),

    where e m n r s is the volume form for a sub-manifold and r is a radial coordinate on the complementary submanifold

    But, one could start with a geometric solution and attempt to find a self-dual gauge field which satisfies the field equations


  3. Dimensional Scaling



Symbolic Computation without Mathematica

The Kerr-Newman metric can be parameterized as

g 0, 0 = -A 2 c 2 / f - e 2 / f + 2 M r / f - r 2 / f

g 0, 3 = -A e 2 q / f + 2 A M q r / f

g 1, 1 = -f / (2 h r)

g 2, 2 = -f / q

g 3, 3 = -A 4 q / f + 2 A 2 h q 2 r / f -

2 A 2 q r 2 / f - q r 4 / f

with

f = A 2 c 2 + r 2

h = (A 2 + e 2 + r (-2 M + r)) / (-2 r)

q = c 2 - 1




Representation as polynomials with real coefficients, integer exponents:


Potential Problems:

  1. Parameterization of fractional exponents:

    1 / ( 1 + k / r 3 ) ( 1 / n ) = 1 / q ->
    q n = 1 + k / r 3

    so that, for instance,

    n q ( n - 1 ) dq / dr = - 3 k / r 4

    and

    dq / dr = - 3 k / ( n q ( n - 1 ) r 4 )


  2. Constants:

    A, M, e, I need to have zero derivatives


  3. Recurring rationals

    to reduce floating point representational error


  4. Ansatze:

    If u(r) is not known at computation time, neither are its derivatives - so we parametrize them:

    u'(r) = v(r) and

    u''(r) = w(r)


Classes

as in C++ and Object Oriented Programming


Class Structure


Parallelization

SIMD:


MIMD:


Scaling:

ideally n processors -> factor of n speedup

in practice, between log 2 n and n / ln n due to internal waits for synchronization


PVM - Parallel Virtual Machine

Procedures for

single-thread algorithm:

make list of "atomic" operations
while ( there_is_more_to_be_done () )
do one atomic operation
where "there_is_more_to_be_done ()" points to next atomic operation

replace it with "parallelize ()":

if ( starting computation )
break up computation into parcels
start scheduler process
get first parcel to work on
else
point to next calculation in parcel
if ( done with parcel )
if ( done with computation )
send results
synchronize with other tasks
else
get next parcel from scheduler


PTAH implementation

  1. contractions (including dualizations) are done in parallel

  2. scheduling by partitioning contractions

    lists of free indices and sum components are generated on all processors
    ie., for R a b = R a c b c

    free indicessummed indices
    0 00 1 0 1
    0 2 0 2
    0 3 0 3
    0 10 2 1 2
    0 3 1 3
    0 20 1 2 1
    0 3 2 3
    0 30 1 3 1
    0 2 3 2
    etc.etc.

    each processor is given a subset of the lists to process

    resultant terms or components are sent to all processors so that intermediate results are known to all


  3. synchronization is by barrier

    all processors wait for all results in a given computation

    perform simplification themselves

  4. fault tolerance

    processors may fail, so work must be reassignable

    PVM (Parallel Virtual Machine) does not guarantee message ordering

  5. software metrics and sanity checks

    timings, number of entries into procedures

    depths of linked-lists

    magic numbers

    work scheduling

    PVM message tracing


Hybridization with Mathematica


Observations to date