DIM V(3),R1(3,3),R2(3,3),K(3,3),T(3,3) DIM C1(3,3),C2(3,3),B1(3,3),B2(3,3),P1(3,3),P2(3,3) DIM Q1(3,3),Q2(3,3),L1(3,3),L2(3,3),M1(3,3),M2(3,3) PRINT PRINT "ベクトルの2表示法" PRINT "ベクトルの座標変換" PRINT PRINT " 3次元ベクトル a11, a12, a13 に相当する、" PRINT "3個の数値をコンマで区切って入力してください。" PRINT PRINT "入力例:" PRINT " 3次元ベクトル" PRINT " 1,2,3" PRINT " 計量テンソル" PRINT " 3,1,3,-5,3,1,-4,2,1" PRINT " 座標変換テンソル" PRINT " 1,2,-4,2,-1,2,3,2,-5" PRINT MAT INPUT PROMPT "3次元ベクトル? ":V PRINT LET R1(1,1)=V(1) LET R1(1,2)=V(1) LET R1(1,3)=V(1) LET R1(2,1)=V(2) LET R1(2,2)=V(2) LET R1(2,3)=V(2) LET R1(3,1)=V(3) LET R1(3,2)=V(3) LET R1(3,3)=V(3) PRINT "反変ベクトル表示" MAT PRINT R1 MAT INPUT PROMPT "計量テンソル? ":K MAT PRINT K MAT INPUT PROMPT "座標変換テンソル? ":C1 MAT PRINT C1 MAT T=INV(K) PRINT "対対テンソル = 計量テンソルの逆行列" MAT PRINT T MAT R2=K*R1 PRINT "共変ベクトル表示" MAT PRINT R2 MAT B1=INV(C1) MAT C2=TRN(C1) MAT B2=TRN(B1) MAT P1=C1*R1 MAT P2=B2*R2 PRINT "反変ベクトル表示の座標変換" MAT PRINT P1 PRINT "共変ベクトル表示の座標変換" MAT PRINT P2 MAT Q1=K*B1 MAT M1=B2*Q1 MAT Q2=T*C2 MAT M2=C1*Q2 PRINT "計量テンソルの座標変換" MAT PRINT M1 PRINT "対対テンソルの座標変換" MAT PRINT M2 MAT L1=M1*P1 MAT L2=M2*P2 PRINT "確かめ その1" MAT PRINT L1 MAT PRINT P2 PRINT "確かめ その2" MAT PRINT L2 MAT PRINT P1 PRINT END