Журнал вычислительной математики и математической физики, 2020, T. 60, № 3, стр. 405-412

Метод продолжения по параметру для нелинейной системы скалярных и функциональных уравнений

Н. Б. Мельников 1, Г. В. Парадеженко 1*, Б. И. Резер 2

1 МГУ им. М.В. Ломоносова, факультет ВМК
119991 Москва, Ленинские горы, Россия

2 ИФМ им. М.Н. Михеева УрО РАН
620108 Екатеринбург, ул. С. Ковалевской, 18, Россия

* E-mail: gparadezhenko@cs.msu.ru

Поступила в редакцию 01.07.2019
После доработки 02.09.2019
Принята к публикации 18.11.2019

Полный текст (PDF)

Аннотация

Предложен метод продолжения по параметру для нелинейной системы, состоящей из скалярных и функциональных уравнений. На каждом шаге по параметру для решения системы используется модифицированный метод Гаусса–Зейделя. Преимущество метода состоит в разбиении системы на две части, каждая из которых решается подходящим численным методом с необходимой точностью. Функциональные уравнения решаются самосогласованно на каждом шаге итерационного процесса для системы скалярных уравнений. Предложенный метод применяется для вычисления температурной зависимости магнитных характеристик металлов в динамической теории спиновых флуктуаций. Библ. 18. Фиг. 4. Табл. 1.

Ключевые слова: продолжение по параметру, система нелинейных уравнений, метод Гаусса–Зейделя, температурная зависимость, магнитные характеристики, спиновые флуктуации.

1. ВВЕДЕНИЕ

Одной из проблем при решении систем нелинейных уравнений является выбор начального приближения. Подходящее начальное приближение можно получить методом продолжения по параметру, который восходит к работам [1], [2] (подробнее см., например, [3]–[5]). Метод состоит в решении системы уравнений ${\mathbf{F}}({\mathbf{x}},\lambda ) = 0$ относительно ${\mathbf{x}} \in {{\mathbb{R}}^{n}}$ при значениях параметра $\lambda $ из некоторого интервала. Во многих практических задачах решение системы легко получить при некотором $\lambda $ из этого интервала, которое может служить стартовым значением. Изменяя параметр $\lambda $ с малым шагом и используя в качестве начального приближения решение системы с предыдущего шага, можно вычислить зависимость ${\mathbf{x}}(\lambda )$ (фиг. 1а). При подходе к особой точке, где якобиан $det\left( {\partial {\mathbf{F}}{\text{/}}\partial {\mathbf{x}}} \right)$ системы уравнений обращается в нуль, вычисления замедляются из-за того, что необходимо делать все более мелкий шаг по параметру $\lambda $ для достижения сходимости. В невырожденной особой точке кривая ${{x}_{i}}(\lambda )$ для каждой координаты находится по одну сторону от вертикальной касательной (фиг. 1б). Дальнейшее продолжение по $\lambda $ становится невозможным, поэтому вблизи особой точки необходима замена параметра. Вместо $\lambda $ можно использовать одну из компонент вектора ${\mathbf{x}}$. (Замены параметра можно избежать, если с самого начала использовать в качестве параметра длину дуги [5], [6]. Однако такой подход требует вычисления производных $\partial {\mathbf{F}}{\text{/}}\partial {\mathbf{x}}$ и $\partial {\mathbf{F}}{\text{/}}\partial \lambda $, что не всегда удобно в реальных задачах. По той же причине не всегда удобно использовать переход к системе дифференциальных уравнений по параметру [2].)

Фиг. 1.

Иллюстрация метода продолжения по параметру в окрестности (а) неособой точки, (б) особой точки на кривой $F(x,\lambda ) = 0$ (в случае скалярного $x$).

