пластины есть пространство, свободное от вихрей. При аннигиляции пары вихрь-антивихрь на краях пластины образуются новые вихри, сохраняя детальное равновесие. По мере уменьшения поля тока вплоть до полного выключения тока, вихри, не осевшие на дефектах, начинают покидать пластину (точка 4), часть потока при этом остается замороженной на дефектах. Далее, с увеличением тока противоположного направления после достижения первого критического поля, в каждую из пластин начинают проникать вихри соответствующего знака, аннигилируя при этом с вихрями, оставшимися на дефектах от предыдущего намагничивания (участок 5-6), при этом наблюдаются так называемые «волны аннигиляции» [49, 50, 55], когда выстраивается фронт вихрей одного знака, надвигающийся на вихри другого знака, разделенный полосой аннигиляции (рис. 11.49).
Рис. 11.49. Волны аннигиляции в процессе перемагничивания током. Стрелками указан фронт волны
Таким образом, моделирование вихревой системы ВТСП методом Монте-Карло приводит к корректному описанию поведения физической системы. Представленные результаты по перемагничиванию пластины током и во внешнем поле качественно, а в ряде случаев и количественно, совпадают с экспериментальными данными.
11.6. Расчет термодинамических средних и оценка погрешности. Автокорреляционный анализ в стохастическом моделировании
Рассмотрим математические аспекты расчета термодинамических средних и оценки погрешности при моделировании методами Монте-Карло (результаты этого раздела будут справедливы и для других методов стохастического моделирования). Основной целью раздела является формулировка практических рекомендаций по корректному расчету погрешностей, поэтому математические
вопросы, связанные с критерием χ2 , доверительными интервалами и др., здесь рассматриваться не будут.
В процессе моделирования после реализации каждого элементарного шага алгоритма в память компьютера или в файл необходимо заносить то значение Ai рассчитываемой физической
величины A, которое на данный момент реализовано "мгновенной" конфигурацией i. В конце процесса моделирования, после M шагов сбора информации (или M итераций), рассчитывается искомое среднее
A
, которое, как доказывалось при рассмотрении
принципа детального равновесия, является арифметическим средним мгновенных значений:
1 M
A
= M ∑i=1 Ai .
Для ускорения сходимости и более корректной оценки погрешности рекомендуется сбор информации производить не сразу, а после некоторого количества начальных шагов, так называемых шагов термализации системы. Действительно, ответ не должен зависеть от начального состояния системы, а так как старт моделирования осуществляется с некоторого случайного, как правило, не соответствующего термодинамически равновесной ситуации, начального состояния, первые мгновенные значения Ai будут
далеки от ответа, и внесут хаотические флуктуации в расчет среднего, удлиняя время сходимости (рис. 11.50).
Рис. 11.50. Если состояние, с которого начинается моделирование, сильно отличается от равновесного (показано штриховой линией), то первые несколько шагов (обведены штрихпунктирной линией) дадут большой вклад в погрешность результата
Для исключения начальных флуктуаций некоторое количество M0
первых шагов Монте-Карло проводят без запоминания значений рассчитываемой величины, так что среднее значение рассчитывается по формуле:
|
|
|
1 |
M |
|
|
A |
= |
∑Ai . |
(11.214) |
|
|
|
M − M0 |
|
|
|
i=M0 +1 |
|
Величина области термализации M0 может быть велика и достигать
четверти времени всего расчета M . Будем далее полагать, что термализация проведена, и отсчитывать шаги Монте-Карло только от начала сбора физической информации, т.е. далее в тексте будут введены переобозначения i → i − M0 ; M → M − M0 .
Рассмотрим теперь важный вопрос об оценке погрешности δA величины
A
. Следует заметить, что расчет погрешности (так
называемая несмещенная оценка) через среднеквадратичное отклонение,
|
|
|
|
|
|
A2 − A 2 |
|
|
|
|
|
δA = |
1 |
∑(Ai − A )2 |
= |
DA |
, |
(11.215) |
|
M(M − 1) |
M |
M |
|
|
|
i |
|
|
|
справедливый для независимых случайных величин, приведет к некорректной оценке в данном случае, так как мгновенные значения Ai , получаемые в процессе работы алгоритма, являются
звеньями марковской цепи, поэтому каждое следующее мгновенное
383
значение |
имеет определенную |
корреляцию с предыдущим, |
Ai+1 = f(Ai) , |
и эти величины не |
могут рассматриваться как |
статистически независимые. Однако ввиду того, что каждое из значений Ai , входящих в марковскую цепь, определяется не всеми
предыдущими состояниями A0 ,A1,...,Ai−1 , а только последним Ai−1 , то корреляция между Ai и мгновенным значением на (i + k) -м шаге Ai+k будет ослабляться с ростом k, и, в конце концов, при определенном значении k величины Ai и Ai+k станут статистически
независимыми. Оценка корреляций между различными мгновенными значениями Ai осуществляется при помощи
автокорреляционной функции [51]; минимальное количество итераций, необходимое для реализации двух статистически независимых мгновенных значений Ai , определяется
автокорреляционным временем расчета величины A. Эти понятия рассматриваются далее.
Прежде всего, представим процесс Монте-Карло как непрерывную развивающуюся во времени эволюцию системы, так же, как это делалось при рассмотрении принципа детального равновесия. Каждая из итераций , рассматриваемых выше, может состоять из
сотни или тысячи элементарных шагов Монте-Карло, так как информация может собираться необязательно на каждом элементарном шаге. Поставим в соответствие каждой такой итерации интервал времени δt , так что полное время расчета в
момент итерации |
равно tµ = µ δt . Тогда усреднение по |
конфигурациям |
эквивалентно |
интегрированию |
вдоль |
стохастической фазовой траектории в фазовом пространстве,
удовлетворяющей |
динамическому |
уравнению |
Колмогорова |
(11.124): |
|
|
|
|
|
|
|
|
1 |
M |
1 |
tM |
|
|
A = |
∑Ai ≡ |
∫ A(t)dt . |
(11.216) |
|
M |
t |
|
|
|
i=1 |
M |
0 |
|
Если схема алгоритма эргодическая, усреднение по времени
(11.216) эквивалентно усреднению с гиббсовскими весами P(x) по полному ансамблю состояний системы, т.е. в пределе
большого числа итераций имеем:
|
1 |
tM |
|
∑ |
|
|
lim |
|
|
∫ |
A(t)dt = A = |
P(x) A(x) , |
(11.217) |
|
|
tM→∞ t |
M |
|
|
|
|
|
0 |
|
{x} |
|
|
где {х} означает сумму по всем состояниям (конфигурациям) системы.
Введем понятие корреляционной функции двух физических величин A и B следующим образом:
|
|
|
1 |
tM |
|
|
A(t)B(0) |
= |
∫ A(t′)B(t′ − t)dt , |
(11.218) |
|
tM − t |
|
|
|
t |
|
|
|
|
|
|
|
при этом усреднение |
(11.218) при tM → ∞ |
совпадает с |
термодинамическим усреднением (11.217), а это подразумевает, что статистические веса состояний P(x,t) , по которым отобраны
значения величин A и B, практически совпадают с равновесными весами P(x) . Заметим, что если tM недостаточно велико, то
соответствующее среднее
A(tM)
зависит от времени наблюдения. В общем случае определим среднее по ансамблю
A(t)
через корреляционную функцию между A(t) и статистическим весом P(x) , и интерпретируем его эволюцию следующим образом:
A(t) = ∑P(x,t) A(x(0)) = ∑P(x,0) A(x(t)) . |
(11.219) |
{x} |
{x} |
|
Заметим, что перенос временной зависимости от статистического веса P(x,t) к усредняемой величине A(x(t)) в (11.219)
эквивалентен в квантовой механике переходу от шредингеровского представления к гейзенберговскому.
Практически рассчитывать (11.219) можно, задав определенное число шагов t алгоритма Монте-Карло, а затем многократно запускать алгоритм, стартуя с различных начальных конфигураций, и суммировать частичные средние
A(t) = 1 |
t |
|
|
∫ A(t′)dt′ |
(11.220) |
|
t |
0 |
|
|
|
|
|
|
для каждого запуска i: |
|
|
|
|
|
1 |
r |
|
A(t) |
∑A(t,i) , |
(11.221) |
|
r |
i=1 |
|
где r – полное число запусков, r >> 1. В начальной области эволюции при малом t среднее (11.221) отличается от предела (11.218),
A(t) − A(∞) ≠ 0; |
A(∞) = A . |
(11.222) |
Исследуем сходимость величины A(t) |
к рассчитываемому пределу |
A(∞) , который в дальнейшем будем обозначать |
просто A . |
Рассмотрим среднеквадратичную статистическую |
погрешность |
величины A(tM) , характеризующую |
отклонение ее |
значений от |
среднего значения (11.213), |
|
|
(δA)2 = (A(tM) − |
A )2 . |
(11.223) |
Это и есть погрешность, которую следует указывать в результате расчета при достаточно длительном итерационном процессе:
|
|
|
|
|
|
|
|
|
|
|
|
A = |
|
A ± δA . |
|
|
|
|
|
|
|
|
|
|
(11.224) |
Преобразуем (11.223): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
M |
|
|
|
|
|
|
2 |
|
|
1 |
|
|
|
M |
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
(δA)2 = |
|
∑(A − A ) |
|
|
= |
|
|
|
|
∑ ∑ |
A A |
|
− 2A |
|
A |
+ A |
|
= |
|
|
|
|
2 |
2 |
|
|
M =1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
1=1 2 =1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
M |
M |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
(11.225) |
|
|
|
|
|
= |
|
|
|
|
∑ ∑ A A |
|
|
− A |
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
=1 |
|
=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Воспользуемся соотношением |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
M |
|
|
|
|
M |
|
|
|
M |
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∑ ∑ = 2∑ ∑ |
|
+ ∑ , |
|
|
|
|
|
|
(11.226) |
|
|
|
|
1=1 2 =1 |
|
|
1=1 2 =1+1 |
1=1 |
|
|
|
|
|
|
|
|
|
|
|
тогда из (11.225) имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
M |
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
(δA)2 = |
|
|
|
2 |
∑ ∑ |
|
|
|
A |
A |
|
+ M A2 |
|
− |
|
A |
|
; |
|
|
2 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
2 |
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=1 |
|
= +1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(11.227) |
|
|
|
|
|
|
|
|
|
|
|
A2 |
= |
|
|
1 ∑A2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Добавляя и вычитая одинаковые слагаемые в двойной сумме, находим далее:
|
|
1 |
|
|
M |
M |
( Aµ |
|
− A 2)+ (M2 −M) A 2 + M A2 |
|
|
A 2 ≡ |
|
(δA)2 = |
2∑ ∑ |
Aµ |
|
− |
|
2 |
|
|
|
1 |
|
2 1 |
1 |
2 |
|
|
|
|
|
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
µ =1 µ =µ +1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
( A2 |
− A 2 )+ |
2 |
M M |
( Aµ Aµ |
− A 2). |
|
|
(11.228) |
|
|
|
≡ |
|
∑ ∑ |
|
|
|
|
|
|
M |
M2 |
|
|
|
|
|
|
|
|
|
|
µ1=1 µ2=µ1+1 |
1 |
2 |
|
|
|
Преобразуем выражение в двойной сумме следующим образом:
M |
M |
|
|
|
M M−µ1 |
∑ ∑ |
Aµ Aµ |
2 |
= |
∑ ∑ |
A0Aµ = |
µ1=1 µ2 =µ1+1 |
1 |
|
µ1=1 µ=1 |
|
|
|
|
(11.229) |
M |
|
M−µ |
|
M |
|
= ∑ |
A0Aµ ∑1 = ∑(M − µ) A0Aµ . |
µ=1 |
|
µ1=1 |
|
µ=1 |
|
В (11.229) использовано, что при достаточно большом числе усреднений по ансамблю справедливо равенство
Aµ |
Aµ |
2 |
= A0Aµ |
−µ |
, |
(11.230) |
1 |
|
2 |
1 |
|
т.е. коррелятор зависит только от "расстояния" между итерациями. С учетом (11.229) и последнего замечания двойная сумма (11.228) становится однократной и выражение для погрешности принимает вид:
|
2 |
1 |
|
2 |
|
2 |
M |
|
µ |
|
|
2 |
|
|
(δA) |
= |
|
( A |
− A |
|
)+ 2∑ 1− |
|
|
( A0Aµ |
− A |
|
) . |
(11.231) |
|
|
|
|
|
|
M |
|
|
|
µ=1 |
|
M |
|
|
|
|
|
Для удобства дальнейшего анализа перейдем к динамической интерпретации процесса Монте-Карло и введем, как указывалось выше, интервал времени δt для каждой итерации и полное время
итерации : |
tµ = µ δt . |
Заменяя |
|
сумму |
|
интегралом, |
перепишем |
(11.231): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
1 |
|
2 |
|
|
|
2 |
tM |
|
t |
|
|
|
|
|
|
|
|
|
( |
|
2) |
|
|
∫ |
|
|
( |
|
|
|
2) |
|
(11.232) |
(δA) |
= |
|
|
A |
− A |
|
+ |
δt |
|
dt 1− |
t |
|
|
|
A A |
|
− A |
. |
|
|
|
M |
|
|
|
|
|
|
|
0 |
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
M |
|
|
|
|
|
|
|
Введем автокорреляционную функцию физической величины
A следующим образом: |
|
|
|
|
|
|
ϕA(t) = |
A A |
|
− A |
2 |
|
(11.233) |
0 |
t |
|
, |
|
|
|
|
|
|
A2 |
|
− A 2 |
|
|
|
при этом ϕA (0) = 1, а ϕA (∞) = 0 |
, так как |
|
|
|
t → ∞ A |
A |
t |
≈ A |
0 |
A |
t |
→ A 2 |
. (11.234) |
0 |
|
|
|
t→∞ |
|
Автокорреляционная функция отражает степень корреляции между различными реализациями рассчитываемой величины, и чем ближе она к нулю, тем слабее корреляция. Соотношение (11.234) иллюстрирует принцип ослабления корреляций при увеличении времени наблюдения между измерениями.
Автокорреляционная функция уникальна для каждой рассчитываемой величины, т.е. различна, например, для энергии E и числа частиц N для одной и той же системы и в одном и том же расчете Монте-Карло.
Перепишем |
выражение |
|
для |
|
|
погрешности |
через |
автокорреляционную функцию: |
|
|
|
|
|
|
|
|
|
|
|
2 |
1 |
|
2 |
|
|
|
2 |
tM |
|
|
t |
|
|
|
|
( |
|
2) |
|
|
|
|
|
|
(11.235) |
|
(δA) = |
M |
A |
− |
A |
1 |
+ |
δt |
∫dt 1 |
− |
t |
|
|
ϕA(t) |
|
|
|
|
|
|
|
|
0 |
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и введем безразмерный параметр автокорреляционное время физической величины A следующим образом:
|
1 |
|
1 ∞ |
1 |
M |
|
τA = |
2 |
+ |
|
∫dt ϕA (t) = |
2 |
+ ∑ϕA (tµ ) . |
(11.236) |
δt |
|
|
|
0 |
|
µ=1 |
|
Чем меньше автокорреляционное время, тем быстрее сходимость. Это видно из оценки погрешности, которая с учетом (11.236) выражается следующим образом:
|
|
|
|
|
2 |
|
2τA |
2 |
|
2 |
|
(11.237) |
|
|
|
|
(δA) |
= |
|
|
( |
A |
− A |
|
). |
|
|
|
|
|
|
|
M |
|
|
|
В (11.237) предполагается, что ϕA (t) |
отлична от нуля при |
t << tM , |
поэтому |
под |
знаком интеграла |
в |
(11.235) можно положить |
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
→ 1 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 − |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tM |
|
|
|
|
|
|
|
|
|
|
|
|
Минимальное |
значение |
τA |
= 1/2 , |
это |
|
соответствует |
случаю |
отсутствия корреляций, когда величина τAδt порядка времени δt
между итерациями, и погрешность совпадает со среднеквадратичной (11.215). Более того, в этом случае она
чувствительна к выбору δt , и сбор информации нужно проводить на каждом элементарном шаге Монте-Карло.
Как правило, однако, оказывается, что τA >> 1. Тогда погрешность,
рассчитанная в соответствии с (11.237), может отличаться от среднеквадратичного отклонения в десятки раз. В этом случае оценка (11.237) нечувствительна к выбору δt до тех пор, пока δt не будет сопоставима с τAδt , и информацию нужно собирать не
чаще, чем с интервалом τAδt .
При практической реализации выражения (11.232) – (11.237) достаточно громоздки и неудобны для расчета. Строго говоря, согласно (11.221), следует провести многократный запуск алгоритма при различных начальных конфигурациях, для того чтобы осуществить усреднение по ансамблю. Однако на практике есть несколько удобных способов расчета автокорреляционных времен и погрешностей в одном длительном расчете, имитируя усреднение по ансамблю.
Один из таких методов – метод разбиений ("bins"), который
состоит в следующем. Разобьем все |
M измерений физической |
величины A на n частей (bins) длиной |
r = M/n |
(рис. 11.51). Для |
каждой из частей рассчитаем частичное среднее |
|
|
|
= 1 |
br |
|
|
A(r) |
|
∑Aj; b = 1,...,n . |
(11.238) |
|
b |
r |
j=(b−1)r+1 |
|
|
Рис. 11.51. Все M = 40 измерений разбиты на n = 10 частей длиной r = 4
Рассчитаем дисперсию A по этим частичным средним: |
|
σ2 (r) = |
1 |
|
∑n ( A2 (r) |
− A 2 ). |
(11.239) |
|
|
|
n − 1 b=1 |
|
b |
|
|
|
|
|
|
|
Заметим, что величина |
|
|
|
∑M (A2j |
− A 2 ) |
|
σ2 (1) = |
1 |
(11.240) |
|
|
|
|
M − 1 j=1 |
|
|
равна обычной полной дисперсии по представительной выборке.
С учетом (11.239) и (11.240) автокорреляционное время и оценку погрешности можно рассчитать следующим образом:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
τ |
|
(r) |
= |
|
r σ2 |
(r) |
; |
|
|
|
|
A |
2σ2 |
(1) |
|
(11.241) |
|
|
|
|
|
|
|
|
|
(δA)2 |
= |
|
r |
σ2 (r). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
|
|
|
|
В |
пределе |
r → ∞ |
|
определенные |
таким |
образом |
автокорреляционное время и погрешность стремятся к своим асимптотическим значениям, совпадающим с (11.236) – (11.237). При увеличении M появляется возможность разбивать данные на части все большей длины r, при этом необходимо, чтобы
количество разбиений также |
было |
велико: n >> 1 . |
В процессе |
расчета строят зависимость |
τA (r) , |
добиваясь ее |
насыщения |
(рис. 11.52). |
|
|
|
Рис. 11.52. С ростом r зависимости τ(r) и σ2(r) выходят на насыщение