В настоящее время я пишу базовую программу на питоне для моделирования 1 + 1-мерной калибровочной теории Ян Миллса с группой симметрии .
На решетке вы работаете с переменными связи, которые матрицы, определенные формально как , где и где это генератор группа. Действие решетки связано с плакетками на решетке, где плакетка — это наименьшее замкнутое произведение переменных связи на решетке. Чтобы было ясно: является вектором матрицы: у вас будет одна матрица для каждого . Так является матрицей SU (N), как и .
Алгоритм обновления Монте-Карло выглядит следующим образом. Мы смотрим на ссылку в решетке индивидуально и предлагаем изменить указанную переменную ссылки, (где u — направление ссылки; в измерениях 1 + 1 это либо или ) Затем мы вычисляем изменение действия, которое произошло бы, если бы мы приняли это изменение. . Если изменение действия, , отрицательно, то мы принимаем изменение. Если изменение действия, положительно, то мы принимаем изменение с вероятностью . Мы делаем этот процесс для каждой переменной связи в решетке.
Так; вот мой вопрос. Как предложить достаточно небольшие изменения в SU(N)-матрице, чтобы средняя вероятность принятия не была абсурдно малой? Я не думаю, что могу предложить изменения формы , где является «маленькой» матрицей SU (N) (если вообще существует такая вещь), поскольку я не думаю, что сумма двух матриц SU (N) обычно равна SU (N). Я мог бы просто сгенерировать случайные SU(N)-матрицы, а затем случайным образом выбрать одну из этих матрицы, которые будут моей предложенной переменной ссылки . Однако, когда я реализую это, я получаю с большими величинами, что означает низкую вероятность принятия. Это означает, что необходимо выполнить большое количество итераций, чтобы получить конфигурацию, независимую от исходной.
Извините за длину. Если кому-то нужен мой код в данный момент, дайте мне знать. Он написан на питоне и имеет только итератор и способ генерации случайные SU(2)-матрицы.
РЕДАКТИРОВАТЬ: я думаю, что нашел источник несоответствия между моими первоначальными результатами и моими текущими результатами. Допустим, я генерирую 1000 случайных матриц su(2), используя некоторый алгоритм. Чтобы обновить переменные ссылки, я предлагаю , где M — одна из моих 1000 случайных su(2)-матриц. Я не уверен, что вы можете на самом деле построить все пространство su(2), многократно перемножая эти 1000 случайных матриц. Даже когда я изменил свой код на 2+1 D su(2) yang mills, у меня все еще возникает проблема, связанная с изменением ожидаемого значения плакетки при изменении размера шага. В частности, ожидаемое значение плакетки увеличивается, когда я уменьшаю размер шага. Только когда я генерирую полностью случайные матрицы su(2) M для обновления я получаю минимальный размер плакетки.
EDIT2: может быть, я обновляю сразу всю решетку? Что я делаю, так это просматриваю решетку один раз, не меняя никаких ссылок, а затем меняю все ссылки в конце каждой итерации.
EDIT3: Алгоритм обновления действительно был проблемой. Вы должны случайным образом выбрать переменную ссылки на случайном сайте, обновить ее, а затем продолжить.
Для обновления переменных ссылки вы хотите воспользоваться тем фактом, что это группа. Так что найдите "маленькую" матрицу , и обновить в соответствии с .
Я рекомендую взглянуть на "Lattice QCD for Novices" Ле Пейджа. Там есть несколько советов, которые вы найдете полезными.
Также полезно, если вы не знаете об этом: КХД с двумерной решеткой точно решаема, поэтому вы можете проверить свои результаты на работоспособность.
Не беспокойтесь о C и Python для 2d. Питон в порядке.
В принципе всегда можно найти достаточно малый временной шаг в эволюции, чтобы иметь разумное принятие (около 57% для оптимального интегратора второго порядка). Итак, сначала сделайте несколько проверок,
Если в будущем вы планируете усложняться, я предлагаю вам попытаться написать код на C/C++ (это код QCD на основе MILC, http://www.physics.utah.edu/~detar/milc/milcv7 ). .pdf использует)
Также вот очень полезная ссылка, которая поможет понять недостающие ссылки: https://arxiv.org/pdf/1506.02567.pdf .
Есть и другие тесты, о которых я не упомянул, например и т.д.
приставные столы
СлучайныйПреобразование Фурье
приставные столы
пользователь1504