2021年8月8日日曜日

【Numpy】numpy.dot/ndarray.dotによる行列の積

 Pythonの数値計算ライブラリNumpyの配列型データ構造ndarrayで行列の積を計算する場合numpy.dot/ndarray.dotを用いる。

Numpyを使う際にはimportが必要。しばしばnpと略される。

import numpy as np


1. numpy.dotによる行列の積

 2X2行列同士の積は以下のようにあらわされる。

\[ A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} \] \[ B = \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \] \[ A \cdot B = \begin{pmatrix} a_{11}*b_{11}+a_{12}*b_{21} & a_{11}*b_{12}+a_{12}*b_{22} \\ a_{21}*b_{11}+a_{22}*b_{21} & a_{21}*b_{12}+a_{22}*b_{22} \end{pmatrix} \]

 numpy.dotにより行列の積が求められる。
2つのndarray、aとbの積を求める場合。

import numpy as np

a = np.array([[-1, 2], [3, 1]])
b = np.array([[4, 1], [2, 2]])

print(np.dot(a, b))

実行結果

[[ 0  3]
 [14  5]]


2. ndarray.dotによる行列の積

ndarray.dotでも同様に行列の積が求まる。

import numpy as np

a = np.array([[-1, 2], [3, 1]])
b = np.array([[4, 1], [2, 2]])

print(a.dot(b))

実行結果

[[ 0  3]
 [14  5]]


3. リファレンス

Scipy.org > Numpy > numpy.dot
Scipy.org > Numpy > numpy.ndarray.dot

使用バージョン:Python 3.8.8/numpy 1.20.1

0 件のコメント:

コメントを投稿