OK, my understanding is that what Maxima is doing is correct, though
"correct", when it comes to sign conventions, is often in the eye of the
beholder.
The Ricci-tensor is formed by contracting the Riemann tensor's contravariant
index with one of its antisymmetric covariant indices. Which one? This is a
matter of convention, since either way, we get the same physics, but MTW
suggest that the convention should be such that, for a sphere, the scalar
curvature should be positive.
In ctensor, the antisymmetric indices of the Riemann tensor are the second
and third indices. Maxima forms the Ricci tensor by contracting the third
index with the (contravariant) fourth index. Let's see if it makes good
sense as per MTW. Do we get a positive scalar curvature for the
2-dimensional sphere?
load(ctensor);
ct_coords:[u,v];
dim:2;
lg:ident(2);
lg[1,1]:R^2*cos(v)^2;
lg[2,2]:R^2;
cmetric();
christof(all);
riemann(true);
ricci(true);
scurvature();
ratsimp(sum(sum(ric[i,j]*ug[j,i],j,1,dim),i,1,dim));
Either calculated by hand (last line), or using the built-in scurvature
function, I get 2/R^2, which is positive definite. This suggests that we
have the "correct" choice of sign for the Ricci tensor.
Looking at FLRW, to determine if we get the "correct" sign, let me just
calculate the tt component of the Einstein tensor using a metric signature
of [+,-,-,-]. First, however, let's check if the built-in ricci function
gives the same result as I would get by hand:
load(ctensor);
ct_coords:[t,x,y,z];
depends(a,t);
derivabbrev:true;
lg:-ident(4)*a^2;
lg[1,1]:1;
cmetric();
christof(all);
riemann(true);
ricci(true);
ratsimp(sum(riem[1,1,i,i],i,1,dim)-ric[1,1]);
The last line gives 0; in other words, both ric[1,1] and explicit
calculation of the tt component of the covariant Ricci tensor give
-3\ddot{a}/a.
The tt component of the Einstein tensor should be positive as it coincides
with the energy density:
einstein(true);
I get 3\dot{a}^2/a^2, which is again positive definite. I can recalculate
this by hand, too, forming the mixed index Ricci tensor first:
for i thru dim do for j thru dim do mric[i,j]:sum(ric[i,k]*ug[k,j],k,1,dim);
ratsimp(mric[1,1]-1/2*scurvature());
So, I believe we are using the "correct" sign conventions here, insofar that
quantities that we normally view as positive are, in fact, positive, but I
admit that it has been (and remains) a source of great confusion for me as I
tried to sort things out, so please feel free to point out if I missed
something.
Viktor
-----Original Message-----
From: Evan [mailto:evanxxx at gmail.com]
Sent: Sunday, December 02, 2007 11:22 PM
To: Viktor T. Toth
Cc: maxima at math.utexas.edu
Subject: Re: [Maxima] question about ctensor
On Dec 2, 2007 11:28 PM, Viktor T. Toth <vttoth at vttoth.com> wrote:
> I don't think there is a bug, but please feel free to check and let me
know
> if you think otherwise!
For example, for the Robertson-Walker metric, it's easy to calculate
the tt component of the covariant Ricci tensor from the Riemann
curvature tensor given by ctensor. The result is 3*diff(a,t,2)/a,
where a is the scale factor. However the result given by ctensor
directly is -3*diff(a,t,2)/a. Have I made some mistakes?