今回は、2つの配列の間で内積を行う方法について説明します。
1次元配列と多次元配列の両方について見ていきます。
まず、Numpyの配列とは何かから見ていきましょう。
NumPy 配列とは?
Numpy はオープンソースの Python ライブラリで、科学的な計算に使用されます。
Numpyの配列は、似たようなデータ型のオブジェクトを含むという点以外はリストに似ており、リストよりはるかに高速です。
これらは科学計算のためのPythonの最も重要なデータ構造の1つです。
numpy配列は効率的で、多機能で、使いやすい。
また、多次元であり、2次元以上のデータを格納することができます。
次元の数は配列のランクと呼ばれます。
配列はどのようなランクでも構いませんが、ほとんどの配列は1次元か2次元のどちらかです。
それではNumpyの配列の作り方を見てみましょう。
import numpy as np
a = np.array([ 1 , 2 , 3 ])
print (a)
|
結果は以下の通りです。
[ 1 2 3 ]
|
Numpy 配列の内積
簡単な numpy.inner() 関数を使って、配列の内積を実行することができます。
構文は以下の通りです。
numpy.inner(arr1, arr2) = sum (array1[:] , array2[:])
|
1次元Numpy配列の内積
以下のコードでNumpy配列の1次元内積を求めることができます。
import numpy as np
a = np.array([ 1 , 2 , 3 ])
b = np.array([ 0 , 1 , 0 ])
product = np.inner(a,b)
print (product)
|
結果は以下の通りです。
2 |
ここでの出力積は [10+21+3*0]=2 に等しい。
この記事もチェック:Numpyとvstackメソッドを使って1次元配列を多次元配列に結合する方法
多次元配列の内積
多次元配列の内積を求めるには、以下のようにします。
import numpy as np
a = np.array([[ 1 , 3 ], [ 4 , 5 ]])
b = np.array([[ 11 , 12 ], [ 15 , 16 ]])
product = np.inner(a,b)
print (product)
|
結果は以下の通りです。
[[ 47 63 ]
[ 104 140 ]]
|
まとめ
まとめると、Numpyの配列に対して内積を実行する方法を学びました。
この記事がお役に立てれば幸いです。