この記事では、Pythonの数値計算ライブラリにおけるarrayメソッド(配列)とmatrixメソッド(行列)の違いをソースコード付きで解説します。
array(配列)とmatrix(行列)の違い
NumPyには、配列を生成するarrayメソッドの他に、行列生成用のmatrixメソッドがあります。
その違いは、算術演算子「*」を使ったときの動作です。
– | 動作 |
---|---|
arrayメソッド | 生成した配列同士を「*」で掛けると要素同士の掛け算を求めます。 |
matrixメソッド | 生成した行列同士を「*」で掛けると内積を求めます。 |
行列計算するならmatrixメソッドの方が扱いやすくなっています。
ソースコード(Python3+NumPy)
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*- import numpy as np A = np.matrix([[1, 3], [2, 2]]) B = np.matrix([[2, 2], [4, 1]]) C = np.array([[1, 3], [2, 2]]) D = np.array([[2, 2], [4, 1]]) # 内積 print('A*B=', A*B) # A*B= [[14 5] # [12 6]] # 要素同士の掛け算 print('C*D=', C*D) # C*D= [[2 6] # [8 2]]
コメント