problem about using itensor to demonstrate the riemann tensor' symmetry
Subject: problem about using itensor to demonstrate the riemann tensor' symmetry
From: Viktor T. Toth
Date: Tue, 7 May 2013 08:45:58 -0400
Hello,
Here is a way to accomplish what you were looking for:
load(itensor)$
remcomps(g);
imetric(g);
decsym(g,2,0,[sym(all)],[]);
decsym(g,0,2,[],[sym(all)]);
components(rt([i,j,k,l],[]),idiff(ichr1([j,l,i]),k)-idiff(ichr1([j,k,i]),l)+
ichr1([i,l,r])*ichr2([j,k],[r])-ichr1([i,k,r])*ichr2([j,l],[r]))$
expr:ishow(rt([i,j,k,l],[]) + rt([j,i,k,l],[]))$
canform(expr)$
flipflag:not flipflag;
canform(%th(2))$
flipflag:not flipflag;
canform(%th(2));
Note that I replaced your function definition for rt with a component
definition. This is not strictly necessary; however, I found that Maxima
kind of got lost (not an issue specific to the tensor packages, but
certainly affecting this case) when the function form was used and the names
of the formal and actual parameters coincided. Another alternative would
have been to keep your functional form for rt, but use different formal
parameters (e.g., rt(a,b,c,d):= ...).
Curiously, the flipflag thing is not needed to show the antisymmetry of the
second pair of indices:
load(itensor)$
remcomps(g);
imetric(g);
decsym(g,2,0,[sym(all)],[]);
decsym(g,0,2,[],[sym(all)]);
components(rt([i,j,k,l],[]),idiff(ichr1([j,l,i]),k)-idiff(ichr1([j,k,i]),l)+
ichr1([i,l,r])*ichr2([j,k],[r])-ichr1([i,k,r])*ichr2([j,l],[r]))$
expr:ishow(rt([i,j,k,l],[]) + rt([i,j,l,k],[]))$
canform(canform(expr));
Hope this helps.
Viktor
-----Original Message-----
From: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu]
On Behalf Of 163
Sent: Thursday, May 02, 2013 10:07 AM
To: maxima at math.utexas.edu
Subject: problem about using itensor to demonstrate the riemann
tensor' symmetry
my code is below. why can't i get the answer zero. thanks.
load(itensor)$
remcomps(g);
imetric(g);
decsym(g,2,0,[sym(all)],[]);
decsym(g,0,2,[],[sym(all)]);
rt(i,j,k,l) := idiff( ichr1([j,l,i]),k ) - idiff( ichr1([j,k,i]),l )
+ ichr1([i,l,r])*ichr2([j,k],[r]) -
ichr1([i,k,r])*ichr2([j,l],[r])$
expr:rt(i,j,k,l) + rt(j,i,k,l);
expand(expr)$
canform(%)$
nterms(%);
ishow( conmetderiv(simpmetderiv(canform(contract(rename(%th(2))))),g))$
nterms(%);
ishow( conmetderiv(simpmetderiv(canform(contract(rename(%th(2))))),g))$
nterms(%);
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima