実現したいこと
下式に適当なβを代入してφを求めたいのですがうまくいきません。
jn(x):球ベッセル関数
β:0~1の任意の数値
参考文献によるとβに対するφの値は下図のようになるそうです。
ご教授いただけますと助かります。
試したこと
以下コードの通り、optimize.fsolveとoptimize.newtonより計算しようとしたのですが解が出ず止まってしまいます。
python3
1#optimize.fsolveの場合 2import numpy as np 3import scipy as sc 4from scipy import optimize 5from scipy.special import spherical_jn 6import cmath as cm 7 8def j(n, z): 9 return spherical_jn(n, z) 10 11def f(x): 12 return j(0, x[0])*j(2, cm.sqrt(b)*x[0])+j(2, x[0])*j(0, cm.sqrt(b)*x[0]) 13 14b = 1 15x= optimize.fsolve(f, 0)
python3
1#optimize.newtonの場合 2import numpy as np 3import scipy as sc 4from scipy import optimize 5from scipy.special import spherical_jn, spherical_yn 6import cmath as cm 7 8def j(n, z): 9 return spherical_jn(n, z) 10 11def f(x): 12 return j(0, x)*j(2, cm.sqrt(b)*x)+j(2, x)*j(0, cm.sqrt(b)*x) 13 14b = 1 15x = optimize.newton(f, 0)
補足資料
参考文献のURLはこちらです。
http://xrm.phys.northwestern.edu/research/pdf_papers/1996/kuno_physrevb_1996.pdf
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/12 07:26