В настоящей работе метод продолжения по параметру используется для нелинейной системы, состоящей из скалярных и функциональных уравнений. Под скалярными уравнениями мы понимаем алгебраические или трансцендентные уравнения, а в качестве функциональных уравнений могут выступать интегральные или интегродифференциальные уравнения, а также краевые задачи для дифференциальных уравнений. При наличии двух групп переменных в системе нелинейных уравнений: скалярных переменных и неизвестных функций, для решения системы при фиксированном значении параметра удобно использовать методы типа Якоби и Гаусса–Зейделя (см., например, [3]). Преимущество такого подхода заключается в том, что каждую из подсистем: скалярных и функциональных уравнений, можно решать методами, учитывающими специфику задачи. Например, можно использовать методы без производных для решения системы скалярных уравнений и специализированные методы для решения интегральных уравнений или краевых задач. Предлагаемый нами метод решения при фиксированном значении параметра является более экономным вариантом метода Гаусса–Зейделя: решение системы скалярных уравнений вычисляется подходящим итерационным методом, а неизвестные функции обновляются на каждой итерации этого метода из системы функциональных уравнений.

Метод продолжения по параметру применен для вычисления температурной зависимости магнитных характеристик металлов в динамической теории спиновых флуктуаций (ДТСФ) [7]. Мы продолжаем решение системы нелинейных уравнений ДТСФ по температуре от нуля, где уравнения имеют простой вид. При высоких температурах система уравнений ДТСФ становится близка к вырожденной, и ее решение может стать неустойчивым [8]. Предложенный метод продолжения по параметру используется для уменьшения числа итераций при самосогласованном вычислении когерентного потенциала в ДТСФ. Самосогласованное вычисление и его ускорение являются важными проблемами в расчетах электронной структуры в рамках теории функционала плотности (см., например, [9], [10]), в описании процессов агрегационной кинетики (см., например, [11]) и др. В качестве иллюстрации предложенного метода мы вычисляем температурную зависимость магнитных характеристик железа, где вычислительные проблемы наиболее существенны.

Изложение построено следующим образом. В разд. 2 описан модифицированный метод Гаусса–Зейделя для решения нелинейной системы, состоящей из скалярных и функциональных уравнений, при фиксированном значении параметра. В разд. 3 обсуждается вычисление температурной зависимости магнитных характеристик в ДТСФ. В разд. 4 приведены результаты расчетов и их обсуждение. Разд. 5 суммирует результаты работы.

2. МОДИФИЦИРОВАННЫЙ МЕТОД ГАУССА–ЗЕЙДЕЛЯ

Рассмотрим нелинейную систему с параметром $\lambda $, состоящую из скалярных и функциональных уравнений. В результате дискретизации функциональных уравнений мы получаем систему нелинейных уравнений

(1)
${\mathbf{F}}({\mathbf{x}},{\mathbf{y}},\lambda ) = 0,\quad {\mathbf{G}}({\mathbf{x}},{\mathbf{y}},\lambda ) = 0.$
Здесь ${\mathbf{F}} = ({{F}_{1}}, \ldots ,{{F}_{n}})$, где $n$ – число скалярных переменных ${\mathbf{x}}$, а ${\mathbf{G}} = ({{G}_{1}}, \ldots ,{{G}_{N}})$, где $N$ – число значений функций в узлах дискретизации ${\mathbf{y}}$. Размерность ${\mathbf{x}}$ значительно меньше размерности ${\mathbf{y}}$: $n \ll N$. Задача состоит в вычислении зависимостей ${\mathbf{x}}(\lambda )$ и ${\mathbf{y}}(\lambda )$ при изменении $\lambda $ в некотором интервале.

