Zamana bağlı Schrödinger denklemini sayısal olarak çözmenin basit yolları var mı?


34

Dalgacık paketlerinin saçılması ile ilgili basit simülasyonları tek bir boyutta çalıştırmak istiyorum.

Tek boyutlu bir parçacık için tek boyutlu TDSE'yi sayısal olarak çözmenin basit yolları var mı? Genel olarak, kısmi diferansiyel denklemleri birleştirmek için naif yaklaşımlar kullanmaya çalışmak felaketle sonuçlanabilir. Bu nedenle hangi algoritmalar için

  • sayısal olarak kararlıdır,
  • Uygulaması basit veya kolayca erişilebilen kod kitaplığı uygulamalarına sahip,
  • oldukça hızlı koş ve umarım
  • anlaşılması oldukça kolaydır.

Ayrıca, göreceli olarak spektral yöntemlerden ve özellikle zamandan bağımsız Schrödinger denklemini her zamanki gibi çözmekten çok daha az olan yöntemlerden arındırmak istiyorum. Bununla birlikte, B-spline kullanan veya olmayan psödo-spektral yöntemlerle ilgilenirim. Metot zamana bağlı bir potansiyel alabilirse, o zaman bu kesinlikle bir bonus.

Tabii ki, böyle bir yöntemin daima bir takım dezavantajları olacaktır, bu yüzden bunları duymak istiyorum. Ne zaman işe yaramıyor? Yaygın tuzaklar nelerdir? Hangi yollara itilebilir ve hangi yollardan gelemez?



@EmilioPisanty SSFM'ye yazdığım hatalara bir tartışma ekledim: (cevabımı yazdıktan sonra özür dilerim) spektral yöntemlere meraklı olmadığınızı fark ettim ama sadece ...

Temizlenmiş iplik; güncelliğin tartışılmasını Fizik'ten çıkarmak.
Geoff Oxberry


3
@GeoffOxberry, bu yorumların bir ekran görüntüsünü hazırlayabilir misiniz?
Emilio Pisanty,

Yanıtlar:


24

Schrödinger denklemi etkili olan reaksiyon difüzyon denklemi

