Adakah cara sederhana untuk menyelesaikan persamaan Schrödinger yang tergantung waktu secara numerik?


34

Saya ingin menjalankan beberapa simulasi sederhana dari hamburan paket-paket dari potensi sederhana dalam satu dimensi.

Adakah cara sederhana untuk memecahkan TDSE satu dimensi secara numerik untuk satu partikel? Saya tahu bahwa, secara umum, mencoba menggunakan pendekatan naif untuk mengintegrasikan persamaan diferensial parsial dapat dengan cepat berakhir dengan bencana. Karena itu saya mencari algoritma yang mana

  • stabil secara numerik,
  • sederhana untuk diterapkan, atau memiliki implementasi perpustakaan-kode yang mudah diakses,
  • berjalan cukup cepat, dan semoga saja
  • relatif mudah dimengerti.

Saya juga ingin menghindari metode spektral, dan khususnya metode yang sedikit lebih dari menyelesaikan persamaan Schrödinger yang tidak tergantung waktu seperti biasa. Namun, saya akan tertarik pada metode pseudo-spektral yang menggunakan B-splines atau yang lainnya. Jika metode ini dapat mengambil potensi tergantung waktu maka itu pasti bonus.

Tentu saja, metode semacam itu akan selalu memiliki sejumlah kelemahan, jadi saya ingin mendengarnya. Kapan itu tidak berhasil? Apa perangkap yang umum? Cara mana yang bisa didorong, dan cara mana yang tidak bisa?



@EmilioPisanty Saya telah menambahkan diskusi tentang kesalahan pada penulisan SSFM saya: Saya perhatikan (setelah menulis jawaban saya, maaf) Anda tidak tertarik pada metode spektral, tetapi untuk berjaga-jaga ...

Membersihkan utas; menghapus diskusi aktualitas dari Fisika.
Geoff Oxberry

1
Saya sarankan mulai di sini, meskipun ada banyak pekerjaan yang lebih baru: Perbandingan skema propagasi yang berbeda untuk persamaan Schrödinger tergantung waktu .
David Ketcheson

3
@ GeoffOxberry dapatkah Anda membuat tangkapan layar dari komentar-komentar itu?
Emilio Pisanty

Jawaban:


24

Persamaan Schroedinger secara efektif adalah persamaan difusi reaksi

(1)iψt=2ψ+Vψ
(semua konstanta adalah 1). Ketika datang ke persamaan diferensial parsial, ada dua cara untuk menyelesaikannya:
  1. Metode implisit (adv: langkah waktu besar & stabil tanpa syarat, disadv: membutuhkan pemecah matriks yang dapat memberikan data buruk)
  2. Metode eksplisit (adv: mudah diimplementasikan, disadv: membutuhkan langkah waktu kecil untuk stabilitas)

Untuk persamaan parabola (linier dalam dan urutan 2 dalam x ), metode implisit seringkali merupakan pilihan yang lebih baik. Alasannya adalah kondisi untuk stabilitas untuk metode eksplisit memerlukan d t d x 2 , yang akan sangat kecil. Anda dapat menghindari masalah ini dengan menggunakan metode implisit, yang tidak memiliki batasan pada langkah waktu (meskipun dalam praktiknya Anda biasanya tidak membuatnya menjadi sangat besar karena Anda dapat kehilangan sebagian dari fisika). Apa yang saya jelaskan selanjutnya adalah metode Crank-Nicolson , skema implisit urutan kedua umum (ruang & waktu).txdtdx2

Permulaan

Untuk memecahkan PDE secara komputasi, Anda perlu memutuskannya (membuat variabel sesuai dengan kisi). Yang paling lurus ke depan adalah kotak Cartesian persegi panjang. Di sini, merupakan indeks waktu (dan selalu merupakan skrip super) dan j indeks posisi (selalu berupa subskrip). Dengan menggunakan ekspansi Taylor untuk variabel dependen-posisi, Persamaan (1) menjadi i ψ n + 1 j - ψ jnj Di mana kita mengasumsikan bahwaV=V(x). Apa yang terjadi selanjutnya adalah pengelompokan indeks spasial dan temporal seperti (Anda mungkin ingin memeriksa matematika): 1

