2007年10月3日水曜日

pythonでMatplotlib使おう!

では、今度は
f(x,y)=exp(-X*X-Y*Y)*(2*X)*(4*Y*Y-2)
をプロットしてみましょう。

----python---script---


import math
from pylab import *
def gaussfunc(x,y,a,b):
return exp(-a*(x)*(x)-b*(y)*(y))

dx, dy = 0.05, 0.05
x = arange(-3.0, 3.0, dx)
y = arange(-3.0, 3.0, dy)
X,Y = meshgrid(x, y)
Z = gaussfunc(X, Y,1.0,0.5)*(2*X)*(4*Y*Y-2)
im = imshow(Z,origin='lower' ,alpha=.9)
colorbar(im)

cset = contour(Z, arange(-2.0,2.0,0.2), origin='lower' )

clabel(cset,
inline=1,
fmt='%1.1f',
fontsize=10)

hot()
show()



----python script----


ちょっと不思議な絵になりましたね?


一応物理的な解釈をこの絵に持ち込むことも可能です。
量子力学での調和振動子の波動関数の解は基本的に(エルミート多項式)*ガウス関数とかけます。任意の多項式はエルミート多項式に分解出来る事を使うと、上の濃淡プロットは波動関数をプロットしていて、波動関数はn=3までの状態の重ね合わせで描けているというように。
エルミート多項式に関しては
http://homepage2.nifty.com/eman/quantum/oscillator.html
に詳しく書いてあります。
では、どういう重ね合わせなのかというと、
H0(x)=1
H1(x)=2x
H2(x)=4x^2-2
f0(x)=exp(-x^2)
f1(x)=2xexp(-x^2)
f2(x)=(4x^2-2)exp(-x^2)
とかけるので、
(2x)(4y^2-2)=H1(x)*H2(y)
よって、波動関数f(x,y)=f1(x)*f2(y)となります。
これは何を意味しているかというと、0や1や2は節の数を表しています。
x方向に1個の節で、y方向には2個の節をもった波動関数を描いて
振動している事が分かります。

4 件のコメント:

匿名 さんのコメント...

虎猫しぇんしぇ~様

目は治ったのですか?
私のテンションはアガリッパで~し

ところで、この講義は何??
高校の時数学が赤点だった私への復讐のツモリ??
物理は大好きだったけど~微妙かも~
あっ、失礼しますた。ここは虎猫さんの
ブログでした。何を書くのかはあなた様の自由でした
私も勉強してみます。
ところでPYTHON アンド Matplotlibって何?
最初から解らないのですけど(σ´д`*)

toranekosan さんのコメント...

ばっちり治りましたよ!

やっと、朝起きても辛く無くなりました。そのかわりすごい肩こりがひどいですね。時折肩を回して血行を良くしてます。僕のテンションは低いかも(^^;)

これは…実は…グラフを書いてみたら、おもしろい絵が出来たなーと思って。で、こじつけてみたら、量子力学で調和振動子近似が利く場合の二次元版波動関数だなぁと思いついて。ま、こじつけですw

python=プログラム言語の一種。
Matplotlib=pythonプログラムでグラフを作れるソフト。

つまり「かなーーり」マニアックな話なので、統計学とかデータ統計とか、計算機系研究している人向けです。Matplotlibはたぶん1000人の日本人集めてもしっている人は1人いれば素晴らしい位な話です。Matlabなら、1000人に2-3人いるかもしれません。Matlabはグラフ作成ソフトで、十数万円ほどするソフトです。ところが同じ事をMatplotlibなら出来てしまったりするらしいです。

pythonはコンピューター系でlinuxOS業務やWeb管理やWebアプリ作成している人なら、1000人に10人くらいは使える言語です。日本人全体での認知率は1000人に50人くらいかも。日本では同じ種類のRubyやPerlというプログラム言語が人気です。pythonは日本では人気が無いですが、海外では圧倒的な人気があります。計算機業務用のpythonツールがかなり豊富にネット上にありますよ。科学計算系で最近良く使われだしているプログラム言語です。

匿名 さんのコメント...

おっはようございます、今日も張り切って生きましょう((*´ω`))ウキョキョ

どんだけ難しいグラフを書いてますのやら。
こじつけと言う次元では無いような気もします。そしたら私もこじつけで、
赤いThe Primitivesにしようかな~ぁ。

恐るべし分析力を駆使してますねぇ
趣味と実益を兼ね備えてるから、虎猫さんにとっては楽しい時間なんでしょうね。

知ってる人が少ない・・・私は知ってしまった。。。でも、使えない、使い方が解らん。
政府から危険人物としてマークされないの??大丈夫かい?? 虎猫さんの前世はきっと情報を読み解くスパイだったな。外見からは想像も出来ない知能を持って、敵を欺いては猫と戯れていたような。そんな気がする今日この頃。

ほんと、相撲協会の隠されていた歪みが一気に溢れ出ちゃったって感じですねぇ
溜まってよどんでしまったものは、浄化しないとね、浮かばれませんね(iдi*)

toranekosan さんのコメント...

こんにちは〜

なんか元気っぽいですね?元気が一番ですよね、ほんとに。

昨日飲み会があって、前に話題になった方はやっぱり懲りてませんでした。どうやって勘違いしたらああなれるのかな?逃げまくっていましたよ。あげくにすごい嘘つきだという事が判明して…。十歳も年下のころって嘘つきばっかりだったっけな?自己愛的な行動ばかりで…。きっと真剣に諭してくれる人いなかったんだろうな、そういう方々は。

The Primitivesを思わず探してしまいましたよ。バンド名??うーん、わからなかったです。

>でも、使えない、使い方が解らん。
分からなくても実害無いですよ(^^;)日本語で紹介しているサイトがほとんどないので、ネタにしようかなって。ちゃんと一から説明加えるよりも、使い方を見せた方が、使おうとする人にとってのためになりそうだしさ。

>敵を欺いては猫と戯れていたような。
ああ、そんな生活おくってみてぇwwはい、僕の願望ですねw適度にスリルがあって最高に癒される猫と、謎解きは最高ですね〜。でも、パズルとかすごい苦手なので、スパイにはなれませんね。どっかの映画でスパイは一瞬で記憶するくらいの頭脳がないとだめだとか。到底無理だね。この前のイラク戦争でスパイ疑惑のイギリス人は本当にスパイだったみたいですね。

>溜まってよどんでしまったものは、浄化しないとね、浮かばれませんね(iдi*)
同感です。更なる犠牲者が出るのを食い止めないとだめですね。「かわいがり」なんて、刑務所の話?って目が点になりましたよ。牢屋主=親方みたいな。閉鎖的な世界は怖いですね〜。そんなとこにいると、井戸の中の蛙になっちゃうし。これはどこの世界でも共通だろうなぁ。