今回は、Numpyで行列を扱ってみます。
行列は、Numpyのarrayオブジェクトを利用して簡単に扱うことができます。
学生の頃、行列の計算には悪戦苦闘していたので、逆行列も簡単に計算できるNumpyは、もはや、神ツールの域に感じました。
では、早速イジっていきます。
0. まずは、お約束のnumpyライブラリをimport。
「import numpy as np」とすることで、「np」にて参照して、各種関数や定数を呼び出すことができます。
1. リスト形式を、np.array()に引数として渡す。
a,b,c,dに乱数で整数を格納して、np.array()の引数として渡すことで、
の行列をarrayオブジェクトに格納できます。
2. 行列の積を、np.dot()で計算する。
np.dot()の引数に、行列を渡すことで、行列の積が計算できます。
手計算だと恐ろしく手間がかかるので、こんなに簡単に計算できると、もうNumpyが手放せません。
3. 逆行列を、np.linalg.inv()で計算する。
逆行列もnp.linalg.inv()の引数に、行列を渡すことでいとも簡単に計算できます。
4. 転置行列を、T属性で計算する。
転置行列は、arrayオブジェクトのT属性で計算できます。
積や逆行列と違い、Numpyの関数ではなく、arrayオブジェクトのT属性で計算する点に注意が必要です。
5. ベクトルを、n×1の行列で定義する。
ベクトルは、n×1の行列で定義することで、行列との掛け算などができます。
ベクトルの内積も、np.dot()の引数の一つ目のベクトルを転置することで、計算できます。
ベクトルのクロス積は、np.dot()の引数の二つ目のベクトルを転置することで計算できます。
Numpyを使うことで、行列やベクトルの計算がいとも簡単に実施することができました。
これで、ベクトル計算に手間を取られたり計算ミスをしたりすることなく、大量のデータを計算することができます。
とてもありがたいです!
では、引き続き、頑張って勉強していきたいと思います。
2019年3月9日(土)にG検定を受験し、見事合格できました!
受験の体験記や勉強法などを別のブログにまとめました。
これから受験される方がいらっしゃいましたらご参考まで。