差分法只可以數值求解薛定諤方程的前幾個本徵態嗎?
01-07
我們使用有限差分法來求解薛定諤方程時,會將求解區間離散成n份,在對角化哈密頓量之後得到n個能級的波函數和對應的本徵值。
可是我在操作的時候發現,對於較大的n(較高的能級),解總會出錯。
以諧振子為列
橫坐標是能級,縱坐標是能量。當n比較小的時候,能量與能級呈線性關係。可是隨著n的增大,能量會偏離線性關係。
(n已經取得非常大了,畫圖只畫了前400個)
為什麼會出現這樣的情況?
真誠求問
很簡單的,你要算得准,就必須把空間離散化得足夠小,然而什麼是足夠小呢,必然是波函數在若干個離散節點之上是緩變的。。
低量子數的波函數,變化不那麼劇烈,在某個確定的離散化下,能級可以算得比較准。然而,高量子數的波函數,變化跟劇烈,自然導致計算不準。。
算高量子數的能級的時候,要想算得准,不換演算法的話,只能是把空間離散化得更小一些。。
當然,也有可能是演算法的問題,不知道你是怎麼算高量子數的波函數個能量的。。一種演算法是,先算低能級的波函數,在找能量最低的和之前算出來正交波函數,這樣一級一級往上算。。由於誤差積累的緣故,自然高量子數的結果就不準了。。
隨著激發數的增加,根據節點定理,波函數的節點會越來越多,震蕩次數越來越多,因此需要幾乎線性地的(經驗上說)增加步數。所以差分法一定程度上只適合求前幾個激發。
能量越高,動量越高,波長變短,解析度下降,這不是很直接的邏輯關係么。。。
很顯然,你要保證精度,區間劃分數量必須跟能量成正比:
空間上的離散距離最好不要超過波長的1/10,用n等分的離散算前n/10個能級還是靠譜的換言之想算到個能級可能需要10n等分的離散
推薦閱讀:
※雷諾數如何產生?為什麼是現有的樣子?其構造思路是什麼?
※一隻貓如何在不違反角動量守恆定律的情況下永遠肚子朝下著地?
※孤對電子是什麼?
※你都見過什麼樣的理科盲?