operator e$ noncom e$ ARRAY SIGNATURE(4)$ SIGNATURE(1):=1$ SIGNATURE(2):=1$ SIGNATURE(3):=1$ ARRAY C(4)$ C(1):=X1$ C(2):=X2$ C(3):=X3$ DEPEND H1, C(1),C(2),C(3)$ DEPEND H2, C(1),C(2),C(3)$ DEPEND H3, C(1),C(2),C(3)$ ARRAY LAME(4)$ LAME(1):=H1$ LAME(2):=H2$ LAME(3):=H3$ FOR ALL X,Y SUCH THAT X NEQ Y AND ORDP(X,Y) LET e(X)*e(Y)=-e(Y)*e(X)$ FOR ALL X LET e(X)*e(X)=SIGNATURE(X)$ FOR ALL X,Y LET DF(e(X)*e(Y),C(1))=DF(e(X),C(1))*e(Y)+ e(X)*DF(e(Y),C(1))$ FOR ALL X,Y LET DF(e(X)*e(Y),C(2))=DF(e(X),C(2))*e(Y)+ e(X)*DF(e(Y),C(2))$ FOR ALL X,Y LET DF(e(X)*e(Y),C(3))=DF(e(X),C(3))*e(Y)+ e(X)*DF(e(Y),C(3))$ ARRAY RRC(4,4,4)$ FOR X:=1:3 DO FOR Y:=1:3 DO FOR Z:=1:3 DO RRC(X,Y,Z)=0$ FOR X:=1:3 DO FOR Y:=1:3 DO IF X NEQ Y THEN RRC(X,X,Y):= -SIGNATURE(X)*SIGNATURE(Y)*DF(LAME(X),C(Y))/(LAME(X)*LAME(Y))$ FOR X:=1:3 DO FOR Y:=1:3 DO IF X NEQ Y THEN RRC(X,Y,X):= DF(LAME(X),C(Y))/(LAME(X)*LAME(Y))$ FOR ALL X LET DF(e(X),C(1))=FOR K:=1:3 SUM LAME(1)*RRC(1,X,K)*e(K)$ FOR ALL X LET DF(e(X),C(2))=FOR K:=1:3 SUM LAME(2)*RRC(2,X,K)*e(K)$ FOR ALL X LET DF(e(X),C(3))=FOR K:=1:3 SUM LAME(3)*RRC(3,X,K)*e(K)$ OPERATOR NABLA$ FOR ALL X LET NABLA(X)=FOR J:=1:3 SUM e(J)*DF(X,C(J))/LAME(J)$ OPERATOR LAPLACE$ FOR ALL X LET LAPLACE(X)=NABLA(NABLA(X))$ FACTOR e(1),e(2),e(3)$ ORDER e(1),e(2),e(3)$ % VECTOR, BIVECTOR I PSEUDOSCALARS DE COMPONENTS CONSTANTS Y1:= a1*e(1) + a2*e(2) + a3*e(3)$ Y2:= aa1*e(2)*e(3)+aa2*e(3)*e(1)+ aa3*e(1)*e(2)$ Y3:= aaa*e(1)*e(2)*e(3)$ Yc:= ae+Y1+Y2+Y3$ % INTRODUCCIO DE L'ELEMENT GENERAL DEPENENT DE LES COORDENADES depend te, c(1),c(2),c(3)$ depend t1, c(1),c(2),c(3)$ depend t2, c(1),c(2),c(3)$ depend t3, c(1),c(2),c(3)$ depend tt1, c(1),c(2),c(3)$ depend tt2, c(1),c(2),c(3)$ depend tt3, c(1),c(2),c(3)$ depend ttt, c(1),c(2),c(3)$ f1:= t1*e(1) + t2*e(2) + t3*e(3)$ f2:= tt1*e(2)*e(3)+tt2*e(3)*e(1)+ tt3*e(1)*e(2)$ f3:= ttt*e(1)*e(2)*e(3)$ fc:= te+f1+f2+f3$ ff0:=nabla(te); ff1:=nabla(f1); ff2:=nabla(f2); ff3:=nabla(f3); write "Ricci Rotation Coefficients e(i)[e(j)]=RRC(ijk) e(k)"; FOR L:=1:3 DO FOR J:=1:3 DO FOR K:=1:3 DO << IF RRC(L,J,K) NEQ 0 THEN WRITE "RRC(",L,J,K,")=",RRC(L,J,K)>>; OUT "dim3nab.txt"$ write "grad escalar (1)=" , DF(ff0,e(1)); write "grad escalar (2)=" , DF(ff0,e(2)); write "grad escalar (3)=" , DF(ff0,e(3)); write "div vector=", sub({e(1)=0,e(2)=0,e(3)=0},ff1); write "rot vector (1)=" , DF(ff1,e(2),e(3)); write "rot vector (2)=" , - DF(ff1,e(3),e(1)); write "rot vector (3)=" , DF(ff1,e(1),e(2)); write "- rot bivector (1)=" , sub({e(2)=0,e(3)=0}, DF(ff2,e(1))); write "- rot bivector (2)=" , sub({e(1)=0,e(3)=0}, DF(ff2,e(2))); write "- rot bivector (3)=" , sub({e(1)=0,e(2)=0}, DF(ff2,e(3))); write "div bivector =" , DF(ff2,e(1),e(2),e(3)); write "grad pseudo (1)=" , DF(ff3,e(2),e(3)); write "grad pseudo (2)=" , - DF(ff3,e(3),e(1)); write "grad pseudo (3)=" , DF(ff3,e(1),e(2)); write "lap escalar=", nabla(ff0); lap1:=nabla(ff1)$ write "lap vector(1)= ", DF(LAP1,e(1)); write "lap vector(2)= ", DF(LAP1,e(2)); write "lap vector(3)= ", DF(LAP1,e(3)); lap2:=nabla(ff2)$ write "lap bivector(1)= ", DF(LAP2,e(2),e(3)); write "lap bivector(2)= ", - DF(LAP2,e(3),e(1)); write "lap bivector(3)= ", DF(LAP2,e(1),e(2)); write "lap pseudo = ", nabla(ff3); shut "dim3nab.txt"$ end;