Tokyo.SciPy #2 にて発表した、数式(あるいは数式入りのアルゴリズム)から実装に落とす場合、何に気をつけるのか、どう考えればいいのか、というお話。 対象は、どうやって数式をプログラムすればいいかよくわからない人、ちょっとややこしい数式になると四苦八苦してしまい、コードに落とすのにすごく時間がかかってしまう人、など。 ここでは実行速度についてはひとまずおいといて、簡潔で間違いにくい、ちゃんと動くコードを書くことを目標にしています。
Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2]]) #ベクトルの長さ length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ベクトルの正規化 a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) 内積&外積 import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #内積 numpy.dot(v1,v2) #=> 0 #外積 numpy.cros
# 原文:http://www.scipy.org/Tentative_NumPy_Tutorial このチュートリアルを読む前に、Pythonについてちょっとは知っているべきだ。記憶をリフレッシュしたいと思うなら、Pythonチュートリアルを見てくるがいい。 このチュートリアルに出てくる例を試したいなら、あなたのPCに少なくとも Python NumPy はインストールされているべきで、他に入ってると便利なのは: ipython は拡張されたインタラクティブなPythonシェルで、NumPyの機能を探検するのにとても便利 matplotlib があると図表の描画が可能になる SciPy はNumPyの上で動く科学計算ルーチンを沢山用意してくれる 基礎 NumPy の主要なオブジェクトは、同じ型(普通は数)の要素のみから成り、正の整数のタプルで添字付けされた、均質なテーブル(というか多次元
導入 Pythonの数値計算ライブラリNumPyのarrayを使って、標準のlistを単純に置き換えてみると遅くなることが多いです。 実際どれぐらい速度に差があるのかlist, array, numpy.arrayで比較してみました。 処理時間の計測 Pythonに含まれるライブラリのtimeitを使います。 100000個の要素(すべてが1)を持つ配列の各要素の総和を1000回計算した時の処理時間を求めます。 forループの場合(イテレータでアクセスした場合)とsum関数、numpy.sum関数を使った場合について調べています。 ソースコードは一番下にあります。 使ったバージョンはPython 2.7.2, NumPy 1.6.2。 結果は以下のとおり(単位は秒)。 for sum numpy.sum list 3.17386984825 0.524603128433 9.5617320
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く