nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

高速フーリエ変換する時の端点の話。

高速フーリエ変換ことFFT(ファイナルファンタジータクティクスではありません)は、結局は離散フーリエ変換な訳で、ある範囲のデータが無限に周期的に繰り返しているとしてフーリエ変換してくれます。 この時に、端の点のどこで周期性を課すのか、ややこし…

FFTWで3次元高速フーリエ変換してみた。

前回の例を元に、3次元に拡張してみた。 koideforest.hatenadiary.com program fftw3_test_3d implicit none integer, parameter :: WP = selected_real_kind( 8 ) real( WP ), parameter :: PI = 3.141592653589793 complex( WP ), parameter :: I = ( 0, 1…

FFTWをfortranで使う際の自分用のメモ

FFTWをfortranで使う。本家の説明: FFTW 3.3.8: Fortran Examples参考にしたサイト: fftwの使い方:腰も砕けよ 膝も折れよ:So-net blog FortranのFFTWの使い方 - Qiita Hiroyuki R. Takahashi Fumio KUSUHARA -Fortran90で構造解析- program fftw3_test i…

Fortranの精度変更。

Fortranの精度変更の書式が自分の知らない感じだったので、自分用にまとめる。 Fortran Best Practices — Fortran90 1.0 documentation program test_presicion implicit none integer, parameter :: dp0 = kind( 0.d0 ) integer, parameter :: dp = selecte…

Makefileの自分用のメモ

FC = gfortran FFLAGS = INCLUDE = -I/opt/local/include LIBS = -L/opt/local/lib -lbrabra PROGRAM = main.out OBJS = sub.o SRCS = $(OBJS:%.o=%.f90) .Phony: all clean all: $(PROGRAM) $(PROGRAM): $(OBJS) $(FC) $(FFLAGS) -o $@ $^ $(INCLUDE) $(LIB…

pythonで三次元プロットする時の自分用メモ

三次元プロット用のx軸、y軸の配列。 import numpy as np N = 100 x_min, x_max = -1, 1 y_min, y_max = -1, 1 x1 = np.linspace( x_min, x_max, N ) y1 = np.linspace( y_min, y_max, N ) X, Y = np.meshgrid( x1, y1 ) 三次元プロット用のz軸データ。 def …

「夢を叶えるためには、どれくらい頑張るべきか」を確率的に考察。

前回、諦める確率を考えた下で、最終的に欲しい結果が得られる確率について考察した。 koideforest.hatenadiary.com今回は、逆に「8,9割の確率で目的を達成するためには、どれくらい粘り強くあるべきか?」を考えたい。 一回の試行で欲しい事象が得られる確…

「諦める癖があると夢は叶わない」をコインとサイコロで考察。

前回、無限にコインやサイコロを投げれば、欲しい結果は必ず得られることを示した。 koideforest.hatenadiary.com今回は、途中で諦める確率を考慮した時に、どれだけ確率が減るかを試してみる。 諦める確率および続ける確率と定義する。「表が出るまでコイン…

「諦めなければ夢は叶う」をコインとサイコロで考察。

「コインを投げて表が出るまで永遠に投げ続けた時、最終的に表が得られる確率」を求める。したがって、無限にやれば、いつか必ず表が出るという結果に。今度はサイコロに問題を変えて、「1」の目が出るまで投げ続けることを考えると、 サイコロの場合でも、…

自分が自分じゃないものってNaNだ。

"NaN"とは"Not a Number"の略で、例えば「1/0」のような変な計算をしてしまった時に出力される。 このNaNの特徴として、「NaN = NaN」が「偽(False)」になる。 逆に言うと、「NaN is not NaN」が「真(True)」になる。NaNとは「自分が自分でないもの」な…

波動関数の節を数える

文字通り、波動関数の節を数える。ndarrayの中で条件を満たす要素数を数える方法。 NumPy配列ndarrayの条件を満たす要素数をカウント | note.nkmk.me import numpy as np x_min, x_max, N = 0, 3*np.pi, 100 x = np.linspace( x_min, x_max, N ) wave = np.c…

Spigot Algorithm

ネイピア数ってそういえばどうやって計算しているのかと思って調べてみたら、面白い記事を見つけた。 こつこつアルゴリズム(Spigot Algorithm)無限級数が以下のように定義されているとする。 この時、 と書けるので、 ここで、 したがって、これを次々繰り返…

光学定理(複素ポテンシャル):複素波数

前回、波数が実数のときの光学定理についてまとめた。 koideforest.hatenadiary.com今回は、より一般的な、波数が複素数のときの光学定理を考察する。波数ベクトルを次のように定義する。 方向ベクトルまで複素数にすると訳が分からなくなる。これより、確率…

光学定理(複素ポテンシャル):実波数

前回、実ポテンシャルに対する光学定理を導いた。 koideforest.hatenadiary.com今回は、複素ポテンシャルだが、波数は実数である時の光学定理を考える。 これは、無限遠方ではポテンシャルの虚部が完全に無くなっている場合に対応する。導出は前回とほぼほぼ…

光学定理(実ポテンシャル):外向波と内向波

実ポテンシャル、つまり非弾性散乱が無い時の光学定理を導く。散乱波を次のように定義する。 はそれぞれ外向波、内向波を表す。球座標に対するは 入射波に対する勾配は、 散乱波に対する勾配は、においてだけ残すと、 したがって、確率流密度は 干渉項を計算…

平面波の球面波展開における漸近形

平面波の角運動量展開(球面波展開) 球Bessel関数よりも球Hankel関数の方が、漸近形を覚え易い。 これらを使うと、 例えば、仮に平面波の複素共役を取った場合、

連続の式

連続の式を導出する。発想として、密度の時間依存性と時間依存のシュレーディンガーを方程式を結び付けることを考える。 ここで、ベクトル解析の関係式から、 したがって、 よって、連続の式は、 ポテンシャルが虚部を含む時()、確率が保存しないことがわ…

二階微分演算子の変数変換 for Numerov method

Numerov法は一階微分方程式を含まない二階微分方程式を解くのに便利な方法である。 この方法を適用するには、等間隔の変数刻み(メッシュ or グリッド)が必要である。 しかし、変化が穏やかなところでは粗いメッシュで十分だが、一方で変化が急なところでは…

存在をチェックするpythonコマンドまとめ

Path (File and/or Directory) import os path = "/test" os.path.exists( path ) # True or False path_file = "/test/test.dat" os.path.isfile( path_file ) # True or False path_dir = "/test/" os.path.isdir( path_dir ) # True or False 地味に英語…

断面積の単位:barn

たまに という単位を見かけたことがあったが、何だろうなと思ってスルーしていたので調べてみた。バーン (単位) - Wikipedia要は面積の単位でした。原子核物理の分野で、微分散乱断面積を表すのに使うそうです。 の面積だから、原子核には丁度良いらしい。 …

水素分子イオンの固有値方程式を行列代数で解くことについて(重なり有り)

前回、重なり積分がゼロの時について考察した。 koideforest.hatenadiary.com今回は、より一般的なの場合について、複数の解法を考える。解きたい行列方程式は、 の固有値方程式を一般化固有値方程式と呼び、の場合を標準固有値方程式と呼ぶ。 つまり、の時…

水素分子イオンの固有値方程式を行列代数で解くことについて(重なり無し)

行列代数を用いて固有値方程式を解くことを、具体的に考えてみる。簡単のため、重なり積分をとして考える。 ハミルトニアン行列はエルミート行列なので、ユニタリー行列を用いて、対角行列に変換することが出来る。 は単位行列である。したがって、 式で単に…

調和振動子のハミルトニアンを生成消滅演算子で表す。

生成消滅演算子の係数がいつも天下りだったので、自分で求めてみることにした。調和振動子のハミルトニアン ちなみに、古典軌道の調和振動子について復習しておくと、 復習終了。ハミルトニアンを平方完成するような演算子を作りたい。 見たところ、 とおい…

水素分子イオンの各種一電子積分(プロット)

前回までに、水素分子イオンの結合・反結合軌道についてまとめた。 koideforest.hatenadiary.com koideforest.hatenadiary.com今回は、各値をプロットしてその挙動を確かめる。 各種積分値 の方がに対する減衰が速いため、より近距離で働くことが分かる。 ハ…

水素分子イオンの結合・反結合軌道

前回、水素分子イオンにおけるハミルトニアンの行列要素を求めた。 koideforest.hatenadiary.com今回は、それらが求まっているとして、結合・反結合軌道がどのようなロジックで得られるかを紹介する。各水素原子波動関数を基底関数として、その線形結合で水…

水素分子イオンの各種一電子積分

水素分子イオンの重なり積分、クーロン積分、交換積分を求める。参考にしたPDF https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=2ahUKEwilj8WMrbvgAhVPBGMBHYacDWMQFjAGegQIAxAC&url=http%3A%2F%2Fwww.geocities.jp%…

matplotlibで二文字以上の変数を上付きにする。

matplotlibで普通に from matplotlib import pyplot as plt atomic_number = 29 plt.title( 'Cu$^{}$'.format( atomic_number ) ) とやると、「Cu9」となってしまう。これは、内部で「$^29$」と書かれたと見做されているためである。 ベタ打ちするならば、「…

微分係数の逆数は逆の微分?(続き)

前回、の時に、 であることを示した。 koideforest.hatenadiary.comしかし、前回得られた式をよく見ると、 でも になることがわかる。 はつまり であるわけだが、 が に依存しているにも関わらず、 のために となることがわかる。 これは、結構直感に反する…

微分係数の逆数は逆の微分?

以下の式は一般に正しいだろうか? の時は正しい。 がで定義されている場合、の方が求め易いことが多い。 なので、このような関係式をなるべく使いたい訳である。では、多変数の場合にはどうか? これをだけを抜き出すように式変形すると、 がヤコビアンと呼…

微分の連鎖律:係数は前?後?

微分の連鎖律 例えば、 この時、 で若干迷ったりすることはないだろうか? 後者だと、もう一回微分しないといけなくなり、答えは同じにならない。これをの微分で確認してみると、 したがって、係数は微分の前に出しておくのが正解である。 公式を覚えてしま…