(1)iψt=2ψ+Vψ
(tüm sabitler 1'dir). Herhangi bir kısmi diferansiyel denklem söz konusu olduğunda, bunu çözmenin iki yolu vardır:
  1. Örtük yöntem (adv: büyük zaman adımları ve koşulsuz kararlı, dezavantajı: hatalı veri verebilen matris çözücü gerektirir)
  2. Açık yöntem (adv: uygulaması kolay, dezavantajı: kararlılık için küçük timesteps gerektirir)

Parabolik denklemler için ( cinsinden doğrusal tve x cinsinden 2. sıra ), örtük yöntem genellikle daha iyi seçimdir. Nedenidir stabilite için durum açık yöntem gerektirir dtdx2 , çok küçük olacak. Zaman aşımına ilişkin herhangi bir sınırlamaya sahip olmayan kapalı yöntemi kullanarak bu sorunu önleyebilirsiniz (pratikte, fiziğin bir kısmını kaybedebileceğiniz için normalde çılgınca büyük yapmazsanız da). Daha sonra tarif edeceğim, Crank-Nicolson yöntemi , ortak ikinci derece doğru (uzay ve zaman) örtük bir şemadır.

Marşlar

Hesaplamalı olarak bir PDE'yi çözmek için, onu ayrıştırmanız gerekir (değişkenleri bir ızgaraya sığdırın). En dümdüz ileri bir dikdörtgen, Kartezyen ızgarasıdır. Burada, n , zaman dizinini (ve her zaman bir süper komut dosyasıdır) ve j , konum dizinini (her zaman bir alt simgedir) temsil eder. Bir kullanılarak Taylor genişleme konumu bağımlı değişken için, Denklem (1) olur V=V(x)

iψjn+1ψjdt=12(ψj+1n+12ψjn+1+ψj1n+1dx2+ψj+1n2ψjn+ψj1ndx2)+12(Vjψjn+1+Vjψjn)
olduğunu varsaydığımız yer. Bundan sonra ne olacağı, benzer bir mekansal ve zamansal endeks grubudur (matematiği iki kez kontrol etmek isteyebilirsiniz): 1V=V(x) Bu denklem formuna sahiptir (bir0A-00bir+A0A-00A+A0A-)(ψ n + 1 0 ψ n + 1 1ψ n + 1 J - 1 )=(
(2)12dtdx2ψj+1n+1+(ben-dtdx2-12Vj)ψjn+1+12dtdx2ψj-1n+1=benψjn-12dtdx2(ψj+1n-2ψjn+ψj-1n)+12Vjψjn
, bir tri-köşegen matris adı verilen ve var olanbilinen bir çözüm! (artı benim tarafından yazılan da dahil olmak üzere çalışma örnekleri). Açık yöntem tüm sol tarafında üzerinden çizikler (ya da üst çizgi söylemek gerekir?) Denklem (2) arasında haricindeiψ n + 1 j terimi.
(bir0bir-00bir+bir0bir-00bir+bir0bir-)(ψ0n+1ψ1n+1ψJ-1n+1)=(ψ0nψ1nψJ-1n)
benψjn+1

Sorunlar

Örtük yöntemlerle bulduğum en büyük sorun, bunların sınır koşullarına şiddetle bağlı olmalarıdır. Sınırlandırılmış / uygulanmış sınır koşullarınız varsa, hücrelerinizde kötü sonuçlara yol açabilecek sahte salınımlar alabilirsiniz ( benzer bir konuda SciComp postama bakın ). Bu, aslında planınızın vermesi gereken 2. değil, uzayda birinci dereceden doğruluk elde edilmesine yol açar .

Örtük yöntemlerin aynı zamanda paralelleştirilmesi de zor, ancak bunları yalnızca 1D ısı denklemleri için kullandım ve paralel desteğe ihtiyaç duymadım, bu yüzden talebi doğrulayamam ya da reddedemem.

Ayrıca, dalga fonksiyonunun karmaşık yapısının hesaplamaları nasıl etkileyeceğinden de emin değilim. Yaptığım iş Euler akışkanının dinamik denklemlerini kullanıyor ve bu nedenle tamamen negatif olmayan büyüklüklerle gerçek.

Zamana bağlı potansiyel

Eğer analitik zamana bağlı bir potansiyeliniz varsa (örn. ), o zaman şimdiki zamanı, t , (2) 'nin RHS’si üzerindeki V j ve gelecek zaman, t + d t , lhs. Bunun herhangi bir sorun yaratacağına inanmıyorum, ancak bunu test etmedim, bu yüzden bu yönü de doğrulayamıyorum veya inkar edemiyorum.Vαmarul(ωt)tVjt+dt

Alternatifler

Crank-Nicolson yönteminin de ilginç alternatifleri var. İlk adım, sözde "süper zaman adımlama" yöntemidir. Bu açık bir yöntemde, (zaman adım ) ve kullanımı Chebyshev polinom köklerini hızlı bir şekilde toplamak zaman adım optimize edilmiş bir kümesini almak için d t hızlı yaparak daha d t / K adım K kez (etkili olsun Δ T = K 2 d t her bir aşama böylece K ilerler K d tdtdx2dtdt/NNΔT=N2dtNNdtzamanında). (Bu metodu araştırmamda kullanıyorum, çünkü Crank-Nicolson şemasını kullanarak, bir işlemciden diğerine veriyi birleştirmek için kullanılan bir hücreden diğerine iyi tanımlanmış bir "akıya sahipsin".

EDIT Unutulmaması gereken bir şey, bu yöntemin zamanla ilk sırada doğru olmasıdır, ancak birlikte bir Runge-Kutta 2 yöntemi kullanırsanız, size zamanında 2. derece bir doğru şema verir.

Diğerine alternatif yön açık denir . Bu yöntem, bilinen ve iyi tanımlanmış sınır koşullarına sahip olmanızı gerektirir. Daha sonra doğrudan hesaplamada sınırı kullanarak denklemi çözmeye devam eder (her adımdan sonra uygulamanıza gerek yoktur). Bu yöntemde, PDE'yi iki kez, bir kez yukarı doğru süpürme ve bir kez aşağı doğru süpürme olarak çözersiniz. Yukarıya doğru kıvrılma kullanımları aşağı doğru süpürme işlemi2ψkullanırken

2ψx2ψj1n+1ψjn+1ψjn+ψj+1ndx2
başka koşullar aynı kalacaktır ise difüzyon denklemi için. Zaman-adımn+1, daha sonra iki yönlü taramanın ortalaması alınarak çözülür.
2ψx2ψj+1n+1ψjn+1ψjn+ψj1ndx2
n+1

1
Harika cevap, tek şikayet, beni yendiğin!
Kyle,

@ ChrisWhite: Bunun bu sabah erken saatlerde nasıl yapılabileceğini düşünüyordum ve elde ettiğim tek şey, bir kez ve bir kez de benim için yapmaktı . Bu makaleye bakacağım (ve daha da önemlisi verdikleri ücretsiz kodu) ve nasıl yapmaları gerektiğini önereceğim. RI
Kyle Kanos,

Eğer en düşük enerji özfonksiyonların en az negatif bir değere sahiptir, bu aşama yönü düzenleme: belki sneakiness I hayali timestepping hesaplanmıştır görüldü olan özfonksiyonlarını hesaplamak için olan @ChrisWhite ve dolayısıyla en yavaş bozulma. Rastgele bir giriş üzerinde yinelemede, çok hızlı bir şekilde yalnızca en düşük enerji özfonksiyonunun şekli kalır. Sonra bunu rastgele girdiden çıkarır ve işlemi tekrar yaparsınız: şimdi bir sonraki en düşük enerji özfonksiyonu baskın olandır. Ve bunun gibi. Biraz tehlikeli görünüyor (özellikle yükseliyor - shν eigenfuncs) ama çalışıyor! hν

1
@DakidKetcheson: Bir reaksiyon difüzyon denklemi şeklini alır . Schrodinger denklemi durumunda, R ( u ) = V u ; RD tipi bir denklem olmadığını nasıl sorabilirim ? Ve, merakla, Schrodinger denklemi aslında referans gösterdiğim tepki yayılma wiki makalesinde görünüyor. Yaptığım bu eşzamanlılık birçok yayınlanmış dergi ve metinde de yer almaktadır.tu=Dx2u+R(u)R(u)=Vu(devam et ve araştır). Belki de PETSc, deal.ii veya pyCLAW gibi standart kütüphaneleri (buradaki ortak MO olduğu gibi) kullanmanızı tavsiye etmek daha iyi olurdu.
Kyle Kanos

1
@KyleKanos: Gönderiniz iyi. Aslında, DavidKetcheson tarafından yayınlanan makalede, Crank-Nicolson ilk referans tarafından savunulmaktadır. Reaksiyon difüzyonuna kıyasla iyidir; not ettiğiniz gibi, reaksiyon difüzyonuyla karşılaştırma yayınlanmış birçok kaynakta ortaya çıkar. Bence DavidKetcheson, daha önce bahsedilen "dağınık dalga denklemi" gibi bir şey arıyordu.
Geoff Oxberry

22

90'lı yılların başında TDSE'yi bir bilgisayarda gerçek zamanlı olarak animasyonlar yapacak kadar hızlı çözecek bir yöntem arıyorduk ve PB Visscher tarafından Fizikte Bilgisayarlarda açıklanan şaşırtıcı derecede basit, kararlı, açık bir yöntemle karşılaştık : " Hızlı ve açık bir algoritma Zamana bağlı Schrödinger denklemi için ". Visscher, eğer dalga fonksiyonunu gerçek ve hayali parçalara , ψ = R + i I , SE'nin sisteme dönüştüğünü belirtir :ψ=R+iI

dRdt=HIdIdt=HRH=12m2+V

Eğer işlem ise ve ben farklı zamanlarda ( R, en 0 , Δ t , 2 Δ t , . . . Ve bir de 0.5 Δ t , 1.5 Δ t , . . . ) , Sen ayrıştırmayı elde:RIR0,Δt,2Δt,...I0.5Δt,1.5Δt,...)

R(t+12Δt)=R(t12Δt)+ΔtHI(t)

I(t+12Δt)=I(t12Δt)ΔtHR(t)

ile

2ψ(r,t)=ψ(r+Δr,t)2ψ(r,t)+ψ(rΔr,t)Δr2

Δt

Olasılık yoğunluğunu olarak tanımlamak

P(x,t)=R2(x,t)+I(x,t+12Δt)I(x,t12Δt)

P(x,t)=R(x,t+12Δt)R(x,t12Δt)+I2(x,t)
at half-integer time steps

makes the algorithm unitary, thus conserving probability.

With enough code optimization, we were able to get very nice animations computed in real-time on 80486 machines. Students could "draw" any potential, choose a total energy, and watch the time-evolution of a gaussian packet.


That is a very neat trick for solving the real & imaginary components! Note also that you can get large, centered equations by using $$ ... $$. I've taken the liberty of doing this for you, I hope you don't mind!
Kyle Kanos

We were delighted to find the algorithm - it was easy to program and ran fast. The hardest part was getting the initial conditions right, R at t=0 and I at 0.5dt... I don't mind the edit, I was happy to get equations at all.

1
@ user40172 Dalga kılavuzları için aynı şeyi yaklaşık olarak aynı anda yapıyorduk ve cevabımda açıklanan BPM'ye karar verdik. Bunun nedeni, FFT'leri bir DSP kartı kullanarak ana CPU'dan ayrı olarak çalıştırabilmemizdi. Çok akıllı olduğumuzu sanıyorduk, ama söylemeliyim ki, aslında bir yazılım sorununa donanımsal bir çözüm getirerek 2014'te oldukça naff görünüyor! Visual Studio C ++ 'ın en son sürümü otomatik olarak CPU'lar üzerinden kod vektörler ve FFT ile güzel bir iş çıkarır.

1
@user40172 How did you get the initial conditions at 0.5dt finally? Just propagating solution to that time using another method?

1
@Rusyalı Saçılma yaptığımızdan beri, standart bir serbest parçacık Gauss dalga paketi kullandık, ancak potansiyelin sıfır olmadığı herhangi bir bölgeden "yeterince uzakta" başlatıldığından emin olduk. Örneğin, bakınız: demonstrations.wolfram.com/EvolutionOfAGaussianWavePacket

10

Kyle Kanos's answer looks to be very full, but I thought I'd add my own experience. The split-step Fourier method (SSFM) is extremely easy to get running and fiddle with; you can prototype it in a few lines of Mathematica and it is, extremely stable numerically. It involves imparting only unitary operators on your dataset, so it automatically conserves probability / power (the latter if you're solving Maxwell's equations with it, which is where my experience lies). For a one-dimensional Schrödinger equation (i.e. x and t variation only), it is extremely fast even as Mathematica code. And if you need to speed it up, you really only need a good FFT code in your target language (my experience lies with C++).

What you'd be doing is a disguised version of the Beam Propagation Method for optical propagation through a waveguide of varying cross section (analogous to time varying potentials), so it would be helpful to look this up too.

The way I look at the SSFM/BPM is as follows. Its grounding is the Trotter product formula of Lie theory:

(1)limm(exp(Dtm)exp(Vtm))m=exp((D+V)t)

which is sometimes called the operator splitting equation in this context. Your dataset is an xy or xyz discretised grid of complex values representing ψ(x,y,z) at a given time t. So you imagine this (you don't have to do this; I'm still talking conceptually) whopping grid written as an N-element column vector Ψ (for a 1024×1024 grid we have N=10242=1048576) and then your Schrödinger equation is of the form:

(2)dtΨ=KΨ=(D+V(t))Ψ

where K=D+V is an N×N skew-Hermitian matrix, an element of u(N), and Ψ is going to be mapped with increasing time by an element of the one parameter group exp(Kt). (I've sucked the i factor into the K=D+V on the RHS so I can more readily talk in Lie theoretic terms). Given the size of N, the operators' natural habitat U(N) is a thoroughly colossal Lie group so PHEW! yes I am still talking in wholly theoretical terms!. Now, what does D+V look like? Still imagining for now, it could be thought of as a finite difference version of i2/(2m)i1V0+i1(V0V(x,y,z,t0)), where V0 is some convenient "mean" potential for the problem at hand.

We let:

(3)D=i2m2i1V0V=i1(V0V(x,y,z,t))

Why I have split them up like this will become clear below.

The point about D is that it can be worked out analytically for a plane wave: it is a simple multiplication operator in momentum co-ordinates. So, to work out Ψexp(ΔtD)Ψ, here are the first three steps of a SSFM/BPM cycle:

  1. Impart FFT to dataset Ψ to transform it into a set Ψ~ of superposition weights of plane waves: now the grid co-ordinates have been changed from x,y,z to kx,ky,kz;
  2. Impart Ψ~exp(ΔtD)Ψ~ by simply multiplying each point on the grid by exp(iΔt(V0kx2+ky2+kz2)/);
  3. Impart inverse FFT to map our grid back to exp(ΔtD)Ψ

    .Now we're back in position domain. This is the better domain to impart the operator V of course: here V is a simple multiplication operator. So here is your last step of your algorithmic cycle:

  4. Impart the operator Ψexp(ΔtV)Ψ by simply multiplying each point on the grid by the phase factor exp(iΔt(V0V(x,y,z,t))/)

....and then you begin your next Δt step and cycle over and over. Clearly it is very easy to put time-varying potentials V(x,y,z,t) into the code.

So you see you simply choose Δt small enough that the Trotter formula (1) kicks in: you're simply approximating the action of the operator exp(D+VΔt)exp(DΔt)exp(VΔt) and you flit back and forth with your FFT between position and momentum co-ordinates, i.e. the domains where V and D are simple multiplication operators.

Notice that you are only ever imparting, even in the discretised world, unitary operators: FFTs and pure phase factors.

One point you do need to be careful of is that as your Δt becomes small, you must make sure that the spatial grid spacing shrinks as well. Otherwise, suppose the spatial grid spacing is Δx. Then the physical meaning of the one discrete step is that the diffraction effects are travelling at a velocity Δx/Δt; when simulating Maxwell's equations and waveguides, you need to make sure that this velocity is much smaller than c. I daresay like limits apply to the Schrödinger equation: I don't have direct experience here but it does sound fun and maybe you could post your results sometime!

A second "experience" point with this kind of thing - I'd be almost willing to bet this is how you'll wind up following your ideas. We often have ideas that we want to do simple and quick and dirty simulations but it never quite works out that way! I'd begin with the SSFM as I've described above as it is very easy to get running and you'll quickly see whether or not its results are physical. Later on you can use your, say Mathematica SSFM code check the results of more sophisticated code you might end up building, say, a Crank Nicolson code along the lines of Kyle Kanos's answer.


Error Bounds

The Dynkin formula realisation of the Baker-Campbell-Hausdorff Theorem:

exp(DΔt)exp(V)Δt)=exp((D+V)Δt+12[D,V]Δt2+)
converging for some Δt>0 shows that the method is accurate to second order and can show that:

exp(DΔt)exp(V)Δt)exp(12[D,V]Δt2)=exp((D+V)Δt+O(Δt3))

You can, in theory, therefore use the term exp(V)Δt)exp(12[D,V]Δt2) to estimate the error and set your Δt accordingly. This is not as easy as it looks and in practice bounds end up being instead rough estimates of the error. The problem is that:

