Программирование, 2021, № 2, стр. 56-65

ПРОЦЕДУРЫ ПОИСКА УСЕЧЕННЫХ РЕШЕНИЙ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ С БЕСКОНЕЧНЫМИ И УСЕЧЕННЫМИ СТЕПЕННЫМИ РЯДАМИ В РОЛИ КОЭФФИЦИЕНТОВ

С. А. Абрамов a*, А. А. Рябенко a**, Д. Е. Хмельнов a***

a Федеральный исследовательский центр “Информатика и управление” РАН, Вычислительный центр РАН им. А.А. Дородницына
Москва, ул. Вавилова 40, Россия

* E-mail: sergeyabramov@mail.ru
** E-mail: anna.ryabenko@gmail.com
*** E-mail: dennis_khmelnov@mail.ru

Поступила в редакцию 01.08.2020
После доработки 01.09.2020
Принята к публикации 02.09.2020

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

Аннотация

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

1. ВВЕДЕНИЕ

В [1] был предложен алгоритм построения формальных экспоненциально-логарифмических решений линейных обыкновенных дифференциальных уравнений, в роли коэффициентов которых выступают усеченные степенные ряды вида a(x) + + $O({{x}^{{t + 1}}})$, где a(x) – полином, $t \geqslant dega(x)$. Вместе с алгоритмом была описана и его предварительная реализация, выполненная с целью проверки работоспособности предложенного алгоритма. Статья [1] была продолжением статей [2, 3], где также рассматривалось построение решений уравнений с усеченными коэффициентами.

Как уже говорилось в [3], А.Д. Брюно в [4] предложил метод, также основанный на многоугольнике Ньютона, который для рядов, входящих в решения, позволяет найти любое число членов. Уравнения, в общем случае, – нелинейные, заданные полностью с помощью полностью (явно) заданных аналитических функций одной или нескольких переменных. Очевидно, это другая задача.

Ниже речь идет о реализации предложенных в [1]–[3] алгоритмов для более общего случая: коэффициенты уравнения могут быть вперемешку усеченными и полностью заданными рядами. Предлагается пакет процедур с унифицированным интерфейсом, ориентированным на пользователя, применяющего в своей работе компьютерно-алгебраическое программное обеспечение. Сами процедуры дают, в сравнении с их предварительными вариантами, больше информации о решениях. Это будет продемонстрировано в разд. 6.

2. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ

Пусть K – алгебраически замкнутое поле характеристики 0. Для кольца полиномов от $x$ над K мы в дальнейшем используем обычное обозначение $K[x]$. Кольцо формальных степенных рядов от x над K обозначается через K[[x]], поле формальных лорановых рядов – через $K((x))$.

Положим $\theta = x\tfrac{d}{{dx}}$. Пусть дано линейное обыкновенное дифференциальное уравнение

(1)
${{a}_{r}}(x){{\theta }^{r}}y + {{a}_{{r - 1}}}(x){{\theta }^{{r - 1}}}y + \; \cdots \; + {{a}_{0}}(x)y = 0,$
где y – неизвестная функция. Уравнение (1) может быть записано как $L(y) = 0$, где оператор L имеет вид

(2)
${{a}_{r}}(x){{\theta }^{r}} + {{a}_{{r - 1}}}(x){{\theta }^{{r - 1}}} + \; \cdots \; + {{a}_{0}}(x).$

К настоящему времени достаточно полно изучен случай, когда в роли коэффициентов уравнения выступают формальные степенные ряды от x над K: ${{a}_{i}}(x) \in K\left[ {\left[ x \right]} \right]$, $i = 0,\; \ldots ,\;r$.

Определение 1. Формальными экспоненциально-логарифмическими решениями уравнения (1) называются решения вида

(3)
${{e}^{{Q(x)}}}{{x}^{\lambda }}w({{x}^{{1/q}}}),$
где $Q(x) \in K[{{x}^{{ - 1/q}}}]$, $q \in {{\mathbb{Z}}_{{ > 0}}}$, $\lambda \in K$,
$w(x) = \sum\limits_{s = 0}^m {{{w}_{s}}} (x)l{{n}^{s}}x,$
${{w}_{s}}(x) \in K((x))$, $s = 0,\; \ldots ,\;m$, и ${{w}_{m}}(x) \ne 0$. При этом ${{x}^{\lambda }}w({{x}^{{1/q}}})$ называется регулярной частью, $Q(x)$показателем экспоненциальной части, qиндексом ветвления решения (3).

При q = 1 и $Q(x) \in K$ решение (3) называется формальным регулярным, в противном случае – нерегулярным. При q = 1, $Q(x) \in K$, $\lambda \in \mathbb{Z}$ и $w(x) \in K((x))$ формальное регулярное решение (3) называется лорановым. В дальнейшем слово “формальный” мы опускаем, но подразумеваем.

Пусть ${{a}_{r}}(x) \ne 0$, т.е. порядок уравнения равен r. Известно (см., например, [5, гл. V, 6–8]), что существует r линейно независимых решений вида (3) для уравнения (1).

В [6]–[9] предложены алгоритмы нахождения для r линейно независимых решений вида (3) их индекса ветвления q и показателя экспоненциальной части Q(x).

Определение 2. Для ненулевого лоранова ряда $a(x) = \sum {{{a}_{j}}} {{x}^{j}}$K((x)) его валюация ${\text{val}}a(x)$ определяется как $min{\text{\{ }}j|{{a}_{j}} \ne 0{\text{\} }}$, при этом val0 = ∞. Валюация оператора (2) считается равной минимуму валюаций всех его коэффициентов:

${\text{val}}L = \mathop {min}\limits_{0 \leqslant i \leqslant r} {\text{\{ val}}{{a}_{i}}(x){\text{\} }}.$

Пусть ${\text{val}}L = 0$. Известно (см., например, [10]), что для построения индекса ветвления q и показателя экспоненциальной части $Q(x)$ для всех $r$ линейно независимых решений уравнения $L(y) = 0$ достаточно знать значения r ${\text{val}}{{a}_{r}}(x)$ начальных коэффициентов всех ${{a}_{i}}(x)$, $i = 0,\;1,\; \ldots ,\;r$.

