Python の numpy モジュールは、2 つの配列のドット積を実行する関数を提供します。
- 配列 'a' と 'b' が両方とも 1 次元配列の場合、dot() 関数はベクトルの内積を (複素共役なしで) 実行します。
- 配列 'a' と 'b' が両方とも 2 次元配列の場合、dot() 関数は行列の乗算を実行します。ただし、行列乗算の場合は、 マット または 'a' @ 'b' が好ましいです。
- 「a」または「b」のいずれかが 0 次元 (スカラー) の場合、dot() 関数は乗算を実行します。また、 numpy.multiply(a, b) または a*b 方法が好ましいです。
- 「a」が N 次元配列で、「b」が 1 次元配列の場合、dot() 関数は a と b の最後の軸に対して積和を実行します。
- 「a」が M 次元配列で、「b」が N 次元配列 (N>=2) の場合、dot() 関数は「a」の最後の軸と 2 番目の軸の積和を実行します。 -「b」の最後までの軸:
dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n])
構文
numpy.dot(a, b, out=None)
パラメーター
a: 配列のようなもの
このパラメータは最初の配列を定義します。
b: 配列のようなもの
xdxdとはどういう意味ですか
このパラメータは 2 番目の配列を定義します。
出力: ndarray(オプション)
これは出力引数です。使用されなかった場合に返される正確な種類が必要です。特に、パフォーマンス機能を満たす必要があります。つまり、正しい型が含まれている必要があります。つまり、C 連続である必要があり、その dtype が dot(a,b) に対して返される dtype である必要があります。したがって、これらの指定された条件を満たさない場合は、例外が発生します。
スクリプトを実行可能にする
戻り値
この関数は、「a」と「b」のドット積を返します。この関数は、「a」と「b」が両方ともスカラーまたは 1 次元の場合、スカラーを返します。それ以外の場合は配列を返します。 「out」が指定された場合は、それが返されます。
レイズ
の 値エラー この問題は、「a」の最後の次元が「b」の最後から 2 番目の次元と同じサイズではない場合に発生します。
例 1:
import numpy as np a=np.dot(6,12) a
出力:
72
例 2:
import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a
出力:
(-34+0j)
例 3:
import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c
出力:
int を文字列 Java に変換します
array([[ 8, 17], [18, 47]])
上記のコードでは
- numpy をエイリアス名 np でインポートしました。
- 2 つの 2 次元配列を作成しました。 ある ' そして ' b '。
- 変数 ' を宣言しました。 c ' と戻り値を割り当てました。 np.dot() 関数。 最後に、「」の値を出力しようとしました。 c '。
出力では、行列積が配列として表示されます。
例 4:
import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q
出力:
499128 499128
上記のコードでは
Javaデータベースjdbc
- numpy をエイリアス名 np でインポートしました。
- 2 つの配列を作成しました。 ある ' そして ' b ' を使用して np.arange() 関数を使用し、 reshape() 関数を使用して両方の配列の形状を変更します。
- 変数 ' を宣言しました。 c ' と戻り値を割り当てました。 np.dot() 関数
- 最後に、「」を出力してみました。 c ' 価値。
出力では、行列積が配列として表示されます。