При фиксированном значении параметра $\lambda $ для решения системы нелинейных уравнений с двумя и более группами переменных можно использовать блочные методы Якоби или Гаусса–Зейделя. Блочный метод Якоби для решения системы (1) работает следующим образом. Пусть $({{{\mathbf{x}}}^{k}},{{{\mathbf{y}}}^{k}})$ – результат выполнения $k$-й итерации. Тогда, решая систему уравнений ${\mathbf{F}}({\mathbf{x}},{{{\mathbf{y}}}^{k}},\lambda ) = 0$, находим ${{{\mathbf{x}}}^{{k + 1}}}$, а решая систему ${\mathbf{G}}({{{\mathbf{x}}}^{k}},{\mathbf{y}},\lambda ) = 0$, находим ${{{\mathbf{y}}}^{{k + 1}}}$. Блочный метод Гаусса–Зейделя позволяет использовать новое значение вектора ${\mathbf{x}}$ для вычисления вектора ${\mathbf{y}}$. А именно, ${{{\mathbf{y}}}^{{k + 1}}}$ вычисляется как решение системы уравнений ${\mathbf{G}}({{{\mathbf{x}}}^{{k + 1}}},{\mathbf{y}},\lambda ) = 0$. В обратном методе Гаусса–Зейделя сначала решается система ${\mathbf{G}}({{{\mathbf{x}}}^{k}},{\mathbf{y}},\lambda ) = 0$ относительно ${\mathbf{y}}$, а затем полученное значение ${{{\mathbf{y}}}^{{k + 1}}}$ используется для вычисления ${{{\mathbf{x}}}^{{k + 1}}}$ из системы ${\mathbf{F}}({\mathbf{x}},{{{\mathbf{y}}}^{{k + 1}}},\lambda ) = 0$. Итерационный процесс во всех методах продолжается до тех пор, пока норма невязки в системе (1) не станет меньше заданной точности $\delta $.

Мы используем более экономный вариант обратного метода Гаусса–Зейделя. Стартуя с $({{{\mathbf{x}}}^{k}},{{{\mathbf{y}}}^{k}})$, на следующей итерации:

$\begin{gathered} {\text{решаем}}\;{\text{уравнение}}\;{\mathbf{G}}({{{\mathbf{x}}}^{k}},{\mathbf{y}},\lambda ) = 0\;{\text{с}}\;{\text{точностью}}\;{{\delta }_{y}},\quad {\text{получаем}}\;{{{\mathbf{y}}}^{{k + 1}}}, \hfill \\ {\text{делаем}}\;{\text{один}}\;{\text{шаг}}\;{\text{к}}\;{\text{решению}}\;{\text{уравнения}}\;{\mathbf{F}}({\mathbf{x}},{{{\mathbf{y}}}^{{k + 1}}},\lambda ) = 0,\quad {\text{получаем}}\;{{{\mathbf{x}}}^{{k + 1}}}. \hfill \\ \end{gathered} $
Итерационный процесс продолжается до достижения точности ${{\delta }_{x}}$ в системе ${\mathbf{F}}({\mathbf{x}},{\mathbf{y}},\lambda ) = 0$. Часто переменная ${\mathbf{y}}$ имеет вспомогательный характер, в этом случае значение ${{\delta }_{y}}$ может быть выбрано много большим, чем ${{\delta }_{x}}$.

3. СИСТЕМА НЕЛИНЕЙНЫХ УРАВНЕНИЙ ДТСФ

Основной вклад в магнетизм металлов дают коллективизированные электроны в кристаллической решетке. В ДТСФ электронное взаимодействие описывается как взаимодействие электронов с обменным полем ${{V}_{j}}(\tau )$, которое может принимать случайные значения на разных узлах решетки $j$, а вследствие квантового характера задачи зависит от переменной $\tau $, имеющей размерность времени. Любая магнитная характеристика $A$ в ДТСФ вычисляется в два этапа: сначала вычисляется ее значение $A(V)$ для фиксированной конфигурации поля, а затем вычисляется среднее по всем конфигурациям:

$\bar {A} = \int {A(V)p(V){\text{D}}V} ,$
где ${\text{D}}V$ указывает на функциональное интегрирование. Плотность вероятности обменного поля $p(V)$ вычисляется самосогласованно в гауссовом приближении при каждом значении температуры $T$. В результате для вычисления зависимости магнитных характеристик металлов от температуры в ДТСФ необходимо решить нелинейную систему, состоящую из скалярных и функционального уравнений при каждом $T$ (явный вид уравнений см. в [7]).

