Diffusion Monte Carlo (DMC) или диффузионный квантовый Монте-Карло - это квантовый метод Монте-Карло, который использует функцию Грина для решения уравнения Шредингера. DMC потенциально численно точен, что означает, что он может найти точную энергию основного состояния в пределах заданной ошибки для любой квантовой системы. При реальной попытке вычислений обнаруживается, что для бозонов алгоритм масштабируется как полином с размером системы, но для фермионов DMC экспоненциально масштабируется с размером системы. Это делает невозможным точное крупномасштабное моделирование DMC для фермионов; однако DMC, использующий хитроумное приближение, известное как приближение фиксированного узла, все же может давать очень точные результаты.
Чтобы мотивировать алгоритм, давайте посмотрим на уравнение Шредингера для частицы в некотором потенциале в одном измерении:
Мы можем немного сократить обозначение, записав его в терминах оператора уравнение, где
Итак, мы имеем
, где мы должны помнить, что - это оператор, а не простое число или функция. Существуют специальные функции, называемые собственными функциями, для которых , где - число. Эти функции являются особыми, потому что независимо от того, где мы оцениваем действие оператора на волновую функцию , мы всегда получаем одно и то же число . Эти функции называются стационарными состояниями, потому что производная по времени в любой точке всегда одинакова, поэтому амплитуда волновой функции никогда не изменяется в время. Поскольку общая фаза волновой функции не поддается измерению, система не изменяется во времени.
Нас обычно интересует волновая функция с наименьшим энергией собственным значением, основным состоянием. Мы собираемся написать немного другую версию уравнения Шредингера, которая будет иметь такое же собственное значение энергии, но вместо того, чтобы быть колебательной, она будет сходящейся. Вот оно:
Мы удалили мнимое число из производной по времени и добавили постоянное смещение , которая является энергией основного состояния. На самом деле мы не знаем энергии основного состояния, но будет способ определить ее самосогласованным образом, который мы представим позже. Наше модифицированное уравнение (некоторые называют его уравнением Шредингера с мнимым временем) обладает некоторыми хорошими свойствами. Первое, что следует заметить, это то, что если мы угадываем волновую функцию основного состояния, то и производная по времени равна нулю. Теперь предположим, что мы начнем с другой волновой функции (), которая не является основным состоянием, но не ортогональна ему. Тогда мы можем записать его как линейную сумму собственных функций:
Поскольку это линейное дифференциальное уравнение, мы можем рассматривать действие каждой части отдельно. Мы уже определили, что неподвижен. Предположим, мы берем . Поскольку - собственная функция с наименьшей энергией, ассоциированное собственное значение удовлетворяет свойству . Таким образом, производная по времени от отрицательно, и в конечном итоге перейдет в ноль, оставив нам только основное состояние. Это наблюдение также дает нам способ определить . Мы наблюдаем амплитуда волновой функции по мере распространения во времени. Если она увеличивается, то уменьшают оценку энергии смещения. Если амплитуда уменьшается, то увеличивают оценку энергии смещения.
Теперь у нас есть уравнение, которое по мере его распространения во времени и корректировки соответственно Таким образом, мы находим основное состояние любого заданного гамильтониана. Это все еще более сложная проблема, чем классическая механика, хотя, поскольку вместо распространения отдельных положений частиц мы должны распространять целые функции. В классической механике мы могли бы моделировать движение частиц, задав , если предположить, что сила постоянна в течение . Для уравнения Шредингера мнимого времени вместо этого мы продвигаемся вперед во времени, используя интеграл свертки со специальной функцией, называемой функцией Грина. Таким образом, мы получаем . Подобно классической механике, мы можем распространяться только в течение небольших отрезков времени; в противном случае функция Грина неточна. По мере увеличения числа частиц размерность интеграла также увеличивается, поскольку мы должны интегрировать по всем координатам всех частиц. Мы можем получить эти интегралы с помощью интегрирования Монте-Карло.