おっぱいそん!

pythonを数値計算に使うときのテクニックとかをまとめていきたい。

2015-01-01から1ヶ月間の記事一覧

複素数型が実数に近かったら、実数型にする

complex型のndarrayが与えられた時に、もし複素数の部分が小さいなら、floatなどの実数の型で近似する方法。 そういう関数、ありそうだと思ってググったらNumpyの関数にnumpy.real_if_closeというのがあった。 numpy.real_if_close(a, tol=100) この関数はNd…

Pythonの代入の挙動

Pythonで代入をした時に、各変数がどのオブジェクトを指すかをまとめておく。特に、list(リスト)とNdarray(配列)の違いをば。 前回の記事も参照 : http://oppython.hatenablog.com/entry/2015/01/15/014729 例1 前回の記事でも書いたようにPythonでは、…

Pythonの型の分類と代入

変数が指すオブジェクトがどれかなどの振る舞いをすぐ忘れてしまうのでメモしておく。 組み込み型の分類 まず、Pythonの組み込み型についてまとめておく。 管理方式 管理方式の違いで分類すると、以下のようになる。 コレクション型(=コンテナ型):複数の…

numpy.matrixとnumpy.ndarrayの違い

numpy.matrixと2次元のnumpy.ndarrayは同じことができるが、numpy.matrixでできることはすべてnumpy.ndarrayでできる。 numpy.matrixがある理由はたぶん、行列を扱う時にはnumpy.ndarrayより見やすいので。 行列以外の高次のテンソルを扱う時には、混乱を避…

固有値問題

Pythonで固有値問題を解く方法についてメモしておく。 メジャーな方法として、以下の3つがある numpy.linalgの関数を使う。 scipy.linalgの関数を使う。 scipy.sparse.linalgの関数を使う。 numpy.linalgとscipy.linalgには以下の4つの関数がある。 eig:一…

外積

Numpyで外積を計算する方法をまとめておく。ベクトル(1次元配列)同士の外積、つまり c[i,j] = a[i]b[j] はnumpy.outerを使って、 http://docs.scipy.org/doc/numpy/reference/generated/numpy.outer.html import numpy as np a = np.ones(3) b = np.arange(2…