2024年7月16日火曜日

Pythonにおける行列演算子「@」

Python 3.5以降では、行列演算を簡潔に記述するために @ 演算子が導入されました。これは、NumPyライブラリにおける行列積の計算関数 np.matmul() を呼び出すための糖記法として機能します。

具体的な使用方法

以下のコード例のように、@ 演算子を2つの行列に対して使用することで、行列積を計算することができます。

Python
import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

C = A @ B  # または C = np.matmul(A, B)
print(C)

このコードを実行すると、以下の行列積が出力されます。

[[19 22]
 [43 50]]

行列の形状が以下の条件を満たす場合、@ 演算子を用いて行列積を計算することができます。

  • 左側の行列の列数と、右側の行列の行数が一致する必要があります。

行列積以外にも、@ 演算子は以下のような用途にも利用できます。

  • クォーターニオンの積
  • テンソル積

利点

@ 演算子を使用する利点は以下の通りです。

  • コードがより簡潔で読みやすくなる
  • 行列積の計算を明示的に記述する必要がない

注意点

@ 演算子はNumPyライブラリに依存しているため、NumPyがインストールされていない環境では使用できません。また、@ 演算子はPython 3.5以降でのみ利用可能です。

その他

行列演算以外にも、@ 演算子は拡張モジュールによって独自に定義された演算を呼び出すために使用することもできます。

参考情報

0 件のコメント:

コメントを投稿