iψjn+1ψjdt=12(ψj+1n+12ψjn+1+ψj1n+1dx2+ψj+1n2ψjn+ψj1ndx2)+12(Vjψjn+1+Vjψjn)
V=V(x) Persamaan ini memiliki bentuk (A0A-00A+A0A-00A+A0A-)(ψ n + 1 0 ψ n + 1 1ψ n + 1 J - 1 )=(
(2)12dtdx2ψj+1n+1+(idtdx212Vj)ψjn+1+12dtdx2ψj1n+1=iψjn12dtdx2(ψj+1n2ψjn+ψj1n)+12Vjψjn
Yang disebut matriks tri-diagonal dan memilikisolusi yang diketahui(ditambah contoh kerja, termasuk yang ditulis oleh saya!). Metode eksplisit menggores seluruh sisi kiri (atau haruskah saya katakan baris atas?) Dari Persamaan (2) kecuali untuk istilahiψ n + 1 j .
(A0A00A+A0A00A+A0A)(ψ0n+1ψ1n+1ψJ1n+1)=(ψ0nψ1nψJ1n)
iψjn+1

Masalah

Masalah terbesar yang saya temukan dengan metode implisit adalah bahwa mereka sangat bergantung pada kondisi batas. Jika Anda memiliki kondisi batas yang tidak ditetapkan / diterapkan dengan buruk, Anda bisa mendapatkan osilasi palsu di sel Anda yang dapat menyebabkan hasil yang buruk (lihat posting SciComp saya pada topik yang sama). Ini mengarah pada benar-benar memiliki akurasi urutan pertama di ruang, bukan ke-2 yang seharusnya diberikan skema Anda .

Metode implisit juga diduga sulit untuk diparalelkan, tetapi saya hanya menggunakannya untuk persamaan panas 1D dan tidak memerlukan dukungan paralel, jadi saya tidak dapat memverifikasi atau menolak klaim.

Saya juga tidak yakin bagaimana sifat kompleks dari fungsi gelombang akan mempengaruhi perhitungan. Pekerjaan yang telah saya lakukan menggunakan persamaan dinamis fluida Euler , dan dengan demikian sepenuhnya nyata dengan besaran non-negatif.

Potensi tergantung waktu

Jika Anda memiliki potensi bergantung pada waktu analitik (mis. ), maka Anda cukup menggunakan waktu saat ini, t , untuk V j pada RHS dari (2) dan waktu mendatang, t + d t , pada LHS. Saya tidak percaya bahwa ini akan menimbulkan masalah, tetapi saya belum menguji ini sehingga saya tidak dapat memverifikasi atau menolak aspek ini juga.Vcos(ωt)tVjt+dt

Alternatif

Ada beberapa alternatif yang menarik untuk metode Crank-Nicolson juga. Yang pertama adalah apa yang disebut metode "super-time-stepping". Dalam metode eksplisit ini, Anda mengambil langkah waktu ( ) dan menggunakan akar polinomial Chebyshev untuk mendapatkan set dioptimalkan waktu-langkah yang cepat berjumlah d t lebih cepat daripada melakukan d t / N langkah N kali (efektif Anda mendapatkan Δ T = N 2 d t sehingga setiap langkah N memajukan Anda N d tdtdx2dtdt/NNΔT=N2dtNNdtpada waktunya). (Saya menggunakan metode ini dalam penelitian saya karena Anda memiliki "fluks" yang terdefinisi dengan baik dari satu sel ke sel lain yang digunakan untuk menggabungkan data dari satu prosesor ke yang lain, menggunakan skema Crank-Nicolson yang tidak dapat saya lakukan ini).

EDIT Satu hal yang perlu diperhatikan adalah bahwa metode ini urutan pertama akurat dalam waktu, tetapi jika Anda menggunakan metode Runge-Kutta 2 bersamaan, itu akan memberi Anda skema akurat urutan kedua dalam waktu.

Yang lain disebut bolak-arah eksplisit . Metode ini mengharuskan Anda untuk mengetahui kondisi batas yang diketahui dan didefinisikan dengan baik. Kemudian hasil untuk menyelesaikan persamaan dengan menggunakan batas langsung dalam perhitungan (tidak perlu menerapkannya setelah setiap langkah). Apa yang terjadi dalam metode ini adalah Anda menyelesaikan PDE dua kali, sekali dalam sapuan ke atas dan sekali dalam sapuan ke bawah. Sapu ke atas menggunakan sedangkan sapuan ke bawah menggunakan 2ψ

2ψx2ψj1n+1ψjn+1ψjn+ψj+1ndx2
untuk persamaan difusi sedangkan istilah lainnya akan tetap sama. Waktu-langkahn+1kemudian diselesaikan dengan rata-rata dua menyapu arah.
2ψx2ψj+1n+1ψjn+1ψjn+ψj1ndx2
n+1

1
Jawaban bagus, satu-satunya keluhan adalah Anda mengalahkan saya!
Kyle

@ ChrisWhite: Saya berpikir tentang bagaimana hal itu bisa dilakukan pagi ini dan satu-satunya hal yang saya lakukan adalah melakukannya sekali untuk dan sekali untuk saya . Saya akan melihat kertas itu (dan lebih penting lagi kode gratis yang mereka berikan) dan melihat bagaimana mereka menyarankan untuk melakukannya. RI
Kyle Kanos

@ ChrisWhite Mungkin kecerdikan adalah untuk menghitung fungsi eigen, yang saya lihat dihitung dengan timestepping imajiner: Anda mengatur arah langkah sehingga fungsi eigen energi terendah memiliki nilai negatif paling sedikit dan dengan demikian pembusukan paling lambat. Pada iterasi pada input acak, sangat cepat hanya bentuk fungsi eigen energi terendah yang tersisa. Kemudian Anda kurangi ini dari input acak dan lakukan proses lagi: sekarang fungsi eigen energi terendah berikutnya adalah yang dominan. Dan seterusnya. Kedengarannya agak cerdik (terutama semakin tinggi - hhν fungsi eigen) tetapi berfungsi!hν

1
@ Davidvideteson: Persamaan difusi reaksi mengambil bentuk . Dalam kasus persamaan Schrodinger, R ( u ) = V u ; bolehkah saya bertanya bagaimana itu bukan persamaan tipe-RD? Dan, anehnya, persamaan Schrodinger sebenarnya muncul dalam artikel wiki reaksi-difusi yang saya referensikan. Penyangkalan yang saya buat ini juga muncul di banyak jurnal dan teks yang diterbitkantu=Dx2u+R(u)R(u)=Vu(silakan dan cari). Mungkin akan lebih baik bagi saya untuk menyarankan menggunakan perpustakaan standar (seperti MO umum di sini), seperti PETSc, deal.ii, atau pyCLAW?
Kyle Kanos

1
@KyleKanos: Kiriman Anda bagus. Bahkan, dalam artikel yang diposting oleh DavidKetcheson, Crank-Nicolson didukung oleh referensi pertama. Perbandingan dengan difusi reaksi baik-baik saja; seperti yang Anda perhatikan, perbandingan dengan difusi reaksi memang muncul di banyak sumber yang diterbitkan. Saya pikir DavidKetcheson sedang mencari sesuatu seperti "persamaan gelombang dispersif" yang disebutkan sebelumnya.
Geoff Oxberry

22

Pada awal 90-an kami mencari metode untuk menyelesaikan TDSE cukup cepat untuk melakukan animasi secara real time pada PC dan menemukan metode yang secara mengejutkan sederhana, stabil, dan eksplisit yang dijelaskan oleh PB Visscher di Computers in Physics : " Algoritme cepat yang cepat untuk persamaan Schrödinger yang tergantung waktu ". Visscher mencatat bahwa jika Anda membagi fungsi gelombang menjadi bagian nyata dan imajiner, , SE menjadi sistem:ψ=R+iI

dRdt=HIdIdt=HRH=12m2+V

Jika Anda kemudian menghitung dan saya di kali terhuyung-huyung ( R di 0 , Δ t , 2 Δ t , . . . Dan saya di 0,5 Δ t , 1,5 Δ t , . . .RIR0,Δt,2Δt,...I , Anda mendapatkan diskritisasi yang:0.5Δt,1.5Δt,...)

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

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

dengan (standard tiga titik Laplacian).

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

Ini adalah eksplisit, sangat cepat untuk menghitung, dan orde kedua akurat dalam .Δt

Mendefinisikan kerapatan probabilitas sebagai

pada langkah waktu integer dan,

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

pada langkah waktu setengah bilangan bulat

P(x,t)=R(x,t+12Δt)R(x,t12Δt)+I2(x,t)

membuat algoritme kesatuan, sehingga menghemat kemungkinan.

Dengan optimasi kode yang cukup, kami bisa mendapatkan animasi yang sangat bagus yang dihitung secara real-time di 80486 mesin. Siswa dapat "menggambar" potensi apa pun, memilih energi total, dan menyaksikan evolusi waktu dari paket gaussian.


Itu adalah trik yang sangat rapi untuk menyelesaikan komponen nyata & imajiner! Perhatikan juga bahwa Anda bisa mendapatkan persamaan terpusat besar dengan menggunakan $$ ... $$. Saya telah mengambil kebebasan melakukan ini untuk Anda, saya harap Anda tidak keberatan!
Kyle Kanos

Kami senang menemukan algoritme - mudah diprogram dan berlari cepat. Bagian tersulit adalah mendapatkan kondisi awal yang benar, R at t = 0 dan saya di 0.5dt ... Saya tidak keberatan edit, saya senang mendapatkan persamaan sama sekali.

1
@ user40172 Kami melakukan hal yang sama untuk Waveguides pada waktu yang hampir bersamaan, dan kami memilih BPM yang dijelaskan dalam jawaban saya. Alasannya adalah bahwa pada saat itu kami dapat menjalankan FFT secara terpisah dari CPU utama menggunakan papan DSP. Kami pikir kami sangat pintar, tetapi saya harus mengatakan bahwa pada dasarnya solusi perangkat keras untuk masalah perangkat lunak terlihat sangat aneh di tahun 2014! Versi terbaru dari Visual Studio C ++ secara otomatis membuat vektor kode melalui CPU dan melakukan pekerjaan yang indah dengan FFT.

1
@ user40172 Bagaimana Anda mendapatkan kondisi awal di akhirnya? Hanya menyebarkan solusi ke waktu itu menggunakan metode lain? 0.5dt

1
@Rusian Karena kami melakukan hamburan, kami menggunakan paket gelombang Gaussian bebas partikel standar tetapi memastikan untuk memulainya "cukup jauh" dari wilayah mana pun yang potensinya tidak nol. Lihat, misalnya: demonstrations.wolfram.com/EvolutionOfAGaussianWavePacket

10

Jawaban Kyle Kanos terlihat sangat penuh, tetapi saya pikir saya akan menambahkan pengalaman saya sendiri. Metode Fourier split-step (SSFM) sangat mudah dijalankan dan digunakan; Anda dapat membuat prototipe dalam beberapa baris Mathematica dan itu, sangat stabil secara numerik. Ini melibatkan hanya memberikan operator kesatuan pada dataset Anda, sehingga secara otomatis menghemat probabilitas / kekuatan (yang terakhir jika Anda memecahkan persamaan Maxwell dengan itu, yang merupakan tempat pengalaman saya berada). Untuk persamaan Schrödinger satu dimensi (yaitu hanya variasi dan t ), ia sangat cepat bahkan sebagai kode Mathematica. Dan jika Anda perlu mempercepatnya, Anda benar-benar hanya membutuhkan kode FFT yang baik dalam bahasa target Anda (pengalaman saya terletak pada C ++).xt

Apa yang akan Anda lakukan adalah versi samaran dari Metode Propagasi Beam untuk propagasi optik melalui pandu gelombang dari berbagai penampang (analog dengan potensi waktu yang berbeda-beda), jadi akan sangat membantu untuk melihat ini juga.

Cara saya melihat SSFM / BPM adalah sebagai berikut. Landasannya adalah formula produk Trotter dari teori Lie:

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

xyxyzψ(x,y,z)tNΨ1024×1024N=10242=1048576

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

K=D+VN×Nu(N)Ψexp(Kt)iK=D+VNU(N)D+Vi2/(2m)i1V0+i1(V0V(x,y,z,t0))V0

Kami membiarkan:

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

Mengapa saya membaginya seperti ini akan menjadi jelas di bawah ini.

DΨexp(ΔtD)Ψ

  1. ΨΨ~x,y,zkx,ky,kz
  2. Ψ~exp(ΔtD)Ψ~exp(iΔt(V0kx2+ky2+kz2)/) ;
  3. exp(ΔtD)Ψ

    VV adalah operator multiplikasi sederhana. Jadi inilah langkah terakhir Anda dari siklus algoritmik Anda:

  4. Ψexp(ΔtV)Ψexp(iΔt(V0V(x,y,z,t))/)

.... dan kemudian Anda mulai selanjutnya ΔtV(x,y,z,t)

Δtexp(D+VΔt)exp(DΔt)exp(VΔt)VD adalah operator perkalian sederhana.

Perhatikan bahwa Anda hanya pernah memberikan, bahkan di dunia yang dipecat, operator kesatuan: FFT dan faktor fase murni.

ΔtΔxΔx/Δtc

Poin "pengalaman" kedua dengan hal semacam ini - saya hampir berani bertaruh ini adalah bagaimana Anda akan berakhir dengan mengikuti ide-ide Anda. Kita sering memiliki ide yang ingin kita lakukan simulasi sederhana dan cepat dan kotor tetapi tidak pernah berhasil seperti itu! Saya akan mulai dengan SSFM seperti yang saya jelaskan di atas karena sangat mudah dijalankan dan Anda akan segera melihat apakah hasilnya fisik atau tidak. Kemudian Anda dapat menggunakan, katakan kode SSFM Mathematica periksa hasil kode yang lebih canggih yang mungkin Anda buat, katakanlah, kode Crank Nicolson di sepanjang jawaban Kyle Kanos .


Batas Kesalahan

Realisasi rumus Dynkin dari Teorema Baker-Campbell-Hausdorff:

exp(DΔt)exp(V)Δt)=exp((D+V)Δt+12[D,V]Δt2+)
Δt>0

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