Δt22[D,V]=iΔt22m(x2V(x,t)+2xV(x,t)x)

and there are no readily transformed to co-ordinates wherein [D,V] is a simple multiplication operator. So you have to be content with exp(12[D,V]Δt2)eiφΔt2(id(12[D,V]iφ(t))Δt2) and use this to estimate your error, by working out (id(12[D,V]iφ(t))Δt2)ψ for your currently evolving solution ψ(x,t) and using this to set your Δt on-the-fly after each cycle of the algorithm. You can of course make these ideas the basis for an adaptive stepsize controller for your simulation. Here φ is a global phase pulled out of the dataset to minimise the norm of (12[D,V]iφ(t))Δt2; you can of course often throw such a global phase out: depending on what you're doing with the simulation results often we're not bothered by a constant phase global exp(φdt).

A relevant paper about errors in the SSFM/BPM is:

Lars Thylén. "The Beam Propagation Method: An Analysis of its Applicability", Optical and Quantum Electronics 15 (1983) pp433-439.

Lars Thylén thinks about the errors in non-Lie theoretic terms (Lie groups are my bent, so I like to look for interpretations of them) but his ideas are essentially the same as the above.


1
Rod, bölünmüş operatör yaklaşımı sözde kullanıyorsanız, muhtemelen daha iyisini yapabileceğinizi biliyorsunuzdur. exp[Δt(D+V)]exp[ΔtV/2]exp[ΔtD]exp[ΔtV/2]. Aslında, hatayı daha yükseğe taşımak için daha fazla bölme işlemi yapabilirsiniz.Δtyetkiler. Bakınız örneğin Bandrauk ve Shen, Chem. Phys. Lett. 176, 428 (1991). Açıkçası kinetik teriminiz koordinatlara bağlı olamaz, yani eğrisel koordinatlarda iyi çalışmaz.