Определение 3. Пусть $a(x) = \sum {{{a}_{j}}} {{x}^{j}} \in K((x))$ и пусть $t \in \mathbb{Z}$. Если $t \geqslant {\text{val}}a(x)$, выражение

${{a}^{{\left\langle t \right\rangle }}}(x) = \sum\limits_{j = {\text{val}}a(x)}^t {{{a}_{j}}} {{x}^{j}} + O({{x}^{{t + 1}}})$
будем называть t-усечением ряда a(x), число $t$степенью усечения ряда, ${\text{val}}a(x)$валюацией усечения. Если же $t < {\text{val}}a(x)$ (в частности, если $a(x)$ = 0), то будем называть его t-усечением выражение ${{a}^{{\left\langle t \right\rangle }}}(x)\, = \,O({{x}^{{t + 1}}})$, число $t$степенью усечения, t + 1 – валюацией усечения.

Алгоритмы, предложенные в [5, гл. IV, 11, 12, гл. II, VIII], можно применять для построения регулярной части решения с заданной степенью усечения входящих в $w(x)$ рядов. Для этого построения также достаточно знать некоторое конечное число начальных коэффициентов всех ${{a}_{i}}(x)$ ([13, Prop. 1]).

Пусть в качестве коэффициентов уравнения (1) выступают формальные степенные ряды, заданные алгоритмически, т.е. для любого коэффициента ${{a}_{i}}(x) = \sum\nolimits_{j = 0}^\infty {{{a}_{{ij}}}} {{x}^{j}}$ известен некоторый алгоритм ${{\Xi }_{i}}$, вычисляющий для $j \in {{\mathbb{Z}}_{{ \geqslant 0}}}$ значение ${{\Xi }_{i}}(j) = {{a}_{{ij}}}$. Такие ряды мы будем называть полностью заданными. В этом случае для любого неотрицательного целого k с помощью соответствующих алгоритмов из [49, 11, 12] можно построить для каждого из $r$ линейно независимых решений вида (3) его k-усечение:

${{e}^{{Q(x)}}}{{x}^{\lambda }}{{w}^{{\left\langle k \right\rangle }}}({{x}^{{1/q}}}),$
где
${{w}^{{\left\langle k \right\rangle }}}(x) = \sum\limits_{s = 0}^m {w_{s}^{{\left\langle k \right\rangle }}} (x)l{{n}^{s}}x$
и ${\text{val}}{{w}_{0}}(x) = 0$. Система компьютерной алгебры Maple предлагает процедуру DEtools:-formal_sol для решения этой задачи применительно к уравнению с полиномиальными коэффициентами. Для уравнения (а также для систем уравнений) с коэффициентами, в роли которых выступают полностью заданные ряды, можно использовать процедуры Maple-пакета, представленного в [14].

3. УРАВНЕНИЕ С УСЕЧЕННЫМИ КОЭФФИЦИЕНТАМИ

Пусть часть коэффициентов уравнения (1) – полностью заданные ряды, часть – усеченные. Каждый усеченный коэффициент ${{a}_{i}}(x)$ будем записывать как

(4)
${{a}_{i}}(x) = \sum\limits_{j = 0}^{{{t}_{i}}} {{{a}_{{ij}}}} {{x}^{j}} + O({{x}^{{{{t}_{i}} + 1}}}),$
где ${{t}_{i}} \geqslant - 1$ (при ${{t}_{i}} = - 1$ сумма в (4) равна 0).

Определение 4. Продолжением уравнения (1) будем называть уравнение $\mathcal{L}(y) = 0$ с оператором

$\mathcal{L} = \sum\limits_{i = 0}^r {{{b}_{i}}} (x){{\theta }^{i}} \in K[[x]][\theta ],$
где

${{b}_{i}}(x) = {{a}_{i}}(x)$ для полностью заданного ai(x),

$b_{i}^{{\left\langle {{{t}_{i}}} \right\rangle }}(x) = {{a}_{i}}(x)$ для усеченного ai(x),

$i = 0,\; \ldots ,\;r$.

Определение 5. Пусть уравнение $L(y) = 0$ с полностью заданными и усеченными коэффициентами имеет вид (1). Усеченный лоранов ряд

(5)
${{w}^{{\left\langle k \right\rangle }}}(x) = \sum\limits_{j = {{j}_{0}}}^k {{{w}_{j}}} {{x}^{j}} + O({{x}^{{k + 1}}}),$
в котором ${{j}_{0}},k \in \mathbb{Z}$, $k \geqslant {{j}_{0}}$ и ${{w}_{{{{j}_{0}}}}} \ne 0$, мы называем усеченным лорановым решением уравнения $L(y)$ = 0, коль скоро любое уравнение $\mathcal{L}(y) = 0$, являющееся продолжением $L(y) = 0$, имеет решение $\tilde {w}(x)$ ∈ ∈ K((x)), усечением которого является (5):

${{\tilde {w}}^{{\left\langle k \right\rangle }}}(x) = {{w}^{{\left\langle k \right\rangle }}}(x).$

Выражение

(6)
${{x}^{\lambda }}\sum\limits_{s = 0}^m {w_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}} (x)l{{n}^{s}}x,$
в котором
(7)
$w_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}(x) = \sum\limits_{j = {{j}_{s}}}^{{{k}_{s}}} {{{w}_{{s,j}}}} {{x}^{j}} + O({{x}^{{{{k}_{s}} + 1}}}),$
${{j}_{s}},{{k}_{s}} \in \mathbb{Z}$, ${{k}_{s}} \geqslant {{j}_{s}}$, $s = 0,\; \ldots ,\;m$, и ${{w}_{{m,{{j}_{m}}}}} \ne 0$, мы называем усеченным регулярным решением уравнения $L(y) = 0$, коль скоро любое уравнение $\mathcal{L}(y) = 0$, являющееся продолжением $L(y) = 0$, имеет регулярное решение ${{x}^{\lambda }}\tilde {w}(x)$, усечением которого является (6), т.е.
(8)
$\tilde {w}(x) = \sum\limits_{s = 0}^m {} {{\tilde {w}}_{s}}(x)l{{n}^{s}}x,$
где $\tilde {w}_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}(x) = w_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}(x)$, $s = 0,\;1,\; \ldots ,\;m$.

Пусть $Q(x) \in K[{{x}^{{ - 1/q}}}]$, $q \in {{\mathbb{Z}}_{{ > 0}}}$, $\lambda \in K$, усеченные ряды ${{w}^{{\left\langle {{{k}_{s}}} \right\rangle }}}(x)$ имеют вид (7), $s = 0,1, \ldots ,m$, и ${{w}_{{m,{{j}_{m}}}}} \ne 0$. Для уравнения $L(y) = 0$ выражение

(9)
${{e}^{{Q(x)}}}{{x}^{\lambda }}\sum\limits_{s = 0}^m {w_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}} ({{x}^{{1/q}}})l{{n}^{s}}x$
мы называем решением с усеченной регулярной частью, коль скоро любое уравнение $\mathcal{L}(y) = 0$, являющееся продолжением $L(y) = 0$, имеет решение ${{e}^{{Q(x)}}}{{x}^{\lambda }}\tilde {w}({{x}^{{1/q}}})$, усечением которого является (9), т.е. $\tilde {w}(x)$ имеет вид (8) и выполняется $\tilde {w}_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}(x)$ = = $w_{s}^{{\left\langle {{{k}_{s}}} \right\rangle }}(x)$, $s = 0,\;1,\; \ldots ,\;m$.

В случае, если все коэффициенты уравнения суть полностью заданные ряды, то, как было сказано выше, существуют алгоритмы и их реализация в системах компьютерной алгебры построения решений любого заданного усечения.

В случае уравнения, все коэффициенты которого являются усеченными рядами, усеченные решения содержат ряды, степень усечения которых не может быть произвольным числом. При этом, в [13, 15] показано, что возможно построение усеченных решений с максимальной степенью усечения входящих рядов. В названных статьях представлены алгоритмы решения этой задачи и их реализация в Maple.

Для “смешанного” случая в [16, Prop. 1] показано, что задача построения усеченных решений с максимальным числом входящих в решение рядов алгоритмически неразрешима, но и усеченное решение любой степени не всегда существует.

4. ОПРЕДЕЛЯЮЩИЙ ПОЛИНОМ

Пусть оператор $L$ вида (2) имеет усеченные и полностью заданные коэффициенты и пусть выполняется

(10)
$\mathop {min}\limits_{0 \leqslant i \leqslant r} {\text{\{ val}}{{a}_{i}}(x){\text{\} }} \leqslant \mathop {min}\limits_{0 \leqslant i \leqslant r} {{t}_{i}},$
где для каждого полностью заданного коэффициента ${{a}_{i}}(x)$ полагаем ${{t}_{i}} = \infty $. Обозначим через $\gamma = mi{{n}_{{0 \leqslant i \leqslant r}}}{\text{\{ val}}{{a}_{i}}(x){\text{\} }}$. Выражение
${{I}_{L}}(n) = \sum\limits_{i = 0}^r \,{{a}_{{i,\gamma }}}{{n}^{i}}$
называется определяющим полиномом уравнения $L(y) = 0$. Очевидно, что ${{I}_{L}}(n) \in K[n]$. В [2] показано, что если IL(n) имеет целые корни, то для $L(y) = 0$ существуют усеченные лорановы решения, в частности решения вида (5), где ${{j}_{0}} = k$ и ${{j}_{0}}$ – максимальный целый корень IL(n). Иначе, никакое продолжение уравнения $L(y) = 0$ не имеет лорановых решений.

В [3] показано, что если $deg{{I}_{L}}(n) > 0$, то для $L(y) = 0$ существуют усеченные регулярные решения, в частности решения вида (6), где m = 0, ${{j}_{0}} = 0$, ${{k}_{0}} = 0$ и $\lambda $ – каждый из таких корней IL(n), что ${{I}_{L}}(\lambda + n) \ne 0$ для всех $n \in {{\mathbb{Z}}_{{ > 0}}}$. При отсутствии корней, т.е. ${{I}_{L}}(n) \in K{\backslash \{ }0{\text{\} }}$, никакое продолжение уравнения $L(y) = 0$ не имеет регулярных решений.

Если условие (10) не выполняется, то будем говорить, что определяющий полином для $L(y) = 0$ не существует. В [1, предл. 2] показано, что в этом случае для $L(y) = 0$ не существует усеченных лорановых и регулярных решений. Но если для некоторого $i$ ($0 < i \leqslant r$) выполняется ${\text{val}}{{a}_{i}}(x) = \gamma $, то каждое продолжение имеет по крайней мере $i$ линейно независимых регулярных решений.

5. ПОРОГ УРАВНЕНИЯ

В [16] в связи с построением усеченных лорановых решений введено понятие порога уравнения. Это понятие перенесем на случаи усеченных регулярных решений и решений с усеченной регулярной частью.

Определение 6. Пусть уравнение $L(y) = 0$ с полностью заданными и усеченными коэффициентами имеет вид (1). Рассмотрим множество $N$ всех таких целых значений k, что $L(y) = 0$ имеет решение с усеченной регулярной частью (9) с ${{j}_{m}}$ = 0 и при этом максимальная степень усечения входящих в решение рядов равна k = $max{\text{\{ }}{{k}_{0}},{{k}_{1}}$, ..., km}. Пусть множество N не пусто и имеет максимальный элемент. Этот элемент мы назовем порогом исходного уравнения для экспоненциально-логарифмических решений. Если в множестве N содержатся сколь угодно большие целые числа, то полагаем порог уравнения равным $\infty $. Если же это множество пусто и выполняется условие (10), то считаем, что порог равен $ - \infty $. Для пустого $N$ при невыполнении (10) будем считать, что значение порог не определено.

Условие ${{j}_{m}} = 0$ в этом определении обеспечивает однозначность значения порога уравнения.

Аналогично вводятся понятия порога уравнения для регулярных решений и порога уравнения для лорановых решений.

Пусть для $L(y) = 0$ существует определяющий полином IL(n). Если IL(n) имеет целые корни, то порог уравнения для лорановых решений определен и его значение (целое число или $\infty $) не меньше максимального целого корня IL(n). При этом же условии порог уравнения для регулярных решений и решений с усеченной регулярной частью – неотрицательное целое или $\infty $.

