dot
numpyに同等のMatlab関数はありますか?
Matlabのdot
関数: 多次元配列 A および B の場合、dot は A および B の最初の 1 でない次元に沿ったスカラー積を返します。A および B は同じサイズでなければなりません。
numpy では、以下は似ていますが同等ではありません。
dot (A.conj().T, B)
MATLABではdot(A,B)
、2つの行列A
とB
同じサイズは単純に次のようになります。
sum(conj(A).*B)
同等のPython/Numpy:
np.sum(A.conj()*B, axis=0)
これらのチートシートを確認してください。
Numpy には、配列クラスと行列クラスの両方が含まれています。配列クラスは、多くの種類の数値計算用の汎用 n 次元配列であることを意図していますが、行列は特に線形代数計算を容易にすることを目的としています。実際には、両者の間にはほんの一握りの重要な違いしかありません。
Operator
*
、dot()、multiply():
配列の場合、*
要素単位の乗算を意味し、行列の乗算には dot() 関数が使用されます。
行列の場合、*
行列の乗算を意味し、要素ごとの乗算にはmultiply()関数が使用されます。