1
Otherwise, this split-operator thing coupled to the FFT evaluation of the kinetic energy operator is one of the standard procedures to solve the TDSE on a grid-based representation in Molecular Physics.

@perplexity Many thanks. It's good to know what different fields use. The 1991 date on your reference is interesting: I was always pretty sure the split step idea came out of waveguide simulation in the late 1970s - so maybe I'm wrong.

1
You are not wrong at all. That was the inspiration indeed. The first work translating these ideas to QM that I am aware of is Feit, Fleck and Steiger, J. Comput. Phys. 47, 412 (1982) where, if I recall correctly, they essentially use the same tricks with the advantage that the operator here is unitary by construction (unlike in classical waves). The FFT-grid based approach to these type of simulations was first proposed by Ronnie Kosloff, I believe. He has a very nice review about this subject on his web page.

Another good reference in my field is David Tannor's book on Quantum Mechanics: A time-dependent perspective. Cheers.

5

Sonlu farklar zaman-etki alanı (FDTD) yöntemini kullanmanızı tavsiye ederim. Bir süre önce, sorularınızın çoğuna cevap vermesi gereken bir ders bile yazdım:

JR Nagel, "Schrödinger denklemine uygulanan sonlu farklı zaman-alan algoritmasının tekrarı ve uygulaması," ACES Journal, Vol. 24, No. 1, Şubat 2009

