この記事では、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]]

コメント