Предложение 1. Невозможен алгоритм, позволяющий по произвольному уравнению $L(y) = 0$ вида (1) с полностью заданными и усеченными коэффициентами, выяснять, будет ли конечным или же бесконечным его порог как для лорановых, так и для регулярных, экспоненциально-логарифмических решений.

Доказательство. В [16, предл. 1] это утверждение доказано для порога лорановых решений. Из того, что лораново решение является частным случаем регулярного и экспоненциально-логарифмического решений, следует общее утверждение.

Предложение 2. Пусть $L(y) = 0$уравнение вида (1) и пусть $d \in \mathbb{Z}$. Алгоритмически может быть проверено, верно ли, что значение порога определено для данного уравнения и это значение меньше, чем $d$; при положительном ответе порог $h$ данного уравнения может быть найден. Дополнительно могут быть построены все такие решения с усеченной регулярной частью (в частности, усеченные лорановы, регулярные решения), степени усечения которых не превосходят $h$.

Доказательство. Для лорановых усеченных решений в [16, предл. 1] это утверждение доказано для случая, когда выполняется условие (10). Если (10) не выполняется, то для $L(y) = 0$ существуют как продолжения, имеющие лорановы решения, так и продолжения, их не имеющие, т.е. значение порога не определено.

Для регулярных усеченных решений при выполнении условия (10) доказательство аналогично случаю лорановых усеченных решений. Если (10) не выполняется, то не существует усеченных регулярных решений (см. [1, предл. 2]), более того, если некоторое продолжение уравнения $L(y)$ = 0 не имеет регулярных решений, то найдется такое продолжение, для которого имеются регулярные решения.

В [1] приведен алгоритм построения всех таких показателей Q(x) экспоненциальной части и соответствующих индексов ветвления q, для которых существуют решения с усеченной регулярной частью. Для каждых построенных $Q(x)$, q получим новое уравнение ${{L}_{1}}(z) = 0$ с помощью подстановки

$y(x) = {{e}^{{Q({{t}^{q}})}}}z(t),\quad x = {{t}^{q}}$
в уравнение $L(y) = 0$. Каждый коэффициент нового уравнения может быть как полностью заданным, так и усеченным рядом. Для ${{L}_{1}}(z) = 0$ решаем задачу поиска порога для усеченных регулярных решений при заданном d. Если для нового уравнения не существует определяющего полинома (т.е. значение порога не определено), то полагаем $h(Q,q) = FAIL$. Если d превосходит порог, то получено значение порога, полагаем $h(Q,q)$ ему равным, иначе полагаем $h(Q,q) = d$.

Для исходного уравнения решим так же задачу поиска порога регулярных решений. Обозначим результат через h(0, 1). Тогда h(0, 1) равен либо FAIL, либо d, либо значению порога для регулярных решений (целое число или $ - \infty $).

Если для каких-либо $Q(x)$, q (включая $Q(x) = 0$, $q = 1$) получим $h(Q,q) = d$, то порог для решений с усеченной регулярной частью не найден. Если для всех $Q(x)$, q (включая $Q(x) = 0$, q = 1) получено $h(Q,q) = FAIL$, то понятие порога исходного уравнения для решений с усеченной регулярной частью не определено. Иначе порогом является максимальное значение из всех тех $h(Q,q)$, значение которых не равно FAIL.

6. РЕШЕНИЕ С УСЕЧЕННЫМ ПОКАЗАТЕЛЕМ ЭКСПОНЕНЦИАЛЬНОЙ ЧАСТИ

Определение 7. Пусть уравнение $L(y) = 0$ с полностью заданными и усеченными коэффициентами имеет вид (1). Пусть

$Q(x) = \frac{{{{\varepsilon }_{1}}}}{{{{x}^{{{{\kappa }_{1}}}}}}} + \; \cdots \; + \frac{{{{\varepsilon }_{\sigma }}}}{{{{x}^{{{{\kappa }_{\sigma }}}}}}},$
где ${{\kappa }_{1}} > \ldots > {{\kappa }_{\sigma }}$ > 0, ${{\kappa }_{i}} \in \mathbb{Q}$ и ${{\varepsilon }_{i}} \in K{\backslash \{ }0{\text{\} }}$, $i = 1, \ldots ,\sigma $. Выражение
(11)
${{e}^{{Q(x)}}}Y(x)$
мы называем решением с усеченным показателем экспоненциальной части уравнения $L(y) = 0$, коль скоро любое уравнение $\mathcal{L}(y) = 0$, являющееся продолжением $L(y) = 0$, имеет нерегулярное решение
(12)
${{e}^{{Q(x) + \widetilde Q(x)}}}{{x}^{\lambda }}\sum\limits_{s = 0}^m {{{w}_{s}}} ({{x}^{{1/q}}}),$
такое, что
(13)
$\tilde {Q}(x) = \frac{{{{\varepsilon }_{{\sigma + 1}}}}}{{{{x}^{{{{\kappa }_{{\sigma + 1}}}}}}}} + \; \cdots \; + \frac{{{{\varepsilon }_{{\sigma + \varsigma }}}}}{{{{x}^{{{{\kappa }_{{\sigma + \varsigma }}}}}}}}$
где ${{\kappa }_{\sigma }} > {{\kappa }_{{\sigma + 1}}} > \ldots > {{\kappa }_{{\sigma + \varsigma }}} > 0$, ${{\kappa }_{i}} \in \mathbb{Q}$ и ${{\varepsilon }_{i}} \in K{\backslash \{ }0{\text{\} }}$, $i = \sigma + 1, \ldots ,\sigma + \varsigma $.

В [1] представлен алгоритм и его реализация в Maple построения для уравнения вида (1) решений вида (11) с максимальным числом слагаемых в Q(x). Кроме этого может быть получена дополнительная информация, инвариантная относительно продолжений уравнения:

• для всех продолжений усеченного уравнения существует решение (12) с $\varsigma = 0$, т.е показатель экспоненциальной части Q(x) построен полностью, индекс ветвления q также инвариантен относительно продолжений уравнения, но не существует инвариантного показателя $\lambda $ в регулярной части; такое усеченное решение будем обозначать

