/* Copyright (C) 2003 Valerij Pipin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * The double divergence of the Riemann tensor * */ /* THE FINAL RESULT SHOULD BE ZERO--THE DOUBLE DIVERGENCE OF THE RIEMANN TENSOR ON ANTISYMMETRIC INDICES VANISHES IDENTICALLY */ (" The double divergence of the Riemann-tensor on its antisymmetric indices should vanish. We can prove this in geodesic coordinates:")$ showtime:true; if get('itensor,'version)=false then load(itensor); remcomps(g); imetric(g); covdiff(icurvature([r,s,t],[u])*g([],[s,i])*g([],[t,j]),i)$ nterms(%); rename(expand(%th(2)))$ igeodesic_coords(canform(rename(expand(ev(%)))),g)$ ishow(%)$ canform(covdiff(%,j))$ nterms(%); rename(expand(igeodesic_coords(%th(2),g))); showtime:false; /* Old version. Longer, faster, but uses suspect simplifications. load(itensor)$ showtime:true; allsym:true; q:covdiff(covdiff(icurvature([r,s,t],[u])*g([],[s,i])*g([],[t,j]),i),j)$ nterms(q); h:canform(expand(rename(igeodesic_coords(q,g))))$ nterms(%); imetric:g$ h2:igeodesic_coords(canform(ev(h)),g)$ nterms(%); conmetderiv(h2,g)$ h3:igeodesic_coords(%,g)$ nterms(%); h4:canform(rename(expand(rename(h3))))$ h6:canform(ev(h4))$ nterms(%); conmetderiv(h6,g)$ h8:igeodesic_coords(%,g)$ nterms(%); ishow(canten(rename(h8)))$ */