# The Riemann Tensor

The way I was taught General Relativity, we were introduced to the Christoffel symbols, without any useful explanation of what they were, and then shown some hairy and, frankly, confusing stuff about vector fields, their derivatives and how these deviate from what one might have expected; that deviation was summed up in a tensor quantity, duly named the Riemann tensor, whose trace provided the Ricci tensor which, we were informed, encoded curvature of the smooth manifold.

Many years later, I sat down to examine what was going on here, found out (by re-inventing them) what the Christoffel symbols are (they describe the covariant derivative of your co-ordinate system's basis vectors in your co-ordinates) and discovered a quite general result about any fixed-rank tensor operator which obeys Leibniz's product rule and respects both addition and global constant scaling. The covariant differential operator of General Relativity is just such an operator, specified to annihilate the metric and agree with the differentiation of scalar fields, yielding their gradients, which is an intrinsic part of the fundamental structure of a smooth manifold.

For any Leibniz operator, Q, of rank R, there is an associated tensor field

• Riemann(Q) = (: torsion(Q) :R) = antiSym([R,R])&on;Q&on;(:Q:R)

which is of rank [R,R,R,dual(R)]. The remarkable thing is that this is simply a tensor field – i.e. its point-wise contraction with a tensor field of rank R yields the same answer as Q&on;Q followed by anti-symmetrisation on the two tensor factors of rank R introduced thereby. That this miracle happens, I prove in my discussion of general Leibniz operators. The following presumes various results also proved in that discussion.

## Details

In the analysis of the generalised Riemann tensor, I shall also presume that we are in some neighbourhood within which we have a local basis, b, of Q's rank, R: this implies a local basis, p, of dual(R). In this case, note that (R⊗R: Q&on;b :), so its values may be transposed (and remain of the same rank). I'll introduce a short-hand pQbp(i,j,k) = p(i)·Q(b(j))·p(k) whose values are all scalars (they amount to orthodoxy's Christoffel symbols). We shall, also, have need of the identity (for given j, r in (:b|)):

Q(p(j)·Q(b(r)))
= sum(: Q(pQbp(j,r,s).b(s)) ←s :)
= sum(:
Q(pQbp(j,r,s))×b(s) + pQbp(j,r,s).Q(b(s)) ←s :)

whence (R⊗R⊗R: torsion(Q) :R) = Riemann(Q), Q's torsion's restriction to Q's rank, is

Riemann(Q)
= antiSym([R,R])&on;(:Q&on;Q:R)
= (1/2).(τ[0,1] -τ[1,0])(sum(: Q(Q(b(s)))×p(s) ←s :))
= sum(: (b(i)^b(j)) × sum(:
(sum(: pQbp(i,r,j).(p(r)·Q(b(s))) ←r :) + (p(i)·Q(p(j)·Q(b(s))))) × p(s) ←s :R⊗dual(R)) ←[i,j] :)
= sum(: (b(i)^b(j)) × b(k) × p(s) . (
p(i)·Q(pQbp(j,s,k))
+ sum(: pQbp(i,r,k).pQbp(j,s,r) + pQbp(i,r,j).pQbp(r,s,k) ←r :)
) ←[i,j,k,s] :)

Any chart, as discussed above, delivers a basis of gradient fields under d. Any torsion-free differential operator agrees with d on the chart, so its action on this basis is just its square's action on the chart: each member of which must then have zero antisymmetric part - i.e. be symmetric. Thus I shall pay close attention to the case where a basis of our Leibniz operator's rank can be found (in some neighbourhood of each point) which has symmetric image under the operator. Note that, in this case, the last term in the above expression for the generalised Riemann tensor, involving pQbp(i,r,j), is symmetric in i,j and so contributes zero once multiplied by b(i)^b(j) and summed.

For comparison, consider

antiSym([R,R,R], Riemann(Q))
= antiSym([R,R,R])&on;Q&on;(:Q:R)
= sum(: (b(i)^b(j)^b(k))×p(s) . (
p(i)·Q(pQbp(j,s,k)) + sum(: pQbp(i,r,j).pQbp(r,s,k) + pQbp(i,r,k).pQbp(j,s,r) ←r :) ) ←[i,j,k,s] :)

in which each term is zero whenever we can find a basis for which p.(Q&on;b).p is symmetric - e.g. whenever Q is a differential operator and b is dx for some chart x. Thus antisymmetrising Riemann(Q) over its three R-factors yields zero in such a case.

Preparatory to what follows, note that, for any rank R tensor field u and scalar field k,

(antiSym([R,R])&on;Q&on;Q)(k.u×u)
= antiSym([R,R], Q(Q(k.u)))×u +τ([2,0,1], k.u×antiSym([R,R], Q(Q(u))))

since (antiSym([R,R])&on;Q&on;Q) is itself a Leibniz operator

= Riemann(Q,k.u)×u +τ([2,0,1], k.u×Riemann(Q,u))

since k.u and u are of rank R

= k.(Riemann(Q)·u)×u +τ([0,1,3,2], k.(Riemann(Q)·u)×u)

by shuffling the permutation and exploiting linearity of Riemann(Q)

which is just the result of symmetrising Riemann(Q)·(k.u×u), which is of rank [R,R,R,R], in its last two factors. Any symmetric rank [R,R] tensor can be expressed as a sum of terms of form k.u×u as just described; since a Leibniz operator respects addition, we can apply the above with k.u×u replaced by an atribrary symmetric [R,R] tensor.

## Contracting with what the operator annihilates

In General Relativity, the Leibniz operator of most interest to us is the unique differential operator which considers the metric of space-time to be constant. In general, for any rank R and any [R,R]-ranked tensor g, whose symmetric part is invertible when construed as a linear map (R:|dual(R)): a globally linear Leibniz operator Q of rank R which annihilates g is entirely determined by its action on scalar fields. This leads to

pQbp(i,j,k)
= p(i)·Q(b(j))·p(k)
= b(j)·ig·( Q(p(i)·g·p(k))
-sum(: b(r).( p(i)·Q(p(r)·g·p(k)) + p(k)·Q(p(i)·g·p(r)) ) ←r :) )/2

in which ig is the inverse of the symmetric part of g. I'll write pgp(r,s) = p(r)·g·p(s), with scalar values, to make this

• pQbp(i,j,k) = b(j)·ig·( Q(pgp(i,k)) -sum(: b(r).( p(i)·Q(pgp(r,k)) +p(k)·Q(pgp(i,r)) ) ←r :) )/2

(Orthodoxy writes gr s where I'm using pgp(r,s); and refers to pQbp(i,j,k) as Γijk so that this formula for pQbp and the earlier one for Riemann(Q) get rendered as

• Γijk = gj r(gi k , r - gr k , i - gi r , k)/2
• Ri j ks = Γjsk , i + Γirk Γjsr + Γirj Γrsk

with a little help from various other orthodox conventions. This is definitely cuter on the page, but relies on more browser-features and runic notational idioms than I feel happy with, quite apart from requiring the reader to read a smaller font than usual.)

In such a case, we can contract Riemann(Q)·g to get an [R,R,R,R]-ranked tensor (which is, indeed, what orthodoxy introduces as the Riemann tensor; I do otherwise because the general case, without an annihilated g, allows me to define all the relevant entities). Given Riemann(Q)'s definition, this tensor is trivially antisymmetric in its first two R-factors; and the analysis above immediately tells us that antisymmetrising Riemann(Q)·g in its first three factors yields zero wherever any basis b of R has every output of Q&on;b symmetric.

Now, Q(g) is zero, hence so is Q(Q(g)), hence so is any result of applying symmetrisation or antisymmetrisation to this, including antiSym([R,R], Q(Q(g))). The above shows that this is just the result of symmetrising Riemann(Q,g) in its last two tensor factors, whence we may infer that Riemann(Q)·g is antisymmetric in its last two factors, just as it is in its first two factors.

Now:

Riemann(Q)·g
= sum(: (b(i)^b(j)) × b(k) × g·p(s) . (
p(i)·Q(pQbp(j,s,k))
+ sum(: pQbp(i,r,k).pQbp(j,s,r) + pQbp(i,r,j).pQbp(r,s,k) ←r :)
) ←[i,j,k,s] :)
= sum(: (b(i)^b(j)) × b(k)×b(h) . pgp(h,s).(
p(i)·Q(b(s)·ig·( Q(pgp(j,k)) -sum(: b(n).( p(j)·Q(pgp(n,k)) +p(k)·Q(pgp(j,n)) ) ←r :) )/2)
+ sum(: pQbp(i,r,k).pQbp(j,s,r) + pQbp(i,r,j).pQbp(r,s,k) ←r :)
) ←[i,j,k,h,s] :)

## To do ...

Other areas of interest (with A as electro-magnetism's covector potential):

• when we want to add (d^A)/g\(d^A) to Ricci; consider Reimann(D)·g + (d^A)×(d^A) and g-traces thereon;
• allow that Q/g\Q annihilates A; what sort of a beast is Q/g\Q ?
Written by Eddy.
\$Id: riemann.html,v 1.4 2002-09-08 18:44:48 eddy Exp \$