PRINT PRINT "<3次元ベクトルの外積>" PRINT PRINT "3次元ベクトルの入力方法の例" PRINT " 1,2,3" PRINT PRINT "3次元ベクトルの行列化:" PRINT " ( a ,b ,c )は次のように行列化されます。" PRINT " a a a" PRINT " b b b" PRINT " c c c" PRINT PRINT "外積の結果 = 外積させられるベクトル × 外積させるベクトル" PRINT " = ( a ,b ,c ) × ( d ,e ,f )" PRINT PRINT "行列化された外積の結果 = 外積テンソルの表現行列 × 外積させられる行列化ベクトル" PRINT PRINT "外積テンソル:" PRINT " 外積させるベクトル ( d ,e ,f )は、" PRINT " 次のように外積テンソルの表現行列に変換されます。" PRINT " 0  f −e" PRINT " −f 0 d" PRINT "  e −d 0" PRINT LET n=3 DIM XX(n,n),YY(n,n),Z(n,n),Q(n,n) INPUT PROMPT "外積させられるベクトルを入力してください。 ":X1,X2,X3 INPUT PROMPT "外積させるベクトルを入力してください。 ":Y1,Y2,Y3 PRINT LET XX(1,1)=X1 LET XX(1,2)=X1 LET XX(1,3)=X1 LET XX(2,1)=X2 LET XX(2,2)=X2 LET XX(2,3)=X2 LET XX(3,1)=X3 LET XX(3,2)=X3 LET XX(3,3)=X3 LET YY(1,1)=Y1 LET YY(1,2)=Y1 LET YY(1,3)=Y1 LET YY(2,1)=Y2 LET YY(2,2)=Y2 LET YY(2,3)=Y2 LET YY(3,1)=Y3 LET YY(3,2)=Y3 LET YY(3,3)=Y3 PRINT "外積させられる行列化ベクトル:" FOR i=1 TO n FOR j=1 TO n PRINT USING "####":XX(i,j); NEXT j PRINT NEXT i PRINT PRINT "外積させる行列化ベクトル:" FOR i=1 TO n FOR j=1 TO n PRINT USING "####":YY(i,j); NEXT j PRINT NEXT i PRINT LET Q(1,1)=0 LET Q(1,2)=YY(3,1) LET Q(1,3)=-1*YY(2,1) LET Q(2,1)=-1*YY(3,1) LET Q(2,2)=0 LET Q(2,3)=YY(1,1) LET Q(3,1)=YY(2,1) LET Q(3,2)=-1*YY(1,1) LET Q(3,3)=0 PRINT "外積テンソルの表現行列:" FOR i=1 TO n FOR j=1 TO n PRINT USING "####":Q(i,j); NEXT j PRINT NEXT i PRINT MAT Z=Q*XX PRINT "行列化された外積の結果:" FOR i=1 TO n FOR j=1 TO n PRINT USING "####":Z(i,j); NEXT j PRINT NEXT i PRINT PRINT "外積の結果: (";Z(1,1);",";Z(2,1);",";Z(3,1);")" PRINT END