行列演算

Pythonで行列を扱うライブラリとしては NumPy があります.

Numpy というのはオープンソースの拡張モジュールで行列や多次元配列と,それらを操作するための高水準の数学関数ライブラリです.

Jum HuguninNumeric というライブラリを開発したのが始まりで,2005年に Travis Oliphant[#01] が,Numeric の機能を大幅に改良して NumPy を開発しました.

NumPy の内部はC言語によって実装されていること,動的型付き言語である Python に対して,型付き多次元配列オブジェクトとその演算関数,操作関数を提供することによって,動的型付き言語が静的型付き言語と比較して計算時間がかかるという問題を解決しています.

import numpy as np
m1 = np.matrix('1 2; 3 4')

とすることで,「1,2」という文字列を1行目,「3,4」という文字列を2行目とする行列が生成されます.

import時に np というエイリアスを付けるのが慣例となっています.

m1[0] #1行目の要素を全て表示
m1[0,:] #1行目の要素を全て表示

とすることで行の要素を全て取り出すことが出来ます.

列の要素を全て取り出す場合は,

m1[:,0] #1列目の要素を全て表示

とします.

行列の和と差は,次のように計算することが出来ます.

m2=np.matrix('5 6,7 8') #m2という行列を生成
m3=m1+m2 #先程のm1と生成したm2とを足す
m3 #行列の和の結果を表示
matrix([[6,8],[10,12]])

m2=np.matrix('5 6,7 8') #m2という行列を生成
m4=m1-m2 #先程のm1から生成したm2を引く
m3 #行列の差の結果を表示
matrix([[-4,-4],[-4,-4]])

行列の積はメソッド dot を使います.

m4=m1.dot(m2)
m4
matrix([[19,22],[43,50]])


#1:データサイエンティストであり,Pythonで実装された Open Data Science Platformである Anacondaを提供しているContinuum analyticsの CEO であり共同創業者.

Mathematics is the language with which God has written the universe.





















二項分布とポアソン分布の関係 線形回帰のための正則化手法 ベルヌーイ分布 ラドン・ニコディムの定理 カルバック・ライブラー情報量 ユニット