1D sistemler için iyi çalışan bazı Matlab kodlarım var. FDTD'nin elektromanyetikle ilgili tecrübesi varsa, kuantum mekaniği için de harika çalışır. İlgileniyorsanız kodlarımı gönderebilirim.

Temel olarak, sadece türevleri sonlu farklara bölerek doğrudan dalga fonksiyonları üzerinde çalışır. Crank-Nicholson programına benzer, ancak tam olarak değil. Eğer elektromanyetik dalga teorisinden FDTD'yi tanıyorsanız, Schrodinger denklemini çözerken FDTD çok sezgisel olacaktır.


4

The most straightforward finite difference method is fast and easy to understand, but is not unitary in time - so probability is not conserved. Crank-Nicholson-Crout averages the forward and backward finite difference methods to produce a hybrid implicit/explicit method that is still pretty easy to understand and to implement and is unitary in time. This site explains the method well, provides pseudocode, and gives the relevant properties:

http://www.physics.utah.edu/~detar/phycs6730/handouts/crank_nicholson/crank_nicholson/ Note: There is a - sign missing from the LHS of equation one of this link, which propagates throughout the page.

Where does the nonunitarity come from?

In a nut shell, solving the TDSE comes down to figuring out how to deal with

|ψ(x,t)=eiHt|ψ(x,0)