${{e}^{{Q(x)}}}{{y}_{{reg}}}({{x}^{{1/q}}}),$

• для всех продолжений усеченного уравнения существует решение (12) с $\varsigma \geqslant 1$, и инвариантным является значение ${{\kappa }_{{\sigma + 1}}}$, тогда как ${{\varepsilon }_{{\sigma + 1}}}$ неинвариантно относительно продолжений уравнения; такое усеченное решение будем обозначать

${{e}^{{Q(x)}}}{{y}_{{irr({{\kappa }_{{\sigma + 1}}})}}}(x),$

• для всех продолжений усеченного уравнения существует решение (12) с $\varsigma \geqslant 1$, и значение ${{\kappa }_{{\sigma + 1}}}$ неинвариантно относительно продолжений уравнения; такое усеченное решение будем обозначать

${{e}^{{Q(x)}}}{{y}_{{irr}}}(x).$

Если же существует продолжение уравнения $L(y)$ = 0, имеющее решение (12) с показателем экспоненциальной части $Q(x)$ ($\varsigma = 0$), и продолжение уравнения, такого решения не имеющее ($\varsigma \geqslant 1$), то для такого усеченного решения оставим обозначение (11).

7. ПРОЦЕДУРЫ ПОСТРОЕНИЯ РЕШЕНИЙ

Алгоритмы построения усеченных решений реализованы в системе компьютерной алге-бры Maple 2020 [17] в виде процедур пакета TruncatedSeries22. В [15] представлены процедуры LaurentSolution (построение лорановых решений) и RegularSolution (построение регулярных решений) для случая уравнений, все коэффициенты которого являются усеченными рядами. Для того же случая в [1] представлена предварительная реализация процедуры FormalSolution (построение экспоненциально-логарифмических решений в виде (11)). Расширение возможностей процедуры LaurentSolution на “смешанный” случай представлено в [16].

Основные аргументы процедур:

1) однородное линейное обыкновенное дифференциальное уравнение с усеченными или полностью заданными рядами в роли коэффициентов;

2) неизвестная функция, например, y(x).

Уравнение должно быть записано через оператор $\theta = x\tfrac{d}{{dx}}$, либо через оператор $\tfrac{d}{{dx}}$. Применение θi к $y(x)$ записывается в пакете TruncatedSeries как theta(y(x),x,i). Для обозначения i-й производной функции $y(x)$ используется стандартное в Maple diff(y(x),x$i).

Усеченные коэффициенты уравнения задаются в виде выражений a(x)+O(x^(t+1)), где a(x) — полином степени не выше t над $\mathbb{A}$ (т.е. над полем алгебраических чисел).

Полностью заданный ряд $\sum\nolimits_{i = 0}^\infty {{{a}_{i}}} {{x}^{i}}$ может быть записан либо как полином (т.е. ${{a}_{i}} = 0$, начиная с некоторого значения i), либо как сумма полинома (начальные члены ряда) и бесконечной степенной суммы, для представления которой должна быть использована Maple-конструкция

Sum(f(i)*x^i, i = i0..infinity),

где f(i) – выражение для вычисления коэффициента ряда при xi, i – имя (индекс суммирования), i0 – неотрицательное целое.

Для корректной работы процедур нашего пакета, нерациональные алгебраические числа, входящие в значение f(i) при всех целых значениях i, больших либо равных i0, должны быть представлены с помощью Maple-конструкции

RootOf(p(_Z), index = k),

где p(_Z) – неприводимый полином, k-м корнем которого и является данное алгебраическое число. Например, ${\text{RootOf}}(\_{{Z}^{2}} - 2$, index = 2) представляет число $ - \sqrt 2 $. То же касается и нерациональных чисел, входящих в полиномы, задающие коэффициенты уравнения.

Могут быть также указаны необязательные аргументы (опции):

'top'=d, где d – целое число, для которого нужно определить превосходит ли оно порог данного уравнения (по умолчанию, если все коэффициенты данного уравнения являются усеченными рядами, d равно порогу уравнения, иначе d полагается равным нижней границе порога уравнения, его значение указанно отдельно для каждой процедуры);

'threshold'='h', где h – имя переменной, которой будет присвоено значение порога, если его удалось вычислить, либо Maple-константа FAIL, если понятие порога не определено или значение порога превышает значение d.

7.1. Лорановы решения

Результат работы процедуры LaurentSolution:

• список усеченных лорановых решений с различными валюациями – список содержит все усеченные лорановы решения, инвариантные относительно продолжений уравнения, количество вычисленных коэффициентов в каждом усечении является максимально возможным с учетом значения d;

• пустой список, если лорановых решений не существует для всех продолжений уравнения;

• Maple-константа FAIL, иначе.

Каждое из усеченных решений из списка, возвращаемого LaurentSolution, представлено в виде (5), где ${{w}_{j}}$ – вычисленные коэффициенты усеченного лоранова решения – являются линейными комбинациями над $\mathbb{A}$ произвольных постоянных $\_{{c}_{1}},\_{{c}_{2}},\; \ldots $. Валюации всех элементов списка различны – произвольная постоянная, являющаяся коэффициентом при степени, равной валюации некоторого элемента списка, не может быть взята равной $0$ в соответствующем усеченном решении.

Обозначим через $h{\text{*}}$ максимальный целый корень определяющего полинома, либо $ - \infty $, если целых корней нет. Порог уравнения для лорановых решений, как указано в разд. 4, не меньше $h{\text{*}}$. Если опция 'top' отсутствует, либо с ее помощью задано значение d, меньшее $h{\text{*}}$, то d полагается равным $h{\text{*}}$.

Степени усечения разных элементов списка могут быть различны, поскольку для разных валюаций может отличаться максимальное количество коэффициентов, инвариантных относительно продолжений уравнения. Степень усечения каждого элемента не превосходит d и порог уравнения для лорановых решений, но не меньше $h{\text{*}}$.

7.2. Регулярные решения

Результат работы процедуры RegularSolution:

• список усеченных регулярных решений с различными наборами валюаций входящих в решения усеченных лорановых рядов – список содержит все усеченные регулярные решения, инвариантные относительно продолжений уравнения, количество вычисленных коэффициентов в каждом лорановом ряду является максимально возможным с учетом значения d;

• пустой список, если усеченных регулярных решений не существует для всех продолжений уравнения;

• Maple-константа FAIL, иначе.

Каждое усеченное решение ${{y}_{i}}$ из списка, возвращаемого RegularSolution, является конечной суммой ${{y}_{{i1}}} + \; \ldots \; + {{y}_{{ig}}}$ выражений вида

${{y}_{{ij}}} = {{x}^{{{{\lambda }_{j}}}}}\sum\limits_{s = 0}^{{{m}_{{i,j}}}} {{{w}_{{i,j,s}}}} (x)l{{n}^{s}}x,$
где ${{\lambda }_{1}},\; \ldots ,\;{{\lambda }_{g}}$ – все такие различные корни ${{I}_{L}}(n)$, что ${{I}_{L}}({{\lambda }_{j}} + n) \ne 0$ для всех $n \in {{\mathbb{Z}}_{{ > 0}}}$, ${{w}_{{i,j,s}}}(x)$ – усеченные лорановы ряды, $j = 1,\; \ldots ,\;g$, $s = 0,\; \ldots ,\;{{m}_{{i,j}}}$. В каждой паре различных усеченных решений ${{y}_{{{{i}_{1}}}}}$ и ${{y}_{{{{i}_{2}}}}}$ из списка, для каждого ${{\lambda }_{j}}$ либо ${{m}_{{{{i}_{1}},j}}} \ne {{m}_{{{{i}_{2}},j}}}$, либо для некоторого $s$ ($0 \leqslant s \leqslant {{m}_{{{{i}_{1}},j}}}$)

${\text{val}}{{w}_{{{{i}_{1}},j,s}}}(x) \ne {\text{val}}{{w}_{{{{i}_{2}},j,s}}}(x).$

Коэффициенты всех усеченных рядов являются линейными комбинациями над $\mathbb{A}$ произвольных постоянных $\_{{c}_{1}},\_{{c}_{2}},\; \ldots $. Произвольная постоянная, являющаяся коэффициентом при степени, равной валюации некоторого ряда, входящего в элемент списка, не может быть взята равной 0 в соответствующем усеченном решении.

Если существуют корни определяющего полинома, положим $h* = 0$, иначе $h* = - \infty $. Порог уравнения для регулярных решений, как указано в разд. 4, не меньше h*. Если опция 'top' отсутствует, либо с ее помощью задано значение d, меньшее h*, то d полагается равным h*.

Степени усечения рядов в разных элементах списка могут быть различны, поскольку для разных валюаций может отличаться максимальное количество коэффициентов, инвариантных относительно продолжений уравнения. Степень усечения каждого ряда в решении не превосходит d и порог уравнения для регулярных решений, но не меньше $h*$.

7.3. Формальные решения

Результат работы процедуры FormalSolution:

• список усеченных решений уравнения;

• Maple-константа FAIL, если усеченных решений не существует.

Каждое усеченное решение из списка, возвращаемого FormalSolution, является конечной суммой выражений вида ${{e}^{Q}}Y$, где $Q \in \mathbb{A}[{{x}^{{ - 1/q}}}]$, $q \in {{\mathbb{Z}}_{{ > 0}}}$, при этом возможно, что $Q = 0$, q = 1. Для Y возможны следующие варианты:

• усеченная регулярная часть решения, содержит произвольные постоянные $\_{{c}_{1}},\_{{c}_{2}},\; \ldots $;

${{y}_{{reg,i}}}({{x}^{{1/q}}})$ (где $q \in {{\mathbb{Z}}_{{ > 0}}}$), ${{y}_{{irr(\kappa ),i}}}(x)$ (где $\kappa \in \mathbb{Q}$), ${{y}_{{irr,i}}}(x)$ либо ${{y}_{i}}(x)$, где $i \in {{\mathbb{Z}}_{{ > 0}}}$, для решений с усеченным показателем экспоненциальной части тех видов, которые перечислены в разд. 6.

Если для уравнения существует решение с показателем экспоненциальной степени Q и индексом ветвления q и усеченной регулярной частью Y, то для построения этой регулярной части применяется процедура RegularSolution к уравнению, полученному с помощью подстановки y(x) = = ${{e}^{{Q({{t}^{q}})}}}z(t)$, $x = {{t}^{q}}$ в исходное уравнение. Для каждого нового уравнения, в зависимости от того, все ли его коэффициенты являются усеченными или нет, определяется значение d. Все элементы списка, построенного RegularSolution, входят в результат FormalSolution.

7.4. Примеры

Приведем несколько примеров применения процедур пакета.

Уравнение

$\begin{gathered} ( - 1 + x + {{x}^{2}} + O({{x}^{3}})){{\theta }^{2}}y - (2 + O({{x}^{3}}))\theta y + \\ + \;\left( {\sum\limits_{i = 4}^\infty {({{i}^{2}} + 2i + 1 - {{{(i + 1)}}^{2}})} {{x}^{i}}} \right)y = 0 \\ \end{gathered} $
в системе Maple записывается следующим образом:

> eq1 := (-1+x+x^2+O(x^3))

*theta(y(x), x, 2)-

(2+O(x^3))*theta(y(x), x, 1)+

Sum((i^2+2*i+1-(i+1)^2)*x^i,

i=4..infinity)*y(x):

В этом уравнении присутствуют как усеченные коэффициенты, так и коэффициент, заданный алгоритмически с помощью бесконечной суммы. Применим процедуру LaurenSolution к eq1 с указанием опций:

> LaurentSolution(eq1, y(x),

          'top'=7, 'threshold'='h');

$\left[ {\tfrac{{\_{{c}_{1}}}}{{{{x}^{2}}}} - \tfrac{{4\_{{c}_{1}}}}{x} + \_{{c}_{2}} + O(x),\_{{c}_{2}} + O({{x}^{8}})} \right]$

Полученный ответ означает, что для всех продолжений уравнения существуют лорановы решения с валюациями, равными –2 и 0. Степень усечения для разных валюаций различна. Отметим, что применение к этому уравнению процедуры RegularSolution дает тот же результат, то есть в данном случае все усеченные регулярные решения являются усеченными лорановыми решениями.

