Чи є прості способи чисельного вирішення залежного від часу рівняння Шредінгера?


34

Я хотів би запустити кілька простих моделей розсіювання хвильових пакетів з простих потенціалів в одному вимірі.

Чи є прості способи чисельного вирішення одновимірного TDSE для однієї частинки? Я знаю, що в цілому спроба використовувати наївні підходи до інтеграції часткових диференціальних рівнянь може швидко закінчитися катастрофою. Тому я шукаю алгоритми, які

  • є стабільно чисельними,
  • прості у впровадженні або мають легкодоступні реалізації бібліотеки кодів,
  • бігайте досить швидко і, сподіваємось
  • відносно прості для розуміння.

Я також хотів би орієнтуватися щодо спектральних методів, зокрема, методів, які є дещо більшим, ніж рішення звичайного рівняння Шредінгера, як зазвичай. Однак я був би зацікавлений у псевдоспектральних методах, які використовують B-сплайни чи що. Якщо метод може зайняти залежний від часу потенціал, то це, безумовно, бонус.

Звичайно, будь-який подібний метод завжди матиме ряд недоліків, тому я хотів би почути про них. Коли це не працює? Що таке загальні підводні камені? Якими способами його можна підштовхнути, а якими - не?



@EmilioPisanty Я додав обговорення помилок до моєї реєстрації SSFM: я помічаю (після написання своєї відповіді, вибачте) ви не захоплюєтесь спектральними методами, але про всяк випадок ...

Очищена нитка; зняття обговорення актуальності з фізики.
Джефф Оксберрі


3
@GeoffOxberry ви могли б зробити доступним скріншот цих коментарів?
Еміліо Пісанті

Відповіді:


24

Рівняння Шредінгера фактично є реакція-дифузія рівняння

(1)iψt=2ψ+Vψ
(всі константи - 1). Якщо мова йде про будь-яке часткове диференціальне рівняння, то існує два способи його вирішення:
  1. Неявний метод (adv: великі кроки часу & безумовно стабільний, disadv: потрібен матричний вирішувач, який може давати погані дані)
  2. Явний метод (adv: простий у виконанні, disadv: потрібні невеликі часові кроки для стабільності)

Для параболічних рівнянь (лінійних у т та другому порядку у х ) неявний метод часто є кращим вибором. Причина - умова стабільності для явного методу вимагає , що буде дуже мало. Ви можете уникнути цього питання, використовуючи неявний метод, який не має такого обмеження на часовий крок (хоча на практиці ви зазвичай не робите його шалено великим, оскільки можете втратити частину фізики). Далі я опишу цеметод Кранка-Нікольсона, загальна точна схема (простір та час) другого порядку.гтгх2

Стартери

Для того, щоб обчислительно вирішити PDE, вам потрібно дискретизувати його (зробити змінні розміщення в сітці). Найбільш пряма - прямокутна, декартова сітка. Тут далі позначає індекс часу (і завжди це супер-скрипт), а j індекс позиції (завжди підпис). Використовуючи розширення Тейлора для змінної, що залежить від позиції, рівняння (1) стає i ψ n + 1 j - ψнj Де ми припустили, щоV=V(x). Далі буде групування на зразок просторових та часових індексів (ви можете подвоїти перевірку математики):

iψjн+1-ψjгт=-12(ψj+1н+1-2ψjн+1+ψj-1н+1гх2+ψj+1н-2ψjн+ψj-1нгх2)+12(Vjψjн+1+Vjψjн)
V=V(х) Це рівняння має вигляд (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ψjн
Що називається тридіагональною матрицею і маєвідоме рішення(плюс робочі приклади, включаючи один, написаний мною!). Явний метод викреслює всю ліву сторону (чи я повинен сказати верхній рядок?) Рівняння (2), за виняткомiψ n + 1 j члена.
(A0A00A+A0A00A+A0A)(ψ0n+1ψ1n+1ψJ1n+1)=(ψ0nψ1nψJ1n)
iψjn+1

Випуски

Найбільша проблема, яку я знайшов із неявними методами, - це те, що вони сильно залежать від граничних умов. Якщо у вас погано визначені / реалізовані граничні умови, у ваших клітинах можуть виникнути помилкові коливання, які можуть призвести до поганих результатів (див. Мій пост SciComp на подібну тему). Це призводить до фактичної точності першого порядку в просторі, а не до 2-ї, яку ваша схема повинна дати.

Неявні методи також нібито важко паралелізувати, але я використовував їх лише для 1D рівнянь теплоти і не потребував паралельної підтримки, тому я не можу ні перевірити, ні заперечити твердження.

Я також не впевнений, як складний характер хвильової функції вплине на розрахунки. Робота, яку я зробив, використовує динамічні рівняння рідини Ейлера і, таким чином, цілком реальні з негативними величинами.

Часозалежний потенціал

Якщо у вас є аналітичний залежний від часу потенціал (наприклад, ), то ви просто використовуєте поточний час, t , для V j на РЗС (2) та майбутній час, t + д тVcos(ωt)tVjt+dt , на LHS. Я не вірю, що це створить якісь проблеми, але я цього не перевіряв, тому не можу перевірити або заперечити і цей аспект.

Альтернативи

Існує також кілька цікавих альтернатив методу Кранка-Ніколсона. Перше - це так званий метод "надмірно крокуючий час". У цьому явному методі ви приймаєте крок часу ( ) і використовуєте коріння поліномів Чебишева, щоб отримати оптимізований набір часових кроків, які швидко дорівнюють d t швидше, ніж робити d t / N кроків N разів (ефективно ви отримуєте Δ T = N 2 d t, так що кожен крок N просуває вас N d tdtdx2dtdt/NNΔT=N2dtNNdtвчасно). (Я використовую цей метод у своїх дослідженнях, оскільки у вас чітко визначений "потік" від однієї комірки до іншої, яка використовується для об'єднання даних з одного процесора в інший, використовуючи схему Crank-Nicolson, яку я не зміг цього зробити).

EDIT Одне, що слід зазначити, це те, що перший порядок є точним у часі, але якщо ви використовуєте метод Runge-Kutta 2 спільно, він вчасно дасть вам точну схему 2-го порядку.

Інший називається явним змінним напрямком . Цей метод вимагає від вас відомих і чітко визначених граничних умов. Потім переходить до розв'язання рівняння, використовуючи границю безпосередньо в обчисленні (не потрібно застосовувати його після кожного кроку). Що відбувається в цьому методі - це ви вирішуєте PDE два рази, один раз у розгортанні та один раз вниз. Зростання вгору використовує коли при низхідній розгортці використовується 2ψ

2ψx2ψj1n+1ψjn+1ψjn+ψj+1ndx2
для рівняння дифузії, тоді як інші доданки залишаться незмінними. Потім крокn+1вирішується шляхом усереднення двох напрямних прогонок.
2ψx2ψj+1n+1ψjn+1ψjn+ψj1ndx2
n+1

1
Чудова відповідь, тільки скарга - це ти мене побив!
Кайл

@ChrisWhite: Я думав про те, як це можна зробити раніше цього ранку, і єдине, що я придумав - це зробити це один раз для і один раз для мене . Я перегляну цей документ (і що ще важливіше - безкоштовний код, який вони видають) і побачу, як вони пропонують це зробити. RI
Кайл Канос

@ChrisWhite Можливо, підступність для обчислення власних функцій, яку я бачив, обчисленої уявним кроком часу: ви влаштовуєте напрямок кроку так, щоб власна функція з найменшою енергією мала найменше негативне значення і, отже, найповільніший занепад. При повторенні на випадковому вході дуже швидко залишається лише форма власного функціоналу з найменшою енергією. Потім ви віднімаєте це від випадкового введення і виконуєте процес знову: тепер наступна власна функція з найнижчою енергією є домінуючою. І так далі. Це звучить трохи хитро (особливо піднімаючись вище - год.)hν eigenfuncs), але це працює! hν

1
@DavidKetcheson: рівняння реакції дифузії має вигляд . У випадку рівняння Шредінгера R ( u ) = V u ; Чи можу я тоді запитати, як це не рівняння типу RD? Що цікаво, рівняння Шредінгера насправді фігурує у статті, що згадується у Вікі про реакцію-дифузію. Це зроблене мною також є у багатьох опублікованих журналах та текстахtu=Dx2u+R(u)R(u)=Vu(продовжуйте і шукайте). Можливо, мені було б краще порадити використовувати стандартні бібліотеки (як це є звичайна МО тут), наприклад PETSc, deal.ii або pyCLAW?
Кайл Канос

1
@KyleKanos: Ваше повідомлення добре. Фактично, у статті, опублікованій Девід Кетчесон, Кранк-Нікольсон виступає за першою посиланням. Порівняння з реакцією-дифузією добре; як ви зазначаєте, порівняння з реакцією на дифузію дійсно з'являється у багатьох опублікованих джерелах. Я думаю, Девід Кетчесон шукав щось подібне до "дисперсійного хвильового рівняння", про яке говорилося раніше.
Джефф Оксберрі

22

На початку 90-х ми шукали метод вирішити TDSE досить швидко, щоб робити анімації в режимі реального часу на ПК і натрапили напрочуд простий, стабільний, явний метод, описаний П.Б. Вісшером у « Комп’ютерах з фізики» : « Швидкий явний алгоритм для рівняння Шредінгера, залежного від часу ". Вісшер зазначає, що якщо розділити хвильову функцію на реальні та уявні частини, , SE стає системою:ψ=R+iI

dRdt=HIdIdt=HRH=12m2+V

Якщо потім обчислити і I у похилому часі ( R при 0 , Δ t , 2 ΔRIR І я на 0,5 Д т , 1,5 Д т , . . . ) , Ви отримуєте дискретизацию:0,Δ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)

при (стандартний триточковий лаплаціан).

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

Це явне, дуже швидке обчислення та точність другого порядку в .Δt

Визначення щільності ймовірності як

на цілих часових кроках і,

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)

робить алгоритм унітарним, тим самим зберігаючи ймовірність.

Маючи достатню оптимізацію коду, ми змогли отримати дуже хороші анімації, обчислені в режимі реального часу на 80486 машинах. Студенти могли «намалювати» будь-який потенціал, вибрати загальну енергію та спостерігати за розвитком часу гауссового пакету.


Це дуже акуратний трюк для вирішення реальних та уявних компонентів! Зауважте також, що ви можете отримати великі по центру рівняння, використовуючи $$ ... $$. Я взяв на себе сміливість зробити це для вас, сподіваюся, ви не заперечуєте!
Кайл Канос

Ми були в захваті від пошуку алгоритму - програмувати його було легко і швидко бігали. Найважче було отримати початкові умови правильно, R при t = 0 і я в 0,5dt ... Я не проти редагувати, я був радий отримати рівняння взагалі.

1
@ user40172 Ми зробили те саме, що і для хвилеводів приблизно в один і той же час, і ми опинилися на BPM, описаному в моїй відповіді. Причина полягала в тому, що в той час ми могли запускати FFT окремо від основного процесора за допомогою плати DSP. Ми думали, що ми такі розумні, але я мушу сказати, що придумати, по суті, апаратне рішення проблеми з програмним забезпеченням виглядає досить неприємно в 2014 році! Остання версія Visual Studio C ++ автоматично векторизує код над процесорами, і це прекрасна робота з FFT.

1
@ User40172 Як ви отримали початкові умови на 0.5dt нарешті? Просто розповсюдження рішення до того часу, використовуючи інший метод?

1
@Rusian Оскільки ми робили розсіювання, ми використовували стандартний пакет хвиль Гаусса з вільними частинками, але переконайтеся, що почати його "досить далеко" від будь-якого регіону, де потенціал був не нульовим. Дивіться, наприклад: demonstrations.wolfram.com/EvolutionOfAGaussianWavePacket

10

Відповідь Кайла Каноса виглядає дуже повною, але я думав, що додам власний досвід. Метод Фур’є з роздільним кроком (SSFM) надзвичайно просто запустити біг та поспішати з ним; ви можете прототипувати його в декількох рядках Mathematica, і це, надзвичайно стабільно чисельно. Він передбачає додавання до вашого набору даних лише унітарних операторів, тому він автоматично зберігає ймовірність / потужність (останнє, якщо ви вирішите з ним рівняння Максвелла, саме там лежить мій досвід). Для одновимірного рівняння Шредінгера (тобто лише варіації і t ) воно надзвичайно швидко, навіть як код математики. І якщо вам потрібно пришвидшити це, вам дійсно потрібен лише хороший FFT-код на вашій цільовій мові (мій досвід лежить на C ++).xt

Те, що ви робите, є замаскованою версією методу розповсюдження променя для оптичного поширення через хвилевід різного перерізу (аналогічний потенціалам, що змінюються у часі), тому було б корисно розглянути і це.

Те, як я дивлюся на SSFM / BPM, полягає в наступному. Його обґрунтуванням є формула продукту Троттера з теорії Лі:

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

яке іноді називають рівнянням розбиття оператора в цьому контексті. Ваш набір даних - це дискретизована сітка або x - y - z складних значень, що представляють ψ ( x , y , z ) в даний момент часу t . Таким чином , ви собі це (ви не повинні робити це, я все ще кажу концептуально) колосальні сітки записується як N - елементного вектора - стовпця Ф (для 1024 × 1024 сітки ми маємо N = 1024 2 = 1xyxyzψ(x,y,z)tNΨ1024×1024 ), і тоді ваше рівняння Шредінгера має вигляд:N=10242=1048576

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

де - N × N косо-ермітової матриці, елемент u ( N ) , і Ψ буде зіставлено зі збільшенням часу елементом однієї групи параметрів exp ( KK=D+VN×Nu(N)Ψ . (Я смоктав я фактор в K = D + V на РІТтакя можу легше говорити в термінах теорії Лі). Враховуючи розмір N , природне середовище проживання операторів U ( N ) є цілком колосальною групою Lie, тому PHEW! так, я все ще розмовляю цілком теоретично! Тепер, як виглядає D + V ? Поки що уявляючи собі, це можна вважати як скінченну різницю версії iexp(Kt)iK=D+VNU(N)D+V , де V 0i2/(2m)i1V0+i1(V0V(x,y,z,t0))V0 є деяким зручним "середнім" потенціалом для проблеми, що знаходиться в руці.

Ми дозволяємо:

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

Чому я розділив їх так, стане зрозуміло нижче.

DΨexp(ΔtD)Ψ

  1. Ψ 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, you are probably aware that you can do better if you use the so-called split-operator approximation, where exp[Δt(D+V)]exp[ΔtV/2]exp[ΔtD]exp[ΔtV/2]. In fact you can do some further splitting to carry the error to higher Δt powers. See for instance Bandrauk and Shen, Chem. Phys. Lett. 176, 428 (1991). Obviously your kinetic term cannot depend on the coordinates, that is, it doesn't work nicely in curvilinear coordinates.

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

Я можу порекомендувати використовувати метод кінцевої різниці часових доменів (FDTD). Я навіть написав підручник деякий час тому, який повинен відповісти на більшість ваших питань:

Дж. Р. Нагель, "Огляд та застосування алгоритму кінцевої різниці часових областей, застосованого до рівняння Шредінгера", ACES Journal, Vol. 24, № 1, лютий 2009 року

У мене є кілька кодів Matlab, які добре працюють для 1D-систем. Якщо у вас є досвід роботи з FDTD, що займається електромагнітною системою, це чудово працює і для квантової механіки. Я можу розмістити свої коди, якщо вас цікавить.

В основному, він просто працює на хвильових функціях безпосередньо, розбиваючи похідні на кінцеві різниці. Він схожий на схему Кранка-Ніколсона, але не зовсім. Якщо ви знайомі з FDTD з теорії електромагнітних хвиль, то FDTD буде дуже інтуїтивно зрозумілим при вирішенні рівняння Шредінгера.


4

Найпростіший метод кінцевих різниць - швидкий і простий для розуміння, але не є єдиним у часі - тому ймовірність не зберігається. Crank-Nicholson-Crout уселяє середні прямі та зворотні методи кінцевих різниць для отримання гібридного неявного / явного методу, який все ще досить простий для розуміння та реалізації та є єдиним у часі. Цей сайт добре пояснює метод, надає псевдокод і надає відповідні властивості:

http://www.physics.utah.edu/~detar/phycs6730/handouts/crank_nicholson/crank_nicholson/ Примітка: У LHS рівняння відсутній знак - один з цих посилань, який поширюється по всій сторінці.

Звідки береться неунітаризм?

У горіховій оболонці вирішення TDSE зводиться до з'ясування способів поводження

|ψ(х,т)=е-iНт|ψ(х,0)

який містить диференціальний оператор в експоненціалі.

Застосування прямої кінцевої різниці перетворює диференціальний оператор в тридіагональну матрицю (перетворюючи Reals в сітку), а експоненцію в перші два доданки серії Тейлора

е-iНт1-iНт

Ця дискретизація та лінеаризація - це те, що породжує неунітаризм. (Можна показати, що тридіагональна матриця не є одиничною шляхом прямого обчислення.) Комбінування прямої кінцевої різниці з кінцевою різницею назад призводить до наближення

е-iНт1-12iНт1+12iНт

який, люб'язно, буває унітарним (знову це можна показати прямим обчисленням).


Дякуємо за швидку відповідь. Чи можете ви надати більше деталей щодо обох цих методів? Як вони працюють і чому? Звідки береться неунітаризм?
Еміліо Пісанті

Я був би радий надати більш детальну інформацію, але, щоб уникнути пропуску моєї цільової аудиторії, було б корисно знати, скільки освіти та досвіду ви мали у кожному з наступних галузевих полів: обчислення, диференціальні рівняння, лінійна алгебра, квантова механіка і числові методи (зокрема методи кінцевої різниці).

Будь ласка, припустіть стільки, скільки вам потрібно зі стандартної фізики та математики (хоча посилання на більш складні частини, можливо, допоможуть). Мої числові методи трохи іржаві.
Еміліо Пісанті

Чи є якісь відмінності між цим та відповіддю Кайла Каноса ? Я маю на увазі, що не очевидно, як реалізувати ваше останнє рівняння - як ви писали, це передбачає перевернення повного оператора - чи просто ви говорите, що метод CN просто, через рішення його тридіагонального рівняння, розробляє(1+i2Нт)-1(1+i2Нт)ψ? Або є тонкість, яку я пропустив? Насправді, останнє рівняння - це хороша візуалізація, оскільки це робить явність унітарності для CN, факт, який є незрозумілим у багатьох описах 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

Кілька відповідей та коментарів тут плутають бентежно TDSE з хвильовим рівнянням; можливо, певною мірою питання семантики. TDSE - це квантована версія класичного нерелятивістського гамільтоніана

Н=p22м+V(х)=Е.
З правилами
piх,  Еiт,  хх,
(як обговорювалося в главі 1 d'Espagnat, Концептуальні основи квантової механіки, https://philpapers.org/rec/ESPCFO ), вона читається
[-22мхх+V(х)]ψ=iтψ,
тому це явно дифузійне рівняння. Якщо хтось використовував релятивістську енергію, яка містить Е2 термін, то хвилеподібне рівняння типу
ххψ=ттψ+
отримали б (при V = 0 для простоти), такі як рівняння Паулі або Клейна-Гордона. Але це, звичайно, зовсім інша справа.

Тепер, повернувшись до TDSE, очевидним методом є Crank-Nicolson, як уже згадувалося, оскільки це розширення в малому часі, що зберігає єдиність еволюції (FTCS, наприклад, ні). У випадку 1-пробілу-D це може трактуватися як матрична ітерація, читання

ψн+1=(Я+iτ2Н~)-1(Я-iτ2Н~)ψн
з Я матриця ідентичності та
Нjк=(Н~)jк=-22м[δj+1,к+δj-1,к-2δjкгод2]+Vjδjк.
(Детальніше, наприклад, у Числових методах для фізики, http://algarcia.org/nummeth/nummeth.html , А. Л. Гарсія). Як найбільш чітко видно в періодичних граничних умовах, простір локалізованийψ поширюється в часі: це очікується, оскільки початковий локалізований ψ- це не власне стан стаціонарного рівняння Шредінгера, а його суперпозиція. Власне стан (класична масивна вільна частинка) з фіксованим імпульсом (для нерелятивістського кінетичного оператора) простоψс=еiкх/L, тобто повністю delocalized за принципом Гейзенберга, з постійною щільністю ймовірності 1 / L скрізь (зауважте, що я уникаю проблем нормалізації зі станами континууму, будучи моєю частинкою жити по обмеженій, періодично повторюваній лінії). Використовуючи CN, норма
|ψ|2гх
зберігається завдяки унітарності (це не відбувається в інших схемах, таких як FTCS, наприклад). Між іншим, зауважте, що починаючи з енергетичного вираження, такого як
cp=Е
з c виправлено, ви отримаєте
icх=iт
тобто рівняння адвекції, яке не має дисперсії (якщо правильно інтегровано з методами Лакса-Вендрофа), і ваш хвильовий пакет не пошириться в часі в цьому випадку. Квантовим аналогом є рівняння Дірака безмасштабних.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.