which contains a differential operator in an exponential.

Applying a forward finite difference turns the differential operator into a tridiagonal matrix (converting the Reals to a grid) and the exponential into the first two terms of its Taylor series

eiHt1iHt

This discretization and linearization is what gives rise to the nonunitarity. (You can show that the tridiagonal matrix is not unitary by direct computation.) Combining the forward finite difference with the backward finite difference produces the approximation

eiHt112iHt1+12iHt

which, kindly, happens to be unitary (again you can show it by direct computation).


Thanks for the quick response. Could you provide more details on both those methods? How do they work, and why? Where does the nonunitarity come from?
Emilio Pisanty

Daha fazla ayrıntı vermekten memnuniyet duyarım, ancak hedef kitlenin eksik kalmaması için, aşağıdaki arka plan alanlarının her birinde ne kadar eğitim ve deneyim edindiğinizi bilmek yararlı olacaktır: Analiz, Diferansiyel Denklemler, Lineer Cebir, Kuantum Mekaniği ve Sayısal Yöntemler (özellikle Sonlu Fark Yöntemleri).

Lütfen standart fizik ve matematikten istediğiniz kadarını düşünün (daha karmaşık parçalara yapılan atıflar muhtemelen yardımcı olabilir). Benim sayısal yöntemlerim biraz paslanmış.
Emilio Pisanty

