タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとPythonとMathematicsに関するagwのブックマーク (15)

  • numpyで2次元ベクトルの外積 - Pashango’s Blog

    一般的には2次元の外積の存在は賛否が分かれる所ですが、numpyでは2次元ベクトルの外積が用意されています。 import numpy numpy.cross([0,1],[ 1,0]) #-1 numpy.cross([0,1],[-1,0]) # 1 numpy.cross([1,0],[ 0,1]) # 0 どうやら内積の90度回転版みたいですね。 キャラクタの方向から見て、点が右にあるのか左にあるのかの判断に使えそうです。

    numpyで2次元ベクトルの外積 - Pashango’s Blog
  • 高速数値計算ライブラリ「Numpy」覚書き - Pashango’s Blog

    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

    高速数値計算ライブラリ「Numpy」覚書き - Pashango’s Blog
  • Python Corner

    能書き・環境整備 元の "Python Corner" はもう大部古くなってしまったようだ。 何より、現在 (2008-06-07) 主に使っている環境は、Leopard (MacOS X 10.5.3) だったりする……。 なので、すっかり新しくする事にした。 とりあえず、数値計算・プロットを中心に、Leopard 上の環境整備について述べる事にし、GPIB 他のトピックは追々書き足していくつもり。 Leopard に Python をインストールするには色々な手が有るようで、 Leopard についてくるのをそのまま使う。何と、Leopard 10.5.2 には、Python-2.5.1 がついて来た。(/usr/bin/python2.5) MacPort でインストールする。これも 2.5.1。 (/opt/local/bin/python2.5) Python.org から、Ma

    agw
    agw 2009/09/09
    numpy.fftモジュールの使用例。
  • <!--Konrad Hinsen's Python Page-->科学者のための Python 入門 目次

    訳者より: これは、Konrad Hinsen 氏 による Python for Science の中から、An introduction to Python for scientists の部分を和訳したものです。 この教材中の例題には、PDB ファイル(Protein Data Bank、タンパク質のX線構造解析データ)の操作が多く採用されていますが、他分野の方々にとっても有用な題材を豊富に含んでいると思います。 オリジナルに(若干の)改訂がなされていました。改訂箇所は、この色で示してあります。(1999.11.24) これは、グルノーブルの Institute of Structural Biology の同僚たちに行った Python 入門コースの教材です。他の目的に使うのも自由ですし、改善点の示唆も歓迎します。 ただし、これは自習用には作られていないことに注意して下さい。 つまり

  • yota.ro: とらぬ狸 » 科学者に必要なPythonモジュールはなにか?

  • 2009-01-02

    Pythonは科学計算にもよくつかわれるようだ。 科学者に必要なpythonモジュールはなにか 科学者のための Python 入門 とりあえず、Python体に加えて以下のモジュールをインストールしてみる。 Python SetupTools モジュールを簡単インストールできる numpy 行列などを扱える SciPy 数値計算など Matplotlib: Python plotting — Matplotlib 3.0.3 documentation グラフプロットなど。easy_installでインストール PIL 画像処理ライブラリ。easy_installでインストール http://ipython.scipy.org/moin/:pyreadline IPythonで使用するモジュール IPython インタラクティブシェル。easy_installでインストール 準備 Pyt

    2009-01-02
  • NumPy — NumPy

    NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array object sophisticated (broadcasting) functions tools for integrating C/C++ and Fortran code useful linear algebra, Fourier transform, and random number capabilities Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional containe

  • Numerical Python の紹介

    Numerical PythonPython言語に Numeric ライブラリを拡張したものです。 Numerical Python は 数値配列を Python に提供しています。 線形代数、FFT などのライブラリを簡潔なインターフェースで提供しています。 配列の操作も for 文のループで添字を操作する必要がなくなり、見通しのよい簡潔なコーディングが可能になっています。 動作環境は各種 MS-Windows, MacOS, 各種 Unix です。 Numerical Python はしばしば Numeric Python とか NumPy と表記されることがあります。 Numerical Python の簡単すぎる説明 Numerical Python のサイト http://www.pfdubois.com/numpy/ Numerical Python のソースの入手先 h

  • Pythonをはじめてみる(8) - inamori’s diary

    ついでだから、Pythonでも書いてみよう。 import random nRep = 100000 nDays = 365 nAcc = 7 def calcMinInterval(): a = [ random.randint(0, nDays - 1) for i in range(nAcc) ] a.sort() min = nDays + a[0] - a[nAcc-1] for i in range(1, nAcc): interval = a[i] - a[i-1] if interval < min: min = interval return min minInterval = [ 0 for i in range(nDays / nAcc + 1) ] for i in xrange(nRep): minInterval[calcMinInterval()] += 1

    Pythonをはじめてみる(8) - inamori’s diary
  • Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記

    PageRank とか HITS といったリンク解析ではグラフの計算が頻発するのだが、Python でそのあたり書くときの話をまとめてみる。グラフは行列で表現できる(ノード×ノード次元の行列 A を考えて、ノード i からノード j にエッジがあるとき、A[i,j] に値を入れておけばよい。無向グラフのときは A[i,j] = A[j,i] なので対称行列になる)ので、要は行列を手軽に扱えるライブラリの紹介である。 実は Python の行列演算ライブラリはどれも lapack/blas を内部的に呼んでいるので、C/C++ 等と比較してもそんなに遅くない。それどころか、自動的に並列化できるところは並列化してくれたりするので、まれに C より速いこともあるらしい。特に巨大なグラフを作る場合、ほとんどの処理は C などで書かれた関数に飛ぶので、速度的な問題は無視してもいいくらいである(逆に、

    Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記
  • Python で順列を生成

    1. 順列の意味 順列 – Wikipedia によると、 組合せ数学における順列(じゅんれつ、permutation)は、あるひとつの集合から要素を選び出して、順番に意味を持たせて並べる (ordering) ときの、その並び(ordered list, sequence; 有限列)のことである。 うーん、ややこしそう。 (+_+) 数学苦手。どうやって生成するんだろう。 2. アルゴリズム 順列の生成とList内包表記 - 趣味的にっき によると、 与えられたリストから要素を1つ取り出して、残りの要素から再帰的に順列を求めて、それらを結合するアルゴリズムです。 (…) まずHaskellの場合。 (…) perms :: Eq a => [a] -> [[a]] perms [] = [[]] perms xs = [ h : t | h <- xs, t <- perms (xs \

    Python で順列を生成
  • [サンプル] クエリ式とリスト内包

    概要 C# 3.0 の「LINQ」を使うと、リスト内包(list comprehensions)のようなことが可能。 内包と外延 ここでいう内包ってのは、元々は公理的集合論の用語で、 内包(intension)記法: {f(x) | x ∈ A} みたいな書き方。 外延(extension)記法: {a, b, c, d, e, …} みたいな書き方。 というようなものの事をいいます。 この言葉はさらにさかのぼると、哲学とか論理学の用語で、 内包:「ある事物が充たすべき条件」… 事物が内に持っているだろう性質。 外延:「ある条件を充たす事物の集合」… 具体例で外堀埋めるように事物を記述。 というような意味です。 要するに例えば、犬というものを定義するに当たって、 内包: 犬は、哺乳類で、4足歩行で、群れを成す生き物で、・・・ 外延: お隣のポチは犬、向かいのシロも犬・・・ というような考え

    [サンプル] クエリ式とリスト内包
  • http://d.hatena.ne.jp/elecsta/20080104

  • ヘブの法則 - Λάδι Βιώσας

    上でレビューした「進化しすぎた脳」の巻末に、ヘブの法則というものを使うと数学で簡単に記憶のモデルが作れる、という付録がありました。ちなみに、ちょっとググったところ、の内容がここ↓に 行列をつかった記憶のシミュレーション そのまんま載ってました。 で、このヘブの法則をPythonで書いてみました。 from numarray import * class hebb: memory = [] memory_size = 0 def __init__(self, size): self.memory_size = size self.memory = reshape([0]*size**2, (size, size)) def learn(self, neural_activity): if self.memory_size != len(neural_activity): return Fa

    ヘブの法則 - Λάδι Βιώσας
  • ln, log, log10 - まじかんと雑記

    一般に、プログラミングにおいて、対数は三種類ある。自然対数と、常用対数と、一般の底の対数だ。問題は、それらの表し方について統一的な決まりがないことだ。 一般的な関数電卓では、ln が自然対数を表し、log が常用対数を表す。そして任意の底についての対数を直接に計算する機能はないことが多い。一方、プログラミングにおける各種ライブラリなどにおいては、log が自然対数を表し、log10 が常用対数を表すことが多いような気がする。 というように、表記法が大まかに二つあるので、#Script においてはどうすべきか悩んでいる。 任意の底の対数については、log という名前の関数に二つの引数を渡すという点においてはバライエティがなくても、底と真数のどちらを先にするかという順番の問題がある。 とりあえず、いくつかのプログラミング言語(のライブラリ)について、対数をどのように指定するか調べた結果が次の表

    ln, log, log10 - まじかんと雑記
  • 1