Проверим значение порога

>h;

FAIL

Это означает, что заданное с помощью опции 'top' значение не превосходит порога. Аналогичный результат получается для любого значения этой опции, поскольку в данном случае порог уравнения равен ∞, и любое конечное значение опции не превосходит значение этого порога. При этом, видно, что для валюации –2 уже достигнута максимально возможная степень усечения, поскольку она меньше значения, заданного с помощью опции 'top', и она не будет меняться при увеличении значения этой опции.

Уравнение

$\begin{gathered} ({{x}^{7}} + {{x}^{5}})\frac{{{{d}^{4}}y}}{{d{{x}^{4}}}} + \left( {18{{x}^{4}} + \sum\limits_{k = 7}^\infty {\frac{{{{{( - 1)}}^{k}}{{x}^{k}}}}{{k!}}} } \right)\frac{{{{d}^{3}}y}}{{d{{x}^{3}}}} + \\ + \;(96{{x}^{3}} + O({{x}^{6}}))\frac{{{{d}^{2}}y}}{{d{{x}^{2}}}} + \\ + \;(168{{x}^{2}} + O({{x}^{5}}))\frac{{dy}}{{dx}} + 72xy = 0 \\ \end{gathered} $
в системе Maple записывается следующим образом:

> eq2 :=  (x^7+x^5)*diff(y(x), x$4) +

        (18*x^4 + Sum((-1)^k*x^k/k!,

         k=7..infinity))*diff(y(x), x$3) +

        (96*x^3 + O(x^6))*diff(y(x), x$2)+

        (168*x^2 + O(x^5))*diff(y(x), x) +

       72*x*y(x):

В этом уравнении присутствуют как усеченные коэффициенты, так и коэффициенты, заданные алгоритмически (и в виде полинома, и с помощью бесконечной суммы). Отметим, что уравнение записано с помощью обычного дифференцирования. Также отметим, что если наименьшая валюация коэффициентов уравнения равна γ > 0 (для eq2 γ = 1), и если при этом ${{t}_{i}} \geqslant \gamma $ для каждого усеченного коэффициента ${{a}_{i}}(x)$, то процедуры пакета выполняют деление уравнения на xγ и заменяют каждое ti на ${{t}_{i}} - \gamma $. Применим процедуру RegularSolution к eq2 с указанием опций:

> RegularSolution(eq2, y(x),

’top’=3, ’threshold’=’h’);

$\begin{gathered} \left[ {\frac{1}{{{{x}^{2}}}}} \right.\left( { - \frac{1}{{420}}} \right.\frac{{\_{{c}_{2}}}}{{{{x}^{2}}}} + \frac{{\_{{c}_{3}}}}{x} + \_{{c}_{4}} + O(x) + \\ + \;ln(x)\left. {\left( {\frac{{\_{{c}_{1}}}}{x} + \_{{c}_{2}} - 30x\_{{c}_{1}} + O({{x}^{2}})} \right)} \right), \\ \end{gathered} $
$\begin{gathered} \frac{1}{{{{x}^{2}}}}\left( { - \frac{1}{{420}}} \right.\frac{{\_{{c}_{2}}}}{{{{x}^{2}}}} + \frac{{\_{{c}_{3}}}}{x} + \_{{c}_{4}} + O(x) + \\ + \;ln(x)\left. {\left( {\_{{c}_{2}} - \frac{5}{3}{{x}^{2}}\_{{c}_{2}} + O({{x}^{3}})} \right)} \right), \\ \end{gathered} $
$\begin{gathered} \frac{1}{{{{x}^{2}}}}\left( {\frac{{\_{{c}_{3}}}}{x}} \right. + \_{{c}_{4}} + x\left( { - 30\_{{c}_{3}} + \frac{{197}}{2}\_{{c}_{1}}} \right) + O({{x}^{2}}) + \\ + \;ln(x)\left. {\left( {\frac{{\_{{c}_{1}}}}{x} - 30x\_{{c}_{1}} + O({{x}^{2}})} \right)} \right), \\ \end{gathered} $
$\frac{1}{{{{x}^{2}}}}\left( {\frac{{\_{{c}_{3}}}}{x} + \_{{c}_{4}} - 30x\_{{c}_{3}} + O({{x}^{2}})} \right),$
$\begin{gathered} \frac{1}{{{{x}^{2}}}}\left( {\_{{c}_{4}} + \frac{{197}}{2}} \right.x\_{{c}_{1}} + O({{x}^{2}}) + \\ + \;ln(x)\left. {\left( {\frac{{\_{{c}_{1}}}}{x} - 30x\_{{c}_{1}} + O({{x}^{2}})} \right)} \right), \\ \end{gathered} $
$\frac{1}{{{{x}^{2}}}}\left( {\_{{c}_{4}} - \frac{5}{3}{{x}^{2}}\_{{c}_{4}} + O({{x}^{3}})} \right),$
$\begin{gathered} \frac{1}{{{{x}^{2}}}}\left( {\frac{{197}}{2}} \right.x\_{{c}_{1}} + O({{x}^{2}}) + \\ + \;ln(x)\left. {\left. {\left( {\frac{{\_{{c}_{1}}}}{x} - 30x\_{{c}_{1}} + O({{x}^{2}})} \right)} \right)} \right] \\ \end{gathered} $

Полученный ответ означает, что для всех продолжений уравнения существуют регулярные решения. Пять элементов списка соответствуют решениям с ln x и различными валюациями входящих в решения лорановых рядов. Два других элемента списка не содержат ln x и представляют собой лорановы решения с различными валюациями (эти решения могут быть найдены с помощью процедуры LaurentSolution). Видно, что для разных валюаций входящие в решения усеченные ряды могут иметь разную степень усечения.

Проверим значение порога

> h;

2

Найденный порог не превышает, как и должно быть, заданного с помощью опции 'top' значения. Легко видеть, что он достигается в тех решениях, которые содержат ряды с валюацией, равной 0.

Уравнение