Are there any differences between this and Kyle Kanos's answer? I mean, it's not obvious how to implement your last equation - as you've written it involves inverting a full operator - are you simply saying that the CN method is simply, through the solution of its tridiagonal equation, working out (1+i2Ht)1(1+i2Ht)ψ? Or is there a subtlety that I've missed? Actually you last equation is a good rendering insofar that it makes unitarity explicit for CN, a fact which is unclear in many descriptions of CN.

No, it is the same algorithm as given by Kyle Kanos. I just wrote it this way to give a different way of looking at it. I hoped easier to conceptualize - whereas his is easier to implement. Yes, you are ultimately just solving a tridiagonal equation. There was an old (1967) paper in AJP that I couldn't find earlier that describes it very well: ergodic.ugr.es/cphys/lecciones/SCHROEDINGER/ajp.pdf They used CN to produce 8mm film loops of gaussian wave packets scattering off various potentials. You can still find those film loops in many university physics demo libraries.

3

Buradaki birkaç cevap ve yorum, TDSE'yi dalga denklemi ile karıştırır; belki bir anlambilim sorunu, bir dereceye kadar. TDSE klasik göreceli olmayan klasik hamiltonyenlerin sayısal versiyonudur.

'H=p22m+V(x)=E.
Kuralları ile
pbenx,  Ebent,  xx,
(d'Espagnat, Bölüm 1, kuantum mekaniğinin kavramsal temelleri, https://philpapers.org/rec/ESPCFO ) da tartışıldığı gibi , bu nedenle okur
[-22mxx+V(x)]ψ=bentψ,
bu yüzden açıkça difüzyon benzeri bir denklem. Eğer biri E içeren relativistik enerjiyi kullandıysa2 terim, sonra gibi dalga benzeri bir denklem
xxψ=ttψ+...
Pauli veya Klein-Gordon denklemleri gibi (basitlik için V = 0 için) elde ederdi. Fakat bu elbette tamamen farklı bir konudur.

Şimdi, TDSE'ye geri dönülürse, açık yöntem, bahsedildiği gibi Crank-Nicolson'dur, çünkü evrimin ünitesini koruyan küçük bir genişlemedir (örneğin, FTCS değildir). 1-uzay-D vakası için, bir matris yineleme, okuma okunabilir

ψn+1=(ben+benτ2'H~)-1(ben-benτ2'H~)ψn
ile ben kimlik matrisi ve
'Hjk=('H~)jk=-22m[δj+1,k+δj-1,k-2δjkh2]+Vjδjk.
(Ayrıntılar, örneğin, fizik için sayısal yöntemlerde, http://algarcia.org/nummeth/nummeth.html , AL Garcia). Periyodik sınır koşullarında en belirgin şekilde görüldüğü gibi, yer-yerelleştirilmişψ zamanla yayılır: başlangıç ​​beklenir çünkü bu beklenir ψsabit Schroedinger denkleminin bir özdeğeri değil, bir süperpozisyonudur. (Klasik masif serbest parçacık) sabit momentumlu eigenstat (göreceli olmayan kinetik operatörü için) basitçeψs=ebenkx/Lyani, her yerde sabit olasılık yoğunluğu 1 / L olan olasılıksız bir şekilde, her yerde sabit olasılık yoğunluğuyla (tamamen partikül sınırlı) (partikülümün sınırlı, periyodik olarak tekrarlanan bir çizgide yaşamaya devam etmesiyle, süreklilik durumları ile normalleşme sorunlarından kaçınıyorum). CN, norm kullanarak
|ψ|2dx
unitarity sayesinde korunur (bu, örneğin FTCS gibi diğer programlarda geçerli değildir). Bu arada, bunun gibi bir enerji baskısından başladığına dikkat edin.
cp=E
ile c sabit, alırsın
bencx=bent
yani dispersiyonu olmayan (Lax-Wendroff yöntemleriyle düzgün bir şekilde entegre edilmişse) tavsiye denklemi ve dalgalı çantanız bu durumda zamanla yayılmayacaktır. Kuantum analogu, kütlesiz parçacık Dirac denklemidir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.