こんばんわ!Keisukeです!
先日, SymPyについて取り扱ったので今日は, NumPyについて紹介していきたいと思います!
SymPyとNumPyの違いは, 同じ数学ライブラリですが用途が違うようです!
数式等を扱う場合はSymPy
算術等を扱う場合はNumPyが優れていると感じます。
Numpyのいい点は, 行列計算が非常に簡単に速くできることです!
例を挙げてますす!
行列計算
以下の計算を行う.
[1,2,3,4,5] + [5,4,3,2,1] = [6,6,6,6,6]
NumPyを使っていない場合
試行1
>>>list0 = [1,2,3,4,5]
>>>list1 = [5,4,3,2,1]
>>>list2 = list0 + list1
>>>print(list2)
[1,2,3,4,5,5,4,3,2,1] //リストに加えられるだけ..
試行2
>>>list0 = [1,2,3,4,5]
>>>list1 = [5,4,3,2,1]
>>>list2 = []
>>>for i in range(len(list0)):
list2.append( list0[i] + list1[i] )
>>>print(list2)
[6,6,6,6,6]
苦ではありませんが、for分を使う必要があります
NumPyを使うと
>>>import numpy as np
>>>list0 = np.array( [1,2,3,4,5] )
>>>list1 = np.array( [5,4,3,2,1] )
>>>list2 = list0 + list1
>>>print(list2)
[6,6,6,6,6]
for文を使う必要もなく計算が非常に簡単になります!
今回は, 1×5行列ですが以前取り扱ったYule-Waker方程式などの可変的な行列を扱うにはかなり向いていると考えられます!
時間があるときに扱える行列の限界を調べてみたいですね! 1000×1000行列とか!
[今日の達成]
・NumPyを扱った!
[今日の未消化]
・扱える行列計算の限界を調べる!