$\begin{gathered} ({{x}^{4}} + O({{x}^{7}})){{\theta }^{3}}y + \left( {3x + O(x)} \right){{\theta }^{2}}y + \\ + \left( {1 + \sum\limits_{i = 1}^\infty i {{x}^{i}}} \right)\theta y = 0 \\ \end{gathered} $
в системе Maple записывается следующим образом:

> eq3 := (x^4 + O(x^7))*theta(y(x), x, 3) +

        (3*x + O(x^5))*theta(y(x), x, 2) +

         (1 + Sum(i*x^i, i = 1 .. infinity))*

  theta(y(x), x, 1):

Применим процедуру FormalSolution к eq3 без опции ’top’’:

>FormalSolution(eq3, y(x), ‘threshold’=’h’);

$\begin{gathered} \left[ {\_{{c}_{1}} + O(x) + {{e}^{{^{{\frac{1}{{3x}}}}}}}{{x}^{{2/3}}}\left( {\_{{c}_{2}} + \frac{{35}}{{27}}\_{{c}_{2}}x + } \right.} \right. \\ \left. {\left. {\frac{{8947}}{{1458}}\_{{c}_{2}}{{x}^{2}} + O({{x}^{3}})} \right) + {{e}^{{^{{\frac{1}{{{{x}^{3}}}}\, - \,\frac{1}{{3x}}}}}}}{{y}_{{reg}}}(x)} \right] \\ \end{gathered} $

Полученный ответ означает, что для всех продолжений уравнения существует одномерное пространство лорановых решений вида $(\_{{c}_{1}} + O(x))$, где $\_{{c}_{1}} \in \mathbb{A}$. Проверка значения порога уравнения

> h;

FAIL

показывает, что для лорановых решений порог не достигнут, их степень усечения определяется по умолчанию: d = 0.

Так же eq3 имеет решение с усеченной регулярной частью, причем для регулярной части вычислено больше слагаемых, поскольку при подстановке $y(x) = {{e}^{{1/(3x)}}}z(x)$ в eq3 получится уравнение, все коэффициенты которого являются усеченными рядами. Для нового уравнения значение d по умолчанию равно порогу, который является конечным числом.

Еще одно усеченное решение не содержит рядов. Все продолжения eq3 имеют решения вида (12), где

$Q(x) = \frac{1}{{{{x}^{3}}}} - \frac{1}{{3x}},$
$\tilde {Q}(x) = 0$, q = 1, но значения λ различны для разных продолжений, поэтому регулярная часть в ответе обозначена ${{y}_{{reg}}}(x)$.

В [13, 1416, 18] можно найти другие примеры работы процедур пакета TruncatedSeries.

Авторы благодарят компанию Maplesoft (Ватерлоо, Канада) за консультации и дискуссии.

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

  1. Абрамов С.А., Рябенко А.А., Хмельнов Д.Е. Усеченные ряды и формальные экспоненциально-логарифмические решения линейных обыкновенных дифференциальных уравнений // Ж. вычисл. матем. и матем. физ. 2020. Т. 60. № 10. С. 1664–1675.

  2. Абрамов С.А., Рябенко А.А., Хмельнов Д.Е. Линейные обыкновенные дифференциальные уравнения и усеченные ряды // Ж. вычисл. матем. и матем. физ. 2019. Т. 59. № 10. С. 66–77.

  3. Абрамов С.А., Рябенко А.А., Хмельнов Д.Е. Регулярные решения линейных обыкновенных дифференциальных уравнений и усеченные ряды // Ж. вычисл. матем. и матем. физ. 2020. Т. 60. № 1. С. 4–17.

  4. Брюно А.Д. Асимптотики и разложения решений обыкновенного дифференциального уравнения // Успехи математических наук. 2004. Т. 59. Вып. 3 (357). С. 31–80.

  5. Коддингтон Э.А., Левинсон Н. Теория обыкновенных дифференциальных уравнений. М.: Изд-во иностр. лит., 1958.

  6. Malgrange B. Sur la réduction formelle des équations différentielles a singularités irrégulières. Université Scientifique et Médicale de Grenoble. 1979.

  7. Tournier E. Solutions formelles d’équations différentielles. Le logiciel de calcul formel DESIR Étude théorique et rélisation // Thèse d’État. Université de Grenoble. 1987.

  8. Barkatou M. Rational Newton algorithm for computing formal solutions of linear differential equations // Lecture Notes in Computer Science. 1989. V. 358. P. 183–195.

  9. Баркату М., Ришар-Жюнг Ф. Формальные решения линейных дифференциальных и разностных уравнений // Программирование. 1997. № 2. С. 24–42.

  10. Lutz D.A., Schäfke R. On the identification and stability of formal invariants for singular differential equations // Linear Algebra And Its Applications. 1985. V. 72. P. 1–46.

  11. Frobenius G. Integration der linearen Differentialgleichungen mit veränder Koefficienten // J. für die reine und angewandte Mathematik. 1873. V. 76. P. 214–235.

  12. Heffter L. Einleitung in die Theorie der linearen Differentialgleichungen. Leipzig: Teubner, 1894.

  13. Abramov S.A., Barkatou M.A., Pfluegel E. Higher-order linear differential systems with truncated coefficients // In Proc. of CASC’2011. 2011. P. 10–24.

  14. Абрамов С.А., Рябенко А.А., Хмельнов Д.Е. Процедуры поиска локальных решений линейных дифференциальных систем с бесконечными степенными рядами в роли коэффициентов // Программирование. 2016. № 2. С. 75–86.

  15. Абрамов С.А., Рябенко А.А., Хмельнов Д.Е. Процедуры поиска лорановых и регулярных решений линейных дифференциальных уравнений с усеченными степенными рядами в роли коэффициентов // Труды ИСП РАН. 2019. Т. 31. № 5. С. 233–248.

  16. Abramov S., Khmelnov D., Ryabenko A. Truncated and infinite power series in the role of coefficients of linear ordinary differential equations // In Proc. of CASC’2020 Lecture Notes in Computer Science. 2020. V. 12291. P. 63–76..

  17. Maple online help //http://www.maplesoft.com/support/help/

  18. Страница пакета TruncatedSeries //http://www.ccas.ru/ca/TruncatedSeries

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