PRINT PRINT "ローレンツ変換" PRINT PRINT "入力例: v = 0.6 x = 1 t = 1" PRINT "入力例: v = 0.6 x = 0.6 t = 1 ( 本来のローレンツ変換 )" PRINT "入力例: v = 0.4 x = 1 t = 2" PRINT INPUT PROMPT "慣性系の速さ( 0.1 〜 0.9999 )は? ":v INPUT PROMPT " χ,t ( v×t ≦ χ ≦ t )= ":x,t PRINT LET xx=ROUND((x-v*t)/SQR(1-v^2),3) LET tt=ROUND((-v*x+t)/SQR(1-v^2),3) PRINT "( χ, t ) = (";x;",";t;") → "; PRINT "( χ', t' ) = (";xx;",";tt;")" PRINT PRINT "速さの変換: ";x/t;" → ";xx/tt PRINT DIM S(2,2),W(2,1),Q(2,1) LET S(1,1)=ROUND(1/SQR(1-v^2),3) LET S(1,2)=ROUND(-1*v/SQR(1-v^2),3) LET S(2,1)=ROUND(-1*v/SQR(1-v^2),3) LET S(2,2)=ROUND(1/SQR(1-v^2),3) LET W(1,1)=x LET W(2,1)=t MAT Q=S*W PRINT " χ’= "; PRINT USING "##.###":Q(1,1) PRINT " t’= "; PRINT USING "##.###":Q(2,1) PRINT PRINT "速さの変換: ";x/t;" → ";Q(1,1)/Q(2,1) PRINT END ###################################################################### PRINT PRINT "逆ローレンツ変換" PRINT PRINT "入力例: v = 0.6 x = 1 t = 1" PRINT "入力例: v = 0.6 x = 0.6 t = 1" PRINT "入力例: v = 0.9999 x = 1 t = 2" PRINT INPUT PROMPT "慣性系の速さ( 0.1 〜 0.9999 )は? ":v INPUT PROMPT " χ,t ( χ ≦ t )= ":x,t PRINT LET xx=ROUND((x+v*t)/SQR(1-v^2),3) LET tt=ROUND((v*x+t)/SQR(1-v^2),3) PRINT "( χ, t ) = (";x;",";t;") → "; PRINT "( χ', t' ) = (";xx;",";tt;")" PRINT PRINT "速さの変換: ";x/t;" → ";xx/tt PRINT DIM S(2,2),W(2,1),Q(2,1) LET S(1,1)=ROUND(1/SQR(1-v^2),3) LET S(1,2)=ROUND(v/SQR(1-v^2),3) LET S(2,1)=ROUND(v/SQR(1-v^2),3) LET S(2,2)=ROUND(1/SQR(1-v^2),3) LET W(1,1)=x LET W(2,1)=t MAT Q=S*W PRINT " χ’= ";Q(1,1) PRINT " t’= ";Q(2,1) PRINT PRINT "速さの変換: ";x/t;" → ";Q(1,1)/Q(2,1) PRINT END