In[64]:= Clear[coord,metric,inversemetric,christoffel,reimann,ricci,einstein,r,ϕ,θ,t,x,y,z] In[65]:= n=4 In[66]:= coord={t,r,θ,ϕ} In[67]:= metric={{-1,0,0,0},{0,a[t]^2,0,0},{0,0,a[t]^2*r^2,0},{0,0,0,a[t]^2*r^2* Sin[θ]^2}} In[68]:= metric // MatrixForm In[69]:= inversemetric =Simplify[Inverse[metric]] In[70]:= inversemetric // MatrixForm In[71]:= christoffel:= Simplify[ Table[(1/2)*Sum[inversemetric[[s,i]]*( D[metric[[j,s]],coord[[k]] ] + D[metric[[s,k]],coord[[j]] ] - D[metric[[j,k]],coord[[s]] ] ),{s,1,n}],{i,1,n},{j,1,n},{k,1,n} ] ] In[72]:= listchristoffel:= Table[If[UnsameQ[christoffel[[i,j,k]],0],{ToString[Γ[i-1,j-1,k-1]],christoffel[[i,j,k]]}],{i,1,n},{j,1,n},{k,1,j}] In[73]:= TableForm[Partition[DeleteCases[Flatten[listchristoffel],Null],2],TableSpacing ->{2,2}] In[74]:= riemann:=riemann=Simplify[Table[D[ christoffel[[i,j,l]], coord[[k]] ] - D[ christoffel[[i,j,k]], coord[[l]] ] + Sum[christoffel[[s,j,l]]christoffel[[i,k,s]] - christoffel[[s,j,k]]christoffel[[i,l,s]],{s,1,n}],{i,1,n},{j,1,n},{k,1,n},{l,1,n}]] In[75]:= listriemann:=Table[If[UnsameQ[riemann[[i,j,k,l]],0], {ToString[R[i-1,j-1,k-1,l-1]], riemann[[i,j,k,l]]}],{i,1,n},{j,1,n},{k,1,n},{l,1,k-1}] In[76]:= TableForm[Partition[DeleteCases[Flatten[listriemann],Null],2],TableSpacing -> {2,2}] In[77]:= ricci:=ricci=Simplify[Table[Sum[riemann[[i,j,i,l]],{i,1,n}],{j,1,n},{l,1,n}]] In[78]:= listricci:=Table[If[UnsameQ[ricci[[j,l]],0],{ToString[R[j-1,l-1]],ricci[[j,l]]}],{j,1,n},{l,1,n}] In[79]:= TableForm[Partition[DeleteCases[Flatten[listricci],Null],2],TableSpacing -> {2,2}] In[80]:= scalar=Simplify[Sum[inversemetric[[i,j]]ricci[[i,j]],{i,1,n},{j,1,n}]] In[81]:= einstein:=einstein=Simplify[ricci-(1/2)scalar*metric] In[82]:= listeinstein:=Table[If[UnsameQ[einstein[[j,l]],0],{ToString[G[j-1,l-1]],einstein[[j,l]]}],{j,1,n},{l,1,j}] In[83]:= TableForm[Partition[DeleteCases[Flatten[listeinstein],Null],2],TableSpacing -> {2,2}]