В принятых нами обозначениях систему уравнений ДТСФ можно записать следующим образом. Функция ${\mathbf{F}} = ({{F}_{1}},{{F}_{2}},{{F}_{3}},{{F}_{4}})$ задает систему из $n = 4$ скалярных уравнений. Вектор ${\mathbf{x}} = (\mu ,{{\bar {V}}^{z}},{{\zeta }^{x}},{{\zeta }^{z}})$ состоит из четырех величин: химического потенциала $\mu $, среднего поля $\mathop {\bar {V}}\nolimits^z $ и двух среднеквадратических флуктуаций обменного поля ${{\zeta }^{x}} \equiv \left\langle {\Delta V_{x}^{2}} \right\rangle $ и ${{\zeta }^{z}} \equiv \left\langle {\Delta V_{z}^{2}} \right\rangle $. Функциональное уравнение на когерентный потенциал $\Delta {{\Sigma }_{\sigma }}(z)$ имеет вид

(2)
$\Delta {{\Sigma }_{\sigma }}(z) = \frac{{{{g}_{\sigma }}(z){{\zeta }^{z}}}}{{1 + 2\sigma {{{\bar {V}}}_{z}}{{g}_{\sigma }}(z)}} + 2{{g}_{{\bar {\sigma }}}}(z){{\zeta }^{x}},$
где
(3)
${{g}_{\sigma }}(z) = \int {\frac{{\nu (\varepsilon {\text{'}})}}{{z - \sigma {{{\bar {V}}}_{z}} - \Delta {{\Sigma }_{\sigma }}(z) - \varepsilon {\text{'}}}}d\varepsilon {\text{'}}} $
есть локальная функция Грина, которая, в свою очередь, зависит от когерентного потенциала. Здесь $\sigma $ – спиновый индекс, принимающий значения $ \uparrow ,\; \downarrow $ или $ \pm 1$ ($\bar {\sigma } = - \sigma $), а $\nu (\varepsilon {\text{'}})$ есть плотность электронных состояний конкретного металла. Интеграл в правой части (3) определяется как предел из нижней комплексной полуплоскости: $z = \varepsilon - i{{0}^{ + }}$. Поэтому функция Грина и когерентный потенциал комплексны. После дискретизации по переменной $z$ уравнения (2) и (3) задают функцию ${\mathbf{G}} = ({{G}_{1}}, \ldots ,{{G}_{N}})$, где вектор ${\mathbf{y}}$ составлен из значений когерентного потенциала в точках разбиения $\Delta {{\Sigma }_{\sigma }}({{z}_{l}})$, $l = 1, \ldots ,N$. Задача сводится к системе нелинейных уравнений (1), где в качестве параметра $\lambda $ выступает температура $T$. При $T = 0$ флуктуации ${{\zeta }^{x}}$ и ${{\zeta }^{z}}$ и когерентный потенциал $\Delta {{\Sigma }_{\sigma }}(z)$ обращаются в ноль. Система относительно двух оставшихся переменных сравнительно легко решается. Полученные значения используются в качестве стартовых для продолжения по $T$. В окрестности особой точки происходит замена параметра $T$ на среднее поле ${{\bar {V}}_{z}}$. Для решения системы уравнений при фиксированном значении параметра мы используем предложенный в предыдущем разделе модифицированный метод Гаусса–Зейделя.

Решение системы скалярных уравнений ${\mathbf{F}} = 0$ сводится к решению задачи оптимизации

(4)
$f({\mathbf{x}}) = \sum\limits_{i = 1}^4 \,c_{i}^{2}F_{i}^{2}({\mathbf{x}},{\mathbf{y}},T) \to \mathop {min}\limits_{\mathbf{x}} ,\quad {\mathbf{a}} \leqslant {\mathbf{x}} \leqslant {\mathbf{b}},$
с подходящими масштабирующими коэффициентами ${{c}_{i}}$ и покоординатными ограничениями на ${\mathbf{x}}$. Задача оптимизации (4) очень чувствительна к конечно-разностным аппроксимациям. Попытки использовать квазиньютоновские методы дают неудовлетворительные результаты [8]. Поэтому мы решаем (4) методами оптимизации без производных [12]. В нашем программном комплексе [13] используются три таких метода оптимизации: симплекс-метод Нелдера–Мида [14], метод покоординатного линейного поиска [15] и метод доверительных областей с квадратичной аппроксимацией [16].

Для решения системы функциональных уравнения ${\mathbf{G}} = 0$ мы используем метод простой итерации (индекс l у аргумента $z$ для краткости опускаем):

(5)
$\Delta \Sigma _{\sigma }^{{k + 1}}(z)\frac{{g_{\sigma }^{k}(z){{\zeta }^{z}}}}{{1 + 2\sigma {{{\bar {V}}}_{z}}g_{\sigma }^{k}(z)}} + 2g_{{\bar {\sigma }}}^{k}(z){{\zeta }^{x}},$
где функция Грина на $k$-м шаге вычисляется по формуле

(6)
$g_{\sigma }^{k}(z) = \int {\frac{{\nu (\varepsilon {\text{'}})}}{{z - \sigma {{{\bar {V}}}_{z}} - \Delta \Sigma _{\sigma }^{k}(z) - \varepsilon {\text{'}}}}d\varepsilon {\text{'}}.} $

Численные методы для преобразования Гильберта, интегралов с функцией Ферми и ее производной, интегралов по зоне Бриллюэна и другие методы, необходимые для вычислений в ДТСФ, описаны в [7, приложение H ].

4. ЧИСЛЕННЫЕ РЕЗУЛЬТАТЫ

Ранее в ДТСФ [7] функции $\Delta {{\Sigma }_{\sigma }}(z)$ и ${{g}_{\sigma }}(z)$ вычислялись по формулам (5) и (6), но лишь с одной итерацией, а в качестве начального приближения использовалось значение $\Delta \Sigma _{\sigma }^{0}(z) = 0$ при всех $T$. На фиг. 2a приведены соответствующие результаты расчета для железа с точностью ${{\delta }_{x}} = {{10}^{{ - 8}}}$. Входные данные для железа взяты из работы [17], расчет выполнен в гауссовом приближении ДТСФ, температура приведена в единицах экспериментальной температуры Кюри $T_{C}^{{\exp }} = 1044$ K. При высоких температурах возникает невырожденная особая точка системы. Если продолжать решение по температуре, возникает скачок намагниченности из ферромагнитного состояния (${{m}^{z}} \ne 0$) в парамагнитное состояние $({{m}^{z}} = 0)$, а при уменьшении температуры происходит обратный скачок из пара- в ферромагнитное состояние, но при меньшем значении температуры (в полном согласии с результатами работы [8]). Поэтому вблизи особой точки мы заменяем параметр $T$ на среднее поле ${{\bar {V}}_{z}}$ (которое пропорционально намагниченности ${{m}^{z}}$). За счет этого нам удается построить промежуточную ветвь решения между ферромагнитным и парамагнитным решениями. Таким образом, в данном расчете имеет место температурный гистерезис, вопреки эксперименту.

Фиг. 2.

Намагниченность ${{m}^{z}}{\text{/}}m_{0}^{z}$ (), спиновые флуктуации ${{\zeta }^{x}}$ (–··–) и ${{\zeta }^{z}}$ (– –) в единицах $\bar {V}_{z}^{2}(0)$ для железа, вычисленные в гауссовом приближении ДТСФ. Когерентный потенциал вычислен самосогласованно c нулевым начальным приближением при каждой температуре (a) с одной итерацией по $\Delta {{\Sigma }_{\sigma }}(z)$ и (б) до достижения заданной точности по $\Delta {{\Sigma }_{\sigma }}(z)$. Стрелки указывают скачки намагниченности при продолжении по температуре.

В рамках метода, предложенного в настоящей работе, функция $\Delta {{\Sigma }_{\sigma }}(z)$ вычисляется самосогласованно до достижения необходимой точности, то есть уравнения (2) и (3) решаются с заданной точностью ${{\delta }_{y}}$. Для этого мы выполняем итерации по формулам (5) и (6) до тех пор, пока не выполнится критерий сходимости

(7)
$\mathop {max}\limits_\sigma \mathop {max}\limits_z \left| {\Delta \Sigma _{\sigma }^{{k + 1}}(z) - \Delta \Sigma _{\sigma }^{k}(z)} \right| \leqslant {{\delta }_{y}}.$
На фиг. 2б приведены результаты расчетов с самосогласованием по $\Delta {{\Sigma }_{\sigma }}(z)$ до достижения точности ${{\delta }_{y}} = {{10}^{{ - 2}}}$ (расчеты с меньшими значениями ${{\delta }_{y}}$ не меняют результатов для ${\mathbf{x}}$ в пределах выбранной точности ${{\delta }_{x}} = {{10}^{{ - 8}}}$). Как видно из фиг. 2б, самосогласованное решение уравнений ДТСФ устраняет температурный гистерезис и приводит к непрерывному фазовому переходу из ферро- в парамагнитное состояние. Таким образом, самосогласованный расчет до достижения необходимой точности дает правильный ход температурной зависимости без использования членов старших порядков в разложении свободной энергии [18].

Сходимость метода решения ${\mathbf{G}} = 0$ значительно ускоряется, если использовать в качестве начального приближения для ${\mathbf{y}}$ значение с предыдущего шага по параметру так же, как это делается для скалярных переменных ${\mathbf{x}}$. Для оценки скорости сходимости метода простых итераций при самосогласованном вычислении $\Delta {{\Sigma }_{\sigma }}(z)$ до достижения заданной точности, мы подсчитываем среднее число итераций (5) на каждом шаге по параметру (температуре или среднему полю). Среднее число итераций ${{N}_{y}}$ определяется как отношение числа итераций (5) к числу вычислений целевой функции ${{N}_{f}}$ в задаче минимизации (4). Как видно из фиг. 3, если начинать итерации (5) с нулевого начального приближения, величина ${{N}_{y}}$ увеличивается с ростом температуры. Так, ${{N}_{y}}$ возрастает с 4 до 7 итераций в парамагнитной области. Это связано с тем, что чем выше температура, тем больше функция $\Delta {{\Sigma }_{\sigma }}(z)$ отличается от нуля и тем больше итераций требуется для ее вычисления. Если использовать значение с предыдущего шага по параметру в качестве начального приближения для $\Delta {{\Sigma }_{\sigma }}(z)$, величина ${{N}_{y}}$ сохраняется примерно на уровне одной итерации при всех температурах (фиг. 3). Этот результат показывает, что продолжение функции $\Delta {{\Sigma }_{\sigma }}(z)$ по параметру позволяет устранить гистерезис с помощью всего одной итерации при решении функционального уравнения.

Фиг. 3.

Среднее число итераций ${{N}_{y}}$ при решении функционального уравнения (2) на когерентный потенциал на каждом шаге по температуре для железа. Сравниваются значения для двух вариантов расчета: с начальным приближением ${{{\mathbf{y}}}^{0}} = 0$ при всех значениях параметра и с начальным приближением ${{{\mathbf{y}}}^{0}}(T)$ с предыдущего шага по параметру.

Для проверки численных результатов мы провели расчеты для железа с использованием трех различных солверов для оптимизации без вычисления производных: солвера BCPOL из библиотеки IMSL, реализующего метод Нелдера–Мида [14]; солвера SDBOX из библиотеки DFL, реализующего метод покоординатного линейного поиска [15]; солвера BOBYQA, реализующего метод доверительных областей [16]. Для каждого из солверов точность по целевой функции в задаче (4) выбрана равной ${{\delta }_{f}} = {{10}^{{ - 11}}}$. Результаты всех трех солверов дают одинаковые значения (с точностью до 4–5 значащих цифр). В табл. 1 приведены результаты для магнитных характеристик железа, а также число вычислений целевой функции ${{N}_{f}}$ в зависимости от температуры. Как видно из таблицы, солвер BOBYQA требует в несколько раз меньшее число вычислений целевой функции по сравнению с двумя другими. Выбор начального приближения ${{{\mathbf{y}}}^{0}}$ с предыдущего значения параметра и солвера BOBYQA позволяют получить выигрыш в быстродействии более 20 раз по сравнению с наиболее медленным вариантом, использующим начальное приближение ${{{\mathbf{y}}}^{0}} = 0$ и солвер SDBOX (фиг. 4).

Таблица 1.  

Результаты расчетов температурной зависимости магнитных характеристик железа, полученные в ДТСФ с самосогласованным вычислением когерентного потенциала до достижения заданной точности. Для сравнения солверов BCPOL, SDBOX и BOBYQA, используемых для решения подзадачи (4), приведено число вычислений целевой функции ${{N}_{f}}$ при каждой температуре

$T{\text{/}}T_{C}^{{\exp }}$ ${{m}^{z}}{\text{/}}m_{0}^{z}$ ${{\zeta }^{x}}$ ${{\zeta }^{z}}$ ${{N}_{f}}$
BCPOL SDBOX BOBYQA
0.081 0.997 0.004 0.001 309 443 49
0.243 0.983 0.020 0.004 350 349 71
0.404 0.963 0.043 0.010 277 322 58
0.566 0.939 0.068 0.016 293 344 58
0.728 0.912 0.095 0.024 270 441 57
0.889 0.880 0.124 0.034 271 422 64
1.051 0.843 0.155 0.047 267 564 68
1.213 0.795 0.191 0.065 275 507 62
Фиг. 4.

Ускорение программного комплекса [13] за счет выбора солвера при трех вариантах самосогласованного расчета: начальное приближение ${{{\mathbf{y}}}^{0}} = 0$ при всех значениях параметра, начальное приближение ${{{\mathbf{y}}}^{0}}(T)$ с предыдущего шага по параметру и начальное приближение ${{{\mathbf{y}}}^{0}}(T)$ с одной итерацией по ${\mathbf{y}}$ на каждом шаге модифицированного метода Гаусса–Зейделя.

5. ЗАКЛЮЧЕНИЕ

Метод продолжения по параметру использован для решения нелинейной системы, состоящей из скалярных и функциональных уравнений. Для решения системы при фиксированном значении параметра предложен модифицированный метод Гаусса–Зейделя: функциональное уравнение решается самосогласованно на каждом шаге итерационного метода решения системы скалярных уравнений. Преимущество такого подхода состоит в том, что система разбивается на две части по группам переменных, и для решения каждой из частей используется подходящий численный метод, который зависит от конкретной задачи. В частности, наш метод применим в задачах, где вычисление частных производных приводит к потере точности.

Предложенный метод продолжения по параметру применен для вычисления температурной зависимости магнитных характеристик в ДТСФ и проиллюстрирован на примере железа, где вычислительные трудности наиболее существенны. При помощи замены параметра в расчете с одной итерацией по когерентному потенциалу получена неустойчивая ветвь решения между ферро- и парамагнитной ветвями решения. Показано, что самосогласованное решение функционального уравнения на когерентный потенциал устраняет гистерезис и дает правильный ход температурной зависимости магнитных характеристик железа. Использование современных методов оптимизации без производных позволяет быстро и эффективно решать систему скалярных уравнений в ДТСФ. А продолжение когерентного потенциала по параметру значительно ускоряет сходимость и позволяет всего один раз обновлять решение функционального уравнения на каждом шаге итерационного процесса по скалярным переменным.

Авторы признательны участникам международной конференции “Современные проблемы вычислительной математики и математической физики”, посвященной 100-летию со дня рождения академика А.А. Самарского, за доброжелательное обсуждение результатов и полезные замечания. Авторы также признательны рецензенту за полезные замечания.

Список литературы

  1. Lahaye E. Une methode de resolution d’une categorie d’equations transcendantes // C. R. Acad. Sci. Paris. 1934. V. 198 P. 1840–1842.

  2. Давиденко Д.Ф. Об одном новом методе численного решения систем нелинейных уравнений // Докл. АН СССР. 1953. Т. 88. С. 601–602.

  3. Ортега Д., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. М.: Мир, 1975.

  4. Allgower E., Georg K. Introduction to Numerical Continuation Methods. Philadelphia: SIAM, 1987.

  5. Шалашилин В.И., Кузнецов Е.Б. Метод продолжения решения по параметру и наилучшая параметризация в прикладной математике и механике. М.: Эдиториал УРСС, 1999.

  6. Dickson K.I., Kelley C.T., Ipsen I.C.F., Keverkidis I.G. Condition Estimates for Pseudo-Arclength Continuation // SIAM J. Numer. Anal. 2007. V. 45. P. 263–276.

  7. Melnikov N.B., Reser B.I. Dynamic Spin-Fluctuation Theory of Metallic Magnetism. Berlin: Springer, 2018.

  8. Reser B.I., Melnikov N.B. Problem of temperature dependence in the dynamic spin-fluctuation theory for strong ferromagnets // J. Phys.: Condens. Matter. 2008. V. 20. P. 285205.

  9. Kollar J., Vitos L., Skriver H. From ASA Towards the Full Potential // Electronic Structure and Physical Properies of Solids. Lecture Notes in Physics. Eds. Dreysse H. Berlin: Springer, 1999.

  10. Lin L., Yang C. Elliptic Preconditioner for Accelerating the Self-Consistent Field Iteration in Kohn–Sham Density Functional Theory // SIAM J. Sci. Comput. 2013. V. 35. P. S277–S298.

  11. Matveev S.A., Stadnichuk V.I., Tyrtyshnikov E.E., Smirnov A.P., Ampilogova N.V., Brilliantov N.V. Anderson acceleration method of finding steady-state particle size distribution for a wide class of aggregation-fragmentation models // Comput. Phys. Commun. 2018. V. 224. P. 154–163.

  12. Rios L.M., Sahinidis N.V. Derivative-free optimization: A review of algorithms and comparison of software implementations // J. Glob. Optim. 2013. V. 56. P. 1247–1293.

  13. Резер Б.И., Парадеженко Г.В., Мельников Н.Б. Программный комплекс “MAGPROP 2.0”: Федеральная служба по интеллектуальной собственности (Роспатент), свидетельство № 2018617208. 2018.

  14. Nelder J.A., Mead R.A Simplex Method for Function Minimization // The Computer Journal. 1965. V. 7. P. 308–313.

  15. Lucidi S., Sciandrone M. A Derivative-Free Algorithm for Bound Constrained Optimization // Comput. Optim. Appl. 2002. V. 21. P. 119–142.

  16. Powell M.J.D. The BOBYQA algorithm for bound constrained optimization without derivatives // Technical report. Department of Applied Mathematics and Theoretical Physics, University of Cambridge. 2009.

  17. Melnikov N.B., Reser B.I., Paradezhenko G.V. Magnetic short-range order in Fe and Ni above the Curie temperature // J. Magn. Magn. Mater. 2019. V. 473. P. 296–300.

  18. Melnikov N.B., Reser B.I., Grebennikov V.I. Spin-fluctuation theory beyond Gaussian approximation // J. Phys. A: Math. Theor. 2010. V. 43. P. 195004.

Дополнительные материалы отсутствуют.