配列の演算を行うNumpyのdot関数について解説します。
ベクトルと行列
まず、dot関数の前にベクトルと行列について知っておいた方が良いです。
詳しくは解説しませんので、なんとなくで大丈夫です。
高校数学でベクトルを習うのですが、おさらいしておくと方向と大きさがあるものがベクトルです。また、ベクトルはアルファベットの上に矢印をつけて表記します。
2次元ベクトル: 3次元ベクトル:
ここで、大学数学の行列について話します。
行列というのは簡単に言うと数字の並びです。
行列は、名前の通り行と列があり行x列の分数字が並んでいるのです。
表記法も高校の時とは異なり、アルファベットの太文字で表します。
A =
これだけでは、意味が分からないという人もいるでしょうが高校数学のようにグラフや図形がなければ、ベクトルも同じように数字の並びです。
実際、ベクトルは行列の行もしくは列が1つしかないときの特別な名前です。
dot関数
本題のdot関数について解説します。
dot関数は、行列・ベクトルの内積を求めるための関数です。
dot関数の書式は以下の通りです。
Numpy(a, b , out = none)
第1引数と第2引数で内積を求める配列を指定します。
第3引数は演算結果を格納する変数を指定します。
ベクトルの内積は、第1引数と第2引数を気にする必要はないのですが、行列の内積だとどっちに指定するかで演算結果が変わりますので気を付けてください。
a = [[1,0], [3,2]]
b = [[5,0], [4,3]]
np.dot(a, b, c)
np.dot(b, a, c_r)
print(c)
print(c_r)
#出力
//[[ 5 0]
// [23 6]]
//[[ 5 0]
// [13 6]]
まとめ
- dot関数によってベクトル・行列の内積を求めることが出来る
- 引数の指定の順番で行列の内積は変わる
参考にした本
微分積分キャンパス・ゼミ 改訂6 | 馬場敬之 |本 | 通販 | Amazon
Amazonで馬場敬之の微分積分キャンパス・ゼミ 改訂6。アマゾンならポイント還元本が多数。馬場敬之作品ほか、お急ぎ便対象商品は当日お届けも可能。また微分積分キャンパス・ゼミ 改訂6もアマゾン配送商品なら通常配送無料。
コメント