exp(V)Δt)exp(12[D,V]Δt2)Δt

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

[D,V]exp(12[D,V]Δt2)eiφΔt2(id(12[D,V]iφ(t))Δt2)(id(12[D,V]iφ(t))Δt2)ψψ(x,t)Δtφ(12[D,V]iφ(t))Δt2exp(φdt) .

Makalah yang relevan tentang kesalahan dalam SSFM / BPM adalah:

Lars Thylén. "Metode Propagasi Balok: Analisis Penerapannya", Optical and Quantum Electronics 15 (1983) pp433-439 .

Lars Thylén berpikir tentang kesalahan dalam hal teori non-Lie (kelompok Lie adalah bengkok saya, jadi saya suka mencari interpretasi dari mereka) tetapi ide-idenya pada dasarnya sama dengan yang di atas.


1
exp[Δt(D+V)]exp[ΔtV/2]exp[ΔtD]exp[ΔtV/2] . Bahkan Anda dapat melakukan beberapa pemisahan lebih lanjut untuk membawa kesalahan ke lebih tinggiΔtkekuatan. Lihat misalnya Bandrauk dan Shen, Chem. Phys Lett. 176, 428 (1991). Jelas istilah kinetik Anda tidak dapat bergantung pada koordinat, yaitu, itu tidak berfungsi dengan baik di koordinat curvilinear.

1
Jika tidak, hal ini operator terpisah ditambah dengan evaluasi FFT dari operator energi kinetik adalah salah satu prosedur standar untuk menyelesaikan TDSE pada representasi berbasis grid dalam Fisika Molekuler.

@perplexity Banyak terima kasih. Baik untuk mengetahui bidang apa yang digunakan. Tanggal 1991 tentang referensi Anda menarik: Saya selalu yakin ide langkah split keluar dari simulasi Waveguide pada akhir 1970-an - jadi mungkin saya salah.

1
Anda tidak salah sama sekali. Itu memang inspirasi. Karya pertama yang menerjemahkan ide-ide ini ke QM yang saya tahu adalah Feit, Fleck and Steiger, J. Comput. Phys 47, 412 (1982) di mana, jika saya ingat dengan benar, mereka pada dasarnya menggunakan trik yang sama dengan keuntungan bahwa operator di sini adalah kesatuan dengan konstruksi (tidak seperti pada gelombang klasik). Pendekatan berbasis FFT-grid untuk jenis simulasi ini pertama kali diusulkan oleh Ronnie Kosloff, saya percaya. Dia memiliki ulasan yang sangat bagus tentang subjek ini di halaman web-nya.

Referensi bagus lainnya di bidang saya adalah buku David Tannor tentang Quantum Mechanics: Sebuah perspektif yang tergantung waktu. Tepuk tangan.

5

Saya dapat merekomendasikan menggunakan metode time-domain (FDTD) hingga-perbedaan. Saya bahkan menulis tutorial beberapa waktu lalu yang seharusnya menjawab sebagian besar pertanyaan Anda:

JR Nagel, "Tinjauan dan penerapan algoritma waktu-domain hingga perbedaan diterapkan pada persamaan Schrödinger," ACES Journal, Vol. 24, No. 1, Februari 2009

Saya memiliki beberapa kode Matlab yang berjalan dengan baik untuk sistem 1D. Jika Anda memiliki pengalaman dengan FDTD melakukan elektromagnetik, ini berfungsi baik untuk mekanika kuantum. Saya dapat memposting kode saya jika Anda tertarik.

Pada dasarnya, ia hanya beroperasi pada fungsi gelombang secara langsung dengan memisahkan turunan menjadi perbedaan yang terbatas. Agak mirip dengan skema Crank-Nicholson, tetapi tidak persis. Jika Anda terbiasa dengan FDTD dari teori gelombang elektromagnetik, maka FDTD akan sangat intuitif ketika menyelesaikan persamaan Schrodinger.


4

Metode beda hingga yang paling mudah adalah cepat dan mudah dipahami, tetapi tidak menyatu dalam waktu - sehingga kemungkinan tidak dilestarikan. Crank-Nicholson-Crout rata-rata metode perbedaan hingga maju dan mundur untuk menghasilkan metode hybrid implisit / eksplisit yang masih cukup mudah untuk dipahami dan diimplementasikan dan merupakan kesatuan dalam waktu. Situs ini menjelaskan metode ini dengan baik, menyediakan pseudocode, dan memberikan properti yang relevan:

http://www.physics.utah.edu/~detar/phycs6730/handouts/crank_nicholson/crank_nicholson/ Catatan: Ada - tanda yang hilang dari LHS dari persamaan salah satu tautan ini, yang merambat ke seluruh halaman.

Dari mana datangnya nonunitarity?

Singkatnya, memecahkan TDSE datang untuk mencari tahu bagaimana menghadapi

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

yang berisi operator diferensial dalam eksponensial.

Menerapkan perbedaan hingga ke depan mengubah operator diferensial menjadi matriks tridiagonal (mengubah Real ke grid) dan eksponensial menjadi dua syarat pertama dari seri Taylor-nya

eiHt1iHt

Diskritisasi dan linierisasi inilah yang memunculkan nonunitaritas. (Anda dapat menunjukkan bahwa matriks tridiagonal bukan satu kesatuan dengan perhitungan langsung.) Menggabungkan perbedaan hingga ke depan dengan perbedaan hingga ke belakang menghasilkan perkiraan

eiHt112iHt1+12iHt

yang, baik, kebetulan bersatu (sekali lagi Anda dapat menunjukkannya dengan perhitungan langsung)


Terima kasih atas tanggapan cepatnya. Bisakah Anda memberikan rincian lebih lanjut tentang kedua metode tersebut? Bagaimana cara kerjanya, dan mengapa? Dari mana datangnya nonunitarity?
Emilio Pisanty

Saya akan dengan senang hati memberikan lebih banyak detail, tetapi untuk menghindari kehilangan target audiens saya, akan berguna untuk mengetahui berapa banyak pendidikan dan pengalaman yang Anda miliki di masing-masing bidang latar belakang berikut: Kalkulus, Persamaan Diferensial, Aljabar Linier, Mekanika Kuantum, Mekanika Kuantum , dan Metode Numerik (khususnya Metode Perbedaan Hingga).

Harap asumsikan sebanyak yang Anda butuhkan dari fisika dan matematika standar (meskipun referensi ke bagian yang lebih rumit mungkin akan membantu). Metode numerik saya agak berkarat.
Emilio Pisanty

(1+saya2Ht)-1(1+saya2Ht)ψ

Tidak, ini adalah algoritma yang sama seperti yang diberikan oleh Kyle Kanos. Saya hanya menulisnya dengan cara ini untuk memberikan cara pandang yang berbeda. Saya berharap lebih mudah untuk dikonseptualisasikan - sedangkan dia lebih mudah diimplementasikan. Ya, Anda akhirnya hanya menyelesaikan persamaan tridiagonal. Ada sebuah kertas (1967) tua di AJP yang saya tidak dapat menemukan sebelumnya yang menggambarkannya dengan sangat baik: ergodic.ugr.es/cphys/lecciones/SCHROEDINGER/ajp.pdf Mereka menggunakan CN untuk menghasilkan loop film 8mm dari paket gelombang gaussian paket gelombang gaussian berhamburan berbagai potensi. Anda masih dapat menemukan loop film di banyak perpustakaan demo fisika universitas.

3

H=hal22m+V(x)=E.
halsayax,  Esayat,  xx,
[-22mxx+V(x)]ψ=sayatψ,
2
xxψ=ttψ+...
akan diperoleh (untuk V = 0 untuk kesederhanaan), seperti Pauli atau Klein Persamaan -Gordon. Tapi itu, tentu saja, masalah yang sama sekali berbeda.

ψn+1=(saya+sayaτ2H~)-1(saya-sayaτ2H~)ψn
saya
Hjk=(H~)jk=22m[δj+1,k+δj1,k2δjkh2]+Vjδjk.
ψψψs=eikx/L
|ψ|2dx
cp=E
c
icx=it
yaitu persamaan advection, yang tidak memiliki dispersi (jika terintegrasi dengan benar dengan metode Lax-Wendroff), dan wavepacket Anda tidak akan menyebar dalam waktu dalam kasus tersebut. Analog kuantum adalah persamaan Dirac tanpa-massa.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.