Sep. 26th, 2019

thedeemon: (Default)
В одной из ветвей волновой функции вселенной вы сегодня проснулись и задумались о том, что будет, если запрограммировать очень простую игрушечную модель квантовой механики и поиграться с ее параметрами. Не знаю, что там получилось у вас, но вот что получилось у меня.
У Ричарда Фейнмана есть чудесная "книжка" (запись публичной лекции) "QED: The Strange Theory of Light and Matter", где он наглядно на пальцах объясняет кое-какие азы, не прибегая к формулам. По сути он там излагает подход "sum over histories", он же "интегралы по траекториям". Если у нас из точки А вылетает частица, и мы хотим найти вероятность обнаружить ее позже в точке В, то мы делаем следующее. При движении частицы по некоторому пути Фейнман предлагает представить стрелку, которая крутится как на часах пока частица по этому пути летит. Дальше он предлагает взять все-все мыслимые пути из А в В, для каждого прокрутить такую стрелку, и все эти стрелки сложить как вектора. Квадрат длины такой стрелки и даст нам искомую вероятность (после нормализации). Понятно, что хотя он формулы не приводит, стрелки это комплексные числа, а их кручение это eiφ(t). На деле там eiS/h, где S это величина действия, интеграл по времени от лагранжиана вдоль траектории. У частицы нет какой-то одной определенной траектории, вместо этого она летит как бы сразу по всем, а суммирование амплитуд позаботится о том, чтобы траектории близкие к стационарному значению действия (минимуму/максимуму) складывались конструктивно и давали вклад большой, а отклонения от таких траекторий в разные стороны складывались деструктивно, с разными знаками, таким образом нейтрализуя друг друга, от них общий вклад будет маленький, отсюда автоматически возникает принцип наименьшего (стационарного на самом деле) действия, на котором вся механика стоит (и оптика). Такая формулировка может показаться очень непохожей на обычную квантовую механику 20-х годов, где есть волновая функция и ее эволюция по уравнению Шрёдингера, но одна из другой несложно выводится, см. например первые несколько страниц здесь.
Вот это и запрограммируем, делов-то. Возьмем двумерную коробку единичного размера. Из середины нижней границы будем запускать частицы. И в разных точках будем их "ловить" - считать суммарную амплитуду. Для интереса перегородим коробку стенкой, в к которой просверлим две дырки - будет у нас двухщелевой эксперимент, второй по знаменитости во всей КМ. Траектории будем прокладывать случайным образом из отрезков, проходящих через случайные точки (частица может прыгать туда-сюда совершенно не заботясь ни о каких законах движения). Если отрезок пролегает через стенку, то такую траекторию выбрасываем, не считаем, стенки у нас будут непроницаемыми для частиц. У нас есть ровно одна траектория из А в В, состоящая из одного отрезка, и сколько угодно траекторий с одной или более промежуточными точками. Осталось решить как вычислять действие - как крутить стрелки. Возьмем самый простой игрушечный вариант: действие при движении вдоль отрезка пропорционально его длине: hc * len, где hc - некоторый коэффициент, связанный с постоянной Планка h, обратно ей пропорциональный (ибо в оригинале там S/h). Вот и все. Код:
Read more... )

Profile

thedeemon: (Default)
Dmitry Popov

July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27282930 31  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 1st, 2025 01:40 am
Powered by Dreamwidth Studios