Программирование, 2023, № 5, стр. 35-46

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

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

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

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

Поступила в редакцию 31.08.2022
После доработки 16.10.2022
Принята к публикации 30.10.2022

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

Аннотация

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

1. ВВЕДЕНИЕ

В [13] были предложены алгоритмы поиска решений систем линейных обыкновенных дифференциальных уравнений с бесконечными формальными степенными рядами в роли коэффициентов, при этом степенные ряды были заданы алгоритмически, т.е. предполагался известный алгоритм, вычисляющий по значению $n$ коэффициент при ${{x}^{n}}$. Ниже ряды задаются в усеченном виде, что означает, что мы не располагаем полной информацией об уравнениях системы. В [46] нами предложены алгоритмы поиска различных видов решений скалярных (одиночных) линейных обыкновенных дифференциальных уравнений с коэффициентами в виде усеченных степенных рядов. Исходя из такой неполной информации об уравнении, алгоритмы из [46] дают максимально возможное число членов, входящих в решения, таких, что эти члены инвариантны относительно всех возможных продолжений коэффициентов заданного уравнения. В данной работе рассмотрена аналогичная задача поиска лорановых решений систем линейных обыкновенных дифференциальных уравнений с усеченными степенными рядами в роли коэффициентов. Переход к случаю систем имеет специфические особенности, которые рассмотрены далее и учтены в предлагаемом алгоритме.

Задачи этого рода рассматривались ранее в [7, 8] для систем произвольного порядка

(1)
$\begin{gathered} {{A}_{r}}(x){{\theta }^{r}}y(x) + {{A}_{{r - 1}}}(x){{\theta }^{{r - 1}}}y(x) + \cdots + \\ \; + {{A}_{0}}(x)y(x) = 0, \\ \end{gathered} $
где $y(x) = {{\left( {{{y}_{1}}(x),{{y}_{2}}(x), \ldots ,{{y}_{m}}(x)} \right)}^{T}}$ – вектор неизвестных, ${{A}_{r}}(x), \ldots ,{{A}_{0}}(x)$m × m-матрицы с элементами в виде усеченных рядов, $\theta = x\frac{d}{{dx}}$. В [7] предполагается, что возможно получение усечения любой степени для рядов в ${{A}_{r}}(x), \ldots ,{{A}_{0}}(x)$, и определяется, какой степени усечения этих рядов достаточно, чтобы вычислить лорановы решения требуемой степени усечения. В [8] матрицы Ar(x), ..., ${{A}_{0}}(x)$ рассматриваются как полиномиальные, представляющие собой усечения рядов одной степени усечения, при этом рассматривается случай, когда матрица ${{A}_{r}}(x)$ является строго невырожденной, т.е. она не только невырождена, но и любое продолжение ее элементов посредством добавления членов старших степеней до бесконечных рядов оставляет ее невырожденной. Ниже мы рассматриваем случай, когда выписанная для системы (1) индуцированная рекуррентная система (см. определение в разд. 2.3) имеет невырожденную ведущую матрицу и ее определитель не содержит литералов (см. определение в разд. 4.1). Здесь подчеркнем, что такая невырожденность в общем случае не влечет невырожденность ${{A}_{r}}(x)$ в (1). Также отметим, что в данной работе, в отличие от [7, 8], степени усечения различных рядов в ${{A}_{r}}(x), \ldots ,{{A}_{0}}(x)$ могут быть различны, как и степени усечения компонент усеченного лоранова решения – для каждого ряда находится максимально возможное число членов.

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

2.1. Системы, усеченные ряды и продолжения

Пусть K – алгебраически замкнутое числовое поле. Для кольца полиномов от x над K мы в дальнейшем используем обычное обозначение $K[x]$. Кольцо формальных степенных рядов от $x$ над K обозначается через $K[[x]]$, поле формальных лорановых рядов – через $K((x))$. Для ненулевого элемента $a(x)\, = \,\sum {{a}_{i}}{{x}^{i}}$ из $K((x))$ его валюация valxa(x) определена равенством valxa(x) = $\min \{ i|{{a}_{i}} \ne 0\} $, при этом ${\text{val}}{{{\kern 1pt} }_{x}}{\kern 1pt} 0 = \infty $. Валюация вектора или матрицы с компонентами-рядами считается равной минимуму валюаций компонент. Пусть $t \in \mathbb{Z}$, $t$-усечение ${{a}^{{\langle t\rangle }}}(x)$ получается отбрасыванием всех членов ряда $a(x)$ степени большей, чем $t$. Число $t$ называется степенью усечения ряда. Под $O({{x}^{{t + 1}}})$, где $t \in \mathbb{Z}$, будет пониматься некий (неуточняемый) ряд с валюацией, большей $t$. Как правило, это обозначение используется в тех случаях, когда либо подразумеваемый ряд нам неизвестен, либо если конкретный вид ряда не представляет для нас интереса; важно лишь, что его валюация больше, чем $t$.

Если R – некоторое кольцо, то ${\text{Ma}}{{{\text{t}}}_{m}}(R)$ обозначает кольцо m × m-матриц с элементами из R.

Дифференциальные системы будет удобно записывать с помощью операции $\theta = x\frac{d}{{dx}}$ вместо обычной операции дифференцирования $\frac{d}{{dx}}$ (переход от одной формы записи к другой выполняется легко). Мы рассматриваем системы вида (1). Относительно

${{A}_{0}}(x),{{A}_{1}}(x), \ldots ,{{A}_{r}}(x)$
предполагается, что ${{A}_{k}}(x) \in {\text{Ma}}{{{\text{t}}}_{m}}(K[[x]])$, k = 0, $1, \ldots ,r$, при этом ведущая матрица ${{A}_{r}}(x)$ системы является ненулевой. Также предполагается, что валюация по крайней мере одной из матриц A0(x), ${{A}_{1}}(x), \ldots ,{{A}_{r}}(x)$ равна нулю, т.е. валюация системы (1) равна нулю.

Элементы матриц ${{A}_{k}}(x)$ будем называть коэффициентами системы, ими будут у нас формальные степенные ряды. Элемент матрицы ${{A}_{k}}(x)$ на пересечении $i$-й строки и  j-го столбца будем обозначать через ${{A}_{{kij}}}(x)$. В случае системы, коэффициенты которой заданы в усеченном виде, известны такие неотрицательные целые ${{t}_{{0ij}}},{{t}_{{1ij}}}, \ldots ,{{t}_{{rij}}}$, что

(2)
${{A}_{{kij}}}(x) = {{a}_{{kij}}}(x) + O({{x}^{{{{t}_{{kij}}} + 1}}}),$
где ${{a}_{{kij}}}(x) \in K[x]$, ${{t}_{{kij}}} \geqslant \deg {{a}_{{kij}}}(x)$, $k = 0,1, \ldots ,r$, $i = 1, \ldots ,m$, $j = 1, \ldots ,m$.

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

Пусть (1) состоит из линейно независимых над $K[[x]][\theta ]$ уравнений. В этом случае говорим, что система имеет полный ранг, саму систему называем системой полного ранга. Из [7], предл. 2 следует, что для случая систем, коэффициенты которых являются рядами, заданными алгоритмически, задача проверки независимости уравнений над $K[[x]][\theta ]$ является алгоритмически неразрешимой. Предложенные в [13] алгоритмы предполагают, что система имеет полный ранг. Для системы с усеченными коэффициентами будем предполагать, что любое ее продолжение является системой полного ранга.

2.2. Лорановы решения систем

Решение $y(x) = ({{y}_{1}}(x), \ldots ,{{y}_{m}}(x{{))}^{T}}$ дифференциальной системы (1), компоненты ${{y}_{i}}(x)$ которого являются формальными лорановыми рядами, называется лорановым. Для системы полного ранга, коэффициенты которой являются рядами, заданными алгоритмически, алгоритм из [1] находит все ее усеченные лорановы решения c любой заданной степенью усечения. Для усеченной системы нет возможности вычислять решения с произвольной степенью усечения. В [4] это было доказано для частного случая – скалярного уравнения (m = 1). Ниже в разд. 3 будет определено, какими именно усеченными лорановыми решениями мы занимаемся в случае усеченных систем ($m > 1$).

2.3. Индуцированные рекуррентные системы

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

(3)
$y(x) = \sum\limits_{n = {v}}^\infty u(n){{x}^{n}},$
где ${v} \in \mathbb{Z}$, $u(n) = ({{u}_{1}}(n), \ldots ,{{u}_{m}}(n{{))}^{T}} \in {{K}^{m}}$ для $n \in \mathbb{Z}$. Тогда оказывается (см. [1]), что последовательность векторов $u(n)$ удовлетворяет индуцированной рекуррентной системе $R(u) = 0$. Эта система строится преобразованием
(4)
$x \to {{E}^{{ - 1}}},\quad \theta \to n,$
применяемым к исходной дифференциальной системе (1), здесь ${{E}^{{ - 1}}}$ обозначает оператор сдвига:
${{E}^{{ - 1}}}u(n) = u(n - 1).$
Имеем

$R = {{B}_{0}}(n) + {{B}_{{ - 1}}}(n){{E}^{{ - 1}}} + {{B}_{{ - 2}}}(n){{E}^{{ - 2}}} + \ldots $

Индуцированная система запишется в виде

(5)
${{B}_{0}}(n)u(n) + {{B}_{{ - 1}}}(n)u(n - 1) + \ldots = 0,$
где

$u(n) = ({{u}_{1}}(n), \ldots ,{{u}_{m}}(n{{))}^{T}}$ – вектор-столбец неизвестных последовательностей таких, что ${{u}_{i}}(n)$ = 0 для всех отрицательных $n$ с достаточно большим значением $|n|$, $i = 1, \ldots ,m$;

${{B}_{0}}(n),{{B}_{{ - 1}}}(n), \ldots \in {\text{M}}a{{t}_{m}}(K[n])$;

${{B}_{0}}(n)$ – ведущая матрица системы (5) (это ненулевая матрица, поскольку валюация системы (1) равна нулю).

Очевидно, что индуцированная система (5) имеет полный ранг, т.е. ее уравнения независимы над $K[n][[{{E}^{{ - 1}}}]]$, если и только если исходная дифференциальная система (1) имеет полный ранг.

Если матрица ${{B}_{0}}(n)$ невырождена, то ${\text{det}}{{B}_{0}}(n)$ = 0 может рассматриваться как определяющее уравнение исходной дифференциальной системы: множество целых корней этого алгебраического уравнения включает множество всех возможных валюаций лорановых решений системы (1). Это позволяет, в частности, найти нижнюю границу валюаций всех лорановых решений системы. Если $\det {{B}_{0}}(n) = 0$ не имеет целых корней, система не имеет лорановых решений.

3. ПОСТАНОВКА ЗАДАЧИ

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

Инвариантность членов усеченного решения $y(x)$ означает, что множество лорановых решений (возможно, также усеченных) любого продолжения заданной системы будет содержать решение, начальные члены в компонентах которого совпадают со всеми членами в компонентах $y(x)$. Максимальность же числа членов в решении $y(x)$ означает, что продолжение хотя бы на одно слагаемое хотя бы одной компоненты решения приведет к нарушению инвариантности, т.е. будет существовать такое продолжение заданной системы, у которого нет решения, начальные члены в компонентах которого совпадают с таким продолжением решения.

Для системы (1) множество W всех усеченных лорановых решений с максимальной степенью усечения будем представлять набором $\bar {W}\, = \,[{{w}_{1}}, \ldots ,{{w}_{p}}]$ вектор-столбцов, компоненты которых являются усеченными лорановыми рядами с произвольными постоянными в коэффициентах. Каждый из столбцов имеет вид

${{w}_{i}} = \left( {\begin{array}{*{20}{c}} \begin{gathered} \sum\limits_{n = {{{v}}_{{i1}}}}^{{{q}_{{i1}}}} {{C}_{{i1n}}}{\kern 1pt} {{x}^{n}} + O({{x}^{{{{q}_{{i1}}} + 1}}}) \\ \cdots \\ \sum\limits_{n = {{{v}}_{{im}}}}^{{{q}_{{im}}}} {{C}_{{imn}}}{\kern 1pt} {{x}^{n}} + O({{x}^{{{{q}_{{im}}} + 1}}}) \\ \end{gathered} \end{array}} \right)$
где для $i = 1, \ldots ,p$, $j = 1, \ldots ,m$, $n = {{{v}}_{{ij}}}, \ldots ,{{q}_{{ij}}}$ коэффициент ${{C}_{{ijn}}}$ является линейной комбинацией произвольных постоянных, которые могут принимать все такие значения из K, что ${{C}_{{ij{{{v}}_{j}}}}} \ne 0$. Таким образом ${{{v}}_{{ij}}}$ – валюация соответствующего ряда, ${{q}_{{ij}}}$ – его степень усечения. Валюации компонент разных векторов в наборе $\bar {W}$ различаются хотя бы для одной компоненты: для любых ${{i}_{1}}$, ${{i}_{2}}$ (${{i}_{1}} \ne {{i}_{2}}$) выполняется $({{{v}}_{{{{i}_{1}},1}}}, \ldots ,{{{v}}_{{{{i}_{1}},m}}}) \ne ({{{v}}_{{{{i}_{2}},1}}}, \ldots ,{{{v}}_{{{{i}_{2}},m}}})$. Т.е. множество W усеченных решений разбито на подмножества с различными комбинациями валюаций компонент. Для одних и тех же компонент разных векторов набора $\bar {W}$ степень усечения может быть различной. Любому усеченному решению системы (1) соответствуют некоторые определенные значения произвольных постоянных в одном из векторов набора $\bar {W}$.

В качестве иллюстрации рассмотрим систему, представленную на рис. 1. Для этой системы множество лорановых решений с максимальной степенью усечения задается набором из восьми вектор-столбцов, представленным на рис. 2 (здесь и далее ${{c}_{i}}$ обозначает произвольную постоянную, $i$ – натуральное число – индекс этой произвольной постоянной). Несложно видеть, что комбинации валюаций компонент векторов различны. Также видно, что степени усечения компонент векторов могут различаться: у первого, четвертого, шестого и восьмого векторов степень усечения всех компонент равна 2, у седьмого вектора степень усечения всех компонент равна 4, у второго, третьего и пятого векторов степень усечения первой и третьей компоненты равна 2, второй компоненты равна 3. Таким образом в данном примере для некоторых комбинаций валюаций имеются инвариантные члены рядов более высоких степеней, чем для других.

Рис. 1.
Рис. 2.

Выпишем лорановы решения системы с полиномиальными коэффициентами, которая получается, если все O(xk) на рис. 1 равны 0. Эти решения вычислим до степени ${{x}^{5}}$ (для систем полного ранга с алгоритмически заданными рядами, частным случаем которых являются системы с полиномиальными коэффициентами, возможно вычислить усеченные решения до любой заданной степени). Решение приведено на рис. 3. Сравнивая рис. 2 и рис. 3, видим, что любое решение из множества на рис. 2 имеет свое продолжение на рис. 3. Это является следствием инвариантности всех членов рядов на рис. 2 относительно любых продолжений исходной системы, а полученная описанным способом система с полиномиальными коэффициентами является одним из возможных продолжений системы, представленной на рис. 1.

Рис. 3.

Множество решений системы с рис. 1 может быть задано и другим набором вектор-столбцов, например, приведенным на рис. 4. Можно заметить, что комбинации валюаций компонент векторов и соответствующие степени усечения на рис. 4 такие же, как и на рис. 2, и что на этих двух рисунках – два разных представления одного и того же множества усеченных лорановых решений с точностью до произвольных постоянных.

Рис. 4.

4. АЛГОРИТМ

4.1. Литералы

Как и в задаче поиска усеченных лорановых решений обыкновенного дифференциального уравнения с коэффициентами в виде усеченных рядов, алгоритм для систем основан на использовании литералов и построении решений, содержащих литералы. Литералами мы называем символьные обозначения незаданных коэффициентов рядов, входящих в системы (см. [5, 9]). Для ряда вида (2) будем говорить, что его коэффициенты при степенях ${{x}^{s}}$, $s > {{t}_{{kij}}}$, не заданы. Эти коэффициенты при построении решений усеченной системы мы и представляем символьными обозначениями – литералами.

Например, рассмотрим один из коэффициентов системы, представленной на рис. 1:

${{A}_{{0,3,1}}}(x) = - 1 - x + \frac{1}{2}{{x}^{2}} + O({{x}^{3}}).$

При ${{x}^{0}}$ коэффициент равен –1, при ${{x}^{1}}$ равен –1, при ${{x}^{2}}$ равен $\frac{1}{2}$. Незаданный коэффициент при ${{x}^{3}}$ обозначаем литералом ${{U}_{{[3,1][0,3]}}}$, при ${{x}^{4}}$${{U}_{{[3,1][0,4]}}}$, и так далее. Здесь ${{U}_{{[i,j][k,s]}}}$ – выбранная в нашей реализации алгоритма форма представления литерала, обозначающего незаданный коэффициент при ${{x}^{s}}$ в элементе ${{A}_{{kij}}}(x)$ матричного коэффициента ${{A}_{k}}(x)$ системы (1).

Отметим, что присвоение значений из K литералам в членах со степенями ${{t}_{{kij}}} + 1, \ldots ,{{t}_{{kij}}} + {{d}_{{kij}}}$ в рядах ${{A}_{{kij}}}(x)$, где ${{d}_{{kij}}}$ – некоторые положительные целые числа, задает одно из возможных продолжений исходной системы. Соответственно, если имеется продолжение исходной системы, то оно соответствует значениям части литералов исходной системы. Если продолжение системы не содержит литералов, т.е. все ряды заданы полностью, то такое продолжение соответствует значениям всех литералов исходной системы.

4.2. Системы, к которым применим предлагаемый алгоритм

В данной работе рассматривается применение алгоритма только к таким системам линейных обыкновенных дифференциальных уравнений (1), индуцированные рекуррентные системы (5) которых имеют невырожденную ведущую матрицу ${{B}_{0}}(n)$ и ее определитель не содержит литералов. Напомним, что в этом случае $\det {{B}_{0}}(n) = 0$ может рассматриваться как определяющее уравнение исходной дифференциальной системы – множество целых корней этого алгебраического уравнения включает множество всех возможных валюаций лорановых решений системы (1) и позволяет найти нижнюю границу валюаций всех лорановых решений системы, которая равна минимальному целому корню $\det {{B}_{0}}(n)$. Отсутствие литералов в $\det {{B}_{0}}(n)$ гарантирует инвариантность относительно любых продолжений системы (1) этого множества возможных валюаций и этой нижней границы.

Например, для рассмотренной в разд. 3 системы (см. рис. 1) ведущая матрица

${{B}_{0}}(n) = \left( {\begin{array}{*{20}{c}} { - 1 + n}&0&0 \\ 0&{2n - {{n}^{2}}}&0 \\ { - 1 + n}&{ - 1 + 2n - {{n}^{2}}}&n \end{array}} \right)$
индуцированной системы невырождена, ее определитель равен $( - 1 + n){{n}^{2}}(2 - n)$ и не содержит литералов.

Отметим, что матрица ${{B}_{0}}(n)$ может оказаться вырожденной и в том случае, когда ведущая матрица ${{A}_{r}}(x)$ системы (1) невырождена. В [1] показано, что для систем полного ранга с коэффициентами в виде рядов, заданных алгоритмически, эта ситуация не является тупиковой: алгоритм EG$_{\sigma }^{\infty }$ позволяет преобразовать индуцированную систему $R(u) = 0$ к охватывающей ее рекуррентной системе с невырожденной ведущей матрицей и построить любое заданное число ее начальных слагаемых. Охватывающая рекуррентная система, дополненная множеством линейный ограничений, которые также строит алгоритм EG$_{\sigma }^{\infty }$, имеет то же множество решений, что и система $R(u) = 0$. Это позволяет найти с любой заданной степенью усечения все лорановы решения $y(x)$ исходной дифференциальной системы (1) полного ранга. Здесь существенно, что множество линейных ограничений конечно и каждое из этих ограничений содержит лишь конечное число ненулевых слагаемых (благодаря тому, что нас интересуют решения $u(n)$, для которых ${{u}_{i}}(n) = 0$ при всех $n$, меньших нижней границы валюаций лорановых решений исходной дифференциальной системы). При использовании алгоритма EG$_{\sigma }^{\infty }$ в случае усеченных систем возникает ряд дополнительных задач. Мы планируем решить их и представить результаты в дальнейших работах, расширив применимость алгоритма для случая, когда ведущая матрица индуцированной системы является вырожденной.

4.3. Построение усеченных лорановых решений

Новый алгоритм построения усеченных лорановых решений систем обыкновенных дифференциальных уравнений с коэффициентами в виде усеченных рядов является модификацией алгоритма построения усеченных лорановых решений систем обыкновенных дифференциальных уравнений с коэффициентами в виде алгоритмически заданных рядов. Для использования этого алгоритма коэффициенты системы в виде усеченных рядов приобретают алгоритмическое представление: если $s \leqslant {{t}_{{kij}}}$, то применение алгоритма даст тот коэффициент, с которым ${{x}^{s}}$ входит в усеченный ряд, а при $s > {{t}_{{kij}}}$ – литерал ${{U}_{{[i,j],[k,s]}}}$.

Подробное описание алгоритма построения лорановых решений систем с коэффициентами в виде алгоритмически заданных рядов дано в [1]. Этот алгоритм основывается на рассмотрении индуцированной системы (5). Множество целых корней определителя ведущей матрицы ${{B}_{0}}(n)$ содержит все возможные валюации лорановых решений (3). Проводя вычисления с помощью рекуррентной системы (5), последовательно определяем коэффициенты ${{u}_{1}}(n), \ldots ,{{u}_{m}}(n)$ рядов в компонентах лорановых решений. Также вычисляются ${{B}_{{ - s}}}(n)$ в (5) со все большими значениями $s$, в количестве, необходимом для вычисления требуемой степени усечения лорановых решений.

Вычисление последовательности $u(n)$ коэффициентов лоранова ряда (3), удовлетворяющей (5), выполняется последовательно, увеличивая значение ${{n}_{0}}$, начиная с ${{n}_{0}} = {v}$ – минимального целого корня $\det {{B}_{0}}(n)$. Поскольку мы строим решения системы (5) такие, что $u({v} - 1) = 0,$ $u({v} - 2) = 0,$ ..., то для каждого целого $n$ система (5) имеет конечное число ненулевых слагаемых в левой части. Для ${{n}_{0}} = {v}$ получаем систему алгебраических уравнений неполного ранга

${{B}_{0}}({v})u({v}) = 0$
относительно неизвестных ${{u}_{1}}({v}), \ldots ,{{u}_{m}}({v})$. В решении этой системы некоторые компоненты вектора $u({v})$, возможно, будут вычислены, т.е. линейно выражены через другие компоненты, которые мы назовем на этом этапе неизвестными постоянными.

Если далее для некоторого целого ${{n}_{0}} > {v}$ выполнено $\det {{B}_{0}}({{n}_{0}}) \ne 0$, то

(6)
$\begin{gathered} u({{n}_{0}}) = - {{\left( {{{B}_{0}}({{n}_{0}})} \right)}^{{ - 1}}}\left( {{{B}_{{ - 1}}}({{n}_{0}})u({{n}_{0}} - 1) + } \right. \\ \left. {\, + {{B}_{{ - 2}}}({{n}_{0}})u({{n}_{0}} - 2) + \ldots + {{B}_{{ - {{n}_{0}} + {v}}}}({{n}_{0}})u({v})} \right) \\ \end{gathered} $
позволяет вычислить ${{u}_{1}}({{n}_{0}}), \ldots ,{{u}_{m}}({{n}_{0}})$ по ранее вычисленным ${{u}_{i}}({{n}_{0}} - 1),{{u}_{i}}({{n}_{0}} - 2), \ldots ,{{u}_{i}}({v})$ ($i = 1$, ..., m), т.е. получить линейное выражение ${{u}_{1}}({{n}_{0}}), \ldots ,{{u}_{m}}({{n}_{0}})$ через ранее введенные неизвестные постоянные.

Если же $\det {{B}_{0}}({{n}_{0}}) = 0$, то возникает система линейных алгебраических уравнений неполного ранга

(7)
$\begin{gathered} {{B}_{0}}({{n}_{0}})u({{n}_{0}}) = - {{B}_{{ - 1}}}({{n}_{0}})u({{n}_{0}} - 1) - \\ \, - {{B}_{{ - 2}}}({{n}_{0}})u({{n}_{0}} - 2) - \ldots - {{B}_{{ - {{n}_{0}} + {v}}}}({{n}_{0}})u({v}). \\ \end{gathered} $

Вычислим ее решение ${{u}_{1}}({{n}_{0}}), \ldots ,{{u}_{m}}({{n}_{0}})$ с помощью метода Гаусса. Это приведет к тому, что некоторые компоненты ${{u}_{i}}({{n}_{0}})$ будут добавлены к множеству неизвестных постоянных. Также могут возникнуть соотношения, в которые не входят ${{u}_{i}}({{n}_{0}})$, но входят ранее введенные неизвестные постоянные. Эти соотношения позволят вычислить значения некоторых введенных ранее неизвестных постоянных. После того, как значение ${{n}_{0}}$ превзойдет наибольший целый корень $\det {{B}_{0}}(n)$, новые неизвестные постоянные возникать не будут и все дальнейшие $u({{n}_{0}})$ будут вычисляться по ранее вычисленным $u({{n}_{0}} - 1),u({{n}_{0}} - 2), \ldots ,u({v})$. Неизвестные постоянные, оставшиеся после того, как ${{n}_{0}}$ превзойдет максимальный целый корень $\det {{B}_{0}}(n)$, объявляются произвольными постоянными, входящими в лораново решение дифференциальной системы (1). Произвольные постоянные обозначим через ${{c}_{1}}, \ldots ,{{c}_{\tau }}$, где $\tau \leqslant mr$.

При работе с усеченными системами используются литералы для представления незаданных коэффициентов. В алгоритм вносятся следующие дополнения, схожие с теми, которые использовались в алгоритме поиска усеченных лорановых решений обыкновенных дифференциальных уравнений с коэффициентами в виде усеченных рядов ([4, 5]). Согласно преобразованию (4), элементы ${{B}_{{ - s,i,j}}}(n)$ матричных коэффициентов ${{B}_{{ - s}}}(n)$ индуцированной системы (5) определяются следующим образом

(8)
${{B}_{{ - s,i,j}}}(n) = \sum\limits_{k = 0}^r {{\Xi }_{{kij}}}(s){\kern 1pt} {{(n - s)}^{k}},$
где $s = 0,1, \ldots $; $i = 1, \ldots ,m$; $j = 1, \ldots ,m$; ${{\Xi }_{{kij}}}$ – алгоритм, возвращающий для целого числа $s$ коэффициент при ${{x}^{s}}$ ряда ${{A}_{{kij}}}(x)$ (см. (2)), если $s \leqslant {{t}_{{kij}}}$, а в противном случае – литерал ${{U}_{{[i,j][k,s]}}}$. Таким образом, ${{B}_{{ - s,i,j}}}(n)$ является для $s > \mathop {\min }\nolimits_{0 \leqslant k \leqslant r} {{t}_{{kij}}}$ полиномом от литералов над полем K. Напомним, что мы рассматриваем сейчас такие системы, что $\det {{B}_{0}}(n)$ не зависит от литералов, поэтому при вычислении ${{u}_{i}}({{n}_{0}})$ по (6) мы получим, что ${{u}_{i}}({{n}_{0}})$ – линейная комбинация неизвестных постоянных с полиномиальными от литералов коэффициентами.

В алгоритм вносим следующие модификации:

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

2. Вычисления с помощью индуцированной системы продолжаются до максимального целого корня $\det {{B}_{0}}(n)$ и далее, пока хотя бы одна компонента ${{y}_{i}}(x)$ решения $y(x)$ имеет коэффициент ${{u}_{i}}({{n}_{0}})$, не содержащий литералы, с учетом возможности приравнивания нулю различных комбинаций произвольных постоянных ${{c}_{1}}, \ldots ,{{c}_{\tau }}$, не приводящих к обращению в ноль всех $u({v}), \ldots ,u({{n}_{0}} - 1)$.

3. После того, как вычисления завершены, происходит формирование набора $\bar {W}$ вектор-столбцов, представляющего множество W усеченных лорановых решений. Для этого приравниваются нулю произвольные постоянные ${{c}_{1}}, \ldots ,{{c}_{\tau }}$ всеми возможными вариантами, не приводящими к обращению в ноль всех вычисленных $u(n)$. Это приводит к различным сочетаниям валюаций компонент решения $y(x)$. Для каждого такого сочетания валюаций в каждой компоненте ${{y}_{i}}(x)$ берутся коэффициенты ${{u}_{i}}({v})$, ${{u}_{i}}({v} + 1),\; \ldots $ вплоть до ${{u}_{i}}({{q}_{i}})$ такого, что ${{u}_{i}}({{q}_{i}} + 1)$ – первый коэффициент, содержащий литералы.

4.4. Корректность алгоритма

Предложение 1. Представленный алгоритм заканчивает свою работу.

Доказательство: Рассмотрим целое число ${{n}_{0}}$, превышающее ${{r}_{{\max }}}$ – максимальный целый корень $\det {{B}_{0}}(n)$. Это значит, что $u({{n}_{0}})$ вычисляется по формуле (6) и каждая его компонента является линейной комбинацией произвольных постоянных ${{c}_{1}}, \ldots ,{{c}_{\tau }}$ с коэффициентами-полиномами (возможно нулевой степени) от литералов. Пусть ${{n}_{0}}$ таково, что ${{n}_{0}} - {{r}_{{max}}} > d$, где $d$ – максимальная степень усечения среди всех элементов матричных коэффициентов системы (1). Предположим, при таком ${{n}_{0}}$ для некоторой компоненты ${{u}_{i}}({{n}_{0}})$ хотя бы для одной произвольной постоянной ${{c}_{k}}$ ее коэффициент b не зависит от литералов. В построенных алгоритмом $u({{n}_{0}} - 1),u({{n}_{0}} - 2), \ldots ,u({v})$ положим нулю все ${{c}_{j}}$, кроме ${{c}_{k}}$. Полученные таким образом $\tilde {u}({{n}_{0}} - 1),\tilde {u}({{n}_{0}} - 2), \ldots ,\tilde {u}({v})$, удовлетворяют индуцированной системе (5) для $n = {{{v}}_{k}}$, ${{{v}}_{k}} + 1, \ldots ,{{n}_{0}} - 1$, где ${{{v}}_{k}}$ – валюация усеченного лоранова решения $\tilde {y}(x)$ с коэффициентами $\tilde {u}(n)$, полученными таким вариантом приравнивания нулю части произвольных постоянных (${v} \leqslant {{{v}}_{k}} \leqslant {{r}_{{{\text{max}}}}}$, $\tilde {u}({{{v}}_{k}}) \ne 0,$ $\tilde {u}({{{v}}_{k}} - 1)$ = 0, $\tilde {u}({{{v}}_{k}} - 2) = 0, \ldots ,\tilde {u}({v})$ = 0). Тогда

(9)
$\begin{gathered} \tilde {u}({{n}_{0}}) = - {{({{B}_{0}}({{n}_{0}}))}^{{ - 1}}}(B_{{ - 1}}^{{}}({{n}_{0}})\tilde {u}({{n}_{0}} - 1) + \\ \, + {{B}_{{ - 2}}}({{n}_{0}})\tilde {u}({{n}_{0}} - 2) + \ldots + \left. {{{B}_{{ - {{n}_{0}} + {{{v}}_{k}}}}}({{n}_{0}})\tilde {u}({{{v}}_{k}})} \right). \\ \end{gathered} $

Индуцированная система (5) строится с помощью преобразования (4). С учетом того, что все элементы матричных коэффициентов системы (1) являются усеченными рядами со степенью усечения не превышающей d, и того, что n0${{{v}}_{k}} \geqslant {{n}_{0}} - {{r}_{{{\text{max}}}}}$ > d, получаем, что все элементы ${{B}_{{ - {{n}_{0}} + {{{v}}_{k}}}}}({{n}_{0}})$ зависят от литералов, которые обозначают незаданные коэффициенты членов степени ${{n}_{0}} - {{{v}}_{k}}$ рядов в системе (1), более того, слагаемые ${{B}_{{ - 1}}}({{n}_{0}})\tilde {u}({{n}_{0}} - 1),$ ${{B}_{{ - 2}}}({{n}_{0}})\tilde {u}({{n}_{0}} - 2)$, ..., ${{B}_{{ - {{n}_{0}} + {{{v}}_{k}} - 1}}}({{n}_{0}})\tilde {u}({{{v}}_{k}} - 1)$ именно этих литералов не содержат (см. (8)). Поскольку усеченное решение $\tilde {y}(x)$ имеет валюацию ${{{v}}_{k}}$, то хотя бы одна из компонент $\tilde {u}({{{v}}_{k}})$ – ненулевая. Тогда из (9) следует, что все компоненты $\tilde {u}({{n}_{0}})$ содержат литералы. В том числе ${{\tilde {u}}_{i}}({{n}_{0}}) = b{\kern 1pt} {{c}_{k}}$ содержит литералы, что противоречит предположению.  $\square $

Теперь покажем, что результат работы алгоритма соответствует постановке задачи.

Предложение 2. Представленный алгоритм строит усеченные лорановы решения максимально возможной степени.

Доказательство: В [1] показано, что алгоритм построения усеченных лорановых решений систем обыкновенных дифференциальных уравнений с коэффициентами в виде алгоритмически заданных рядов находит усечения всех лорановых решений заданной системы с такими коэффициентами. Новый алгоритм использует в своей работе этот же алгоритм, переходя от системы с коэффициентами в виде усеченных рядов к системе с алгоритмически заданными коэффициентами, где алгоритмы вместо незаданных коэффициентов возвращают соответствующие им литералы. Внесенные модификации исключают часть решений, которые не являются инвариантными по построению (см. модификация 1), продолжение вычислений таких решений зависит от того, равен ли нулю коэффициент при неизвестной постоянной. Таким образом оставшиеся решения являются инвариантными усеченными лорановыми решениями. Максимальность степени усечений обеспечена тем (см. модификации 2 и 3), что по построению в каждом вектор-столбце в каждой компоненте вычисленный коэффициент, имеющий степень, превышающую степень усечения, является полиномом, содержащим литералы. Это означает, что существуют разные продолжения исходной системы, соответствующие разным значениям литералов, такие, что значения этого полинома будут также различны, т.е. этот коэффициент не инвариантен.                                $\square $

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

Предложение 3. Пусть ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$ – два набора усеченных лорановых решений одной и той же системы вида (1), найденные представленным алгоритмом с двумя различными вариантами вычислений. Тогда ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$ определяют одно и то же множество $W$ усеченных лорановых решений системы (1).

Доказательство: Рассмотрим систему ${{S}_{p}}$ с полиномиальными коэффициентами, полученную из системы $S$ путем принятия равным 0 всех коэффициентов рядов при степенях выше степени усечения ряда в коэффициентах системы. Такая система является частным случаем системы с алгоритмически заданными коэффициентами. Соответственно, с помощью алгоритма поиска усеченных лорановых решений систем с алгоритмически заданными коэффициентами возможно построить усеченные лорановы решения системы ${{S}_{p}}$ со степенью усечения равной максимуму степеней усечения в компонентах вектор-столбцов в ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$. Обозначим соответствующее множество усеченных решений ${{S}_{p}}$ как Wp. Система ${{S}_{p}}$ по построению является продолжением системы $S$. Поскольку, согласно предложению 2, как множество ${{W}_{1}}$, так и множество ${{W}_{2}}$ содержат усеченные лорановы решения, то любое усеченное решение как из ${{W}_{1}}$, так и из ${{W}_{2}}$ имеет продолжение в Wp и оба множества по построению могут рассматриваться как результат исключения из Wp тех решений, которые не являются инвариантными относительно продолжений системы $S$, т.е. их вычисление определяется конкретными значениями литералов системы $S$, которые они получили в системе ${{S}_{p}}$. Докажем утверждение предложения от противного. Пусть некоторое усеченное решение $s$ имеется в ${{W}_{1}}$, но отсутствует в ${{W}_{2}}$. Это означает, что при вычислении по варианту, результатом которого является ${{W}_{2}}$, решение $s$ было исключено из Wp. Это могло произойти только, если согласно этому варианту вычислений, было определено, что $s$ неинвариантно зависит от литералов. Но это решение содержится в ${{W}_{1}}$, и поэтому от литералов не зависит. Противоречие.               $\square $

Наборы ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$ определяют одно и то же множество усеченных решений W, но задающие их вектор-столбцы могут быть различны с точностью до произвольных постоянных. Наборы комбинаций валюаций компонент в вектор-столбцах, а значит и число вектор-столбцов, в ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$ совпадают. Также совпадают степени усечений в одинаковых компонентах вектор-столбцов с одинаковыми комбинациями валюаций компонент в ${{\bar {W}}_{1}}$ и ${{\bar {W}}_{2}}$. Примером этого являются наборы, представленные на рис. 2, 4, – решения рассмотренной в разд. 3 системы.

Примечание 1. Если определитель $p(n)$ ведущей матрицы ${{B}_{0}}(n)$ индуцированной системы содержит литералы, можно показать, что существуют такие значения этих литералов, что ведущая матрица становится вырожденной, и что существуют значения литералов, при которых $p(n)$ имеет любой наперед заданный корень ${{r}_{0}}$ в дополнение к целым корням ${{r}_{1}} \ldots {{r}_{k}}$ определителя $p(n)$, имеющимся вне зависимости от значения литералов. Таким образом, набор целых корней $p(n)$ не является инвариантным. Случай когда ${\text{det}}{{B}_{0}}(n)$ содержит литералы пока исключен из случаев, охватываемых предложенным алгоритмом – задача определения возможности или невозможности вычисления усеченных лорановых решений в этом случае отложена для последующего рассмотрения.

5. РЕАЛИЗАЦИЯ И ПРИМЕРЫ

Алгоритм реализован в системе компьютерной алгебры Maple 2022 ([10]) в виде модифицированной версии процедуры LaurentSolution пакета TruncatedSeries (описание текущей версии пакета приведено в работах [913], пакет и сессия Maple с примерами использования описываемых процедур доступны по адресу http://www. ccas.ru/ca/TruncatedSeries). Исходная версия процедуры LaurentSolution предназначена для случая линейных обыкновенных дифференциальных уравнений с коэффициентами в виде усеченных рядов. Модифицированная версия работает также и с системами таких уравнений. Эта версия частично основана на реализации процедур поиска лорановых решений для систем с алгоритмически заданными коэффициентами (см. [14]).

5.1. Аргументы и результат работы процедуры

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

• Первый аргумент – система уравнений вида (1). Применение ${{\theta }^{k}}$ к вектор-столбцу неизвестных $y(x)$ записывается как theta(y(x),x,k). Матричные коэффициенты системы записываются с помощью стандартной структуры Matrix в среде Maple. Элементы матриц задаются в виде выражений $a(x) + O({{x}^{{t + 1}}})$, где $a(x)$ – полином степени не выше $t$ над полем алгебраических чисел, то есть аналогично математической записи. Умножение матрицы на столбец задается с помощью точки, как это принято в среде Maple.

• Второй аргумент – имя, обозначающее вектор-столбец неизвестных, например, y(x).

Результат работы процедуры LaurentSolution при ее применении к системе уравнений – множество усеченных лорановых решений, представленное в виде списка вектор-столбцов из набора $\bar {W}$, описанного в разд. 3. Каждый вектор-столбец представлен списком компонент. Каждый элемент этого списка имеет вид

${{C}_{{v}}}{{x}^{{v}}} + {{C}_{{{v} + 1}}}{{x}^{{{v} + 1}}} + \ldots + {{C}_{q}}{{x}^{q}} + O({{x}^{{q + 1}}}),$
где ${v}$ – валюация данной компоненты, q – степень усечения, ${{C}_{n}}$ – вычисленные коэффициенты лоранова ряда, которые являются линейными комбинациями произвольных постоянных вида $\_{{c}_{1}}$, $\_{{c}_{2}}, \ldots $ Если в качестве результата выдается пустое множество, значит лорановых решений не существует ни при каком продолжении заданной системы (определитель ведущей матрицы индуцированной системы не имеет целых корней). Также может быть возвращена константа FAIL. Это значит, что алгоритм не применим к заданной системе: ведущая матрица ее индуцированной системы вырожденная или ее определитель содержит литералы.

5.2. Примеры построения лорановых решений

Для использования модифицированной процедуры LaurentSolution, система, представленная на рис. 1, записывается в среде Maple следующим образом:

> s1 := Matrix(3,3,[[O(x^3),O(x^3),O(x^3)],

[O(x^3),-1+x+x^2+O(x^3),O(x^3)],

[O(x^3),-1+x+x^2+O(x^3),

O(x^3)]]).theta(y(x),x,2)

+ Matrix(3,3,[[1+x+O(x^2),O(x^3),O(x^3)],

[O(x^3),2-4*x-4*x^2+O(x^3),O(x^3)],

[1+x+O(x^2),2-4*x-4*x^2+O(x^3),

1 + O(x^5)]]).theta(y(x),x,1)

+Matrix(3,3,[[-1+1/2*x^2+O(x^3),

O(x^3),O(x^3)],[O(x^3),O(x^6),

O(x^3)],[-1-x+1/2*x^2+O(x^3),

-1+O(x^4), O(x^3)]]).y(x):

Применим процедуру к этой системе:

> LaurentSolution(s1, y(x));

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

Результат вызова процедуры соответствует набору на рис. 2.

Рассмотрим следующую систему ([8], Ex.8):

$\begin{gathered} \left( {\begin{array}{*{20}{c}} {1 + O({{x}^{5}})}&{O({{x}^{5}})} \\ {O({{x}^{5}})}&{1 - x + O({{x}^{5}})} \end{array}} \right)\theta y(x) + \\ + {\kern 1pt} \left( {\begin{array}{*{20}{c}} {O({{x}^{5}})}&{ - 1 + O({{x}^{5}})} \\ { - x\, + \,2{{x}^{2}}\, + \,2{{x}^{3}}\, + \,2{{x}^{4}}\, + \,O({{x}^{5}})}&{ - 2\, + \,4x\, + \,O({{x}^{5}})} \end{array}} \right)y(x)\, = \,0 \\ \end{gathered} $

Эта система записывается в среде Maple следующим образом:

> s2 := Matrix(2,2,[[1+O(x^5),O(x^5)],

[O(x^5),1-x+O(x^5)]]).theta(y(x),x,1)

+ Matrix(2,2,[[O(x^5),-1+O(x^5)],

[-x+2*x^2+2*x^3+2*x^4+O(x^5),

-2+4*x+O(x^5)]]).y(x):

Применим процедуру к этой системе:

> LaurentSolution(s2, y(x));

$\left[ {\left[ { - {{x}^{3}}\_{{c}_{2}} + {{x}^{2}}\_{{c}_{2}} - x\_{{c}_{1}} + \_{{c}_{1}} + O({{x}^{5}}),} \right.} \right.$
$\left. { - 3{{x}^{3}}\_{{c}_{2}} + 2{{x}^{2}}\_{{c}_{2}} - x\_{{c}_{1}} + O({{x}^{5}})} \right],$
$\left. {\left[ { - {{x}^{3}}\_{{c}_{2}} + {{x}^{2}}\_{{c}_{2}}\, + \,O({{x}^{7}}), - 3{{x}^{3}}\_{{c}_{2}} + 2{{x}^{2}}\_{{c}_{2}} + O({{x}^{7}})} \right]} \right]$

Алгоритм из работы [8] находит, что эта система имеет следующие усеченные лорановы решения

$\left( \begin{gathered} {{C}_{1}} - {{C}_{1}}x + {{C}_{2}}{{x}^{2}} - {{C}_{2}}{{x}^{3}} + O({{x}^{4}}) \\ - {{C}_{1}}x + 2{{C}_{2}}{{x}^{2}} - 3{{C}_{2}}{{x}^{3}} + O({{x}^{4}}) \\ \end{gathered} \right)$

Видим, что новый алгоритм подтверждает этот результат и улучшает его – во-первых, в первом векторе из построенного множества степень усечения равна 4, а не 3, т.е. подтверждено, что в обеих компонентах решения нулевой коэффициент при степени ${{x}^{4}}$ будет при любом продолжении исходной системы, и, во-вторых, также дополнительно построены усечения до степени 6 для случая, когда валюации компонент решения равны 2.

Рассмотрим еще одну систему:

$\left( {\begin{array}{*{20}{c}} {x + O({{x}^{3}})}&{O({{x}^{3}})} \\ {1 + O({{x}^{3}})}&{x + O({{x}^{3}})} \end{array}} \right)\theta y(x) + $
$\left( {\begin{array}{*{20}{c}} {O({{x}^{3}})}&{O({{x}^{3}})} \\ {O({{x}^{3}})}&{3x + O({{x}^{3}})} \end{array}} \right)y(x) = 0$

Эта система записывается в среде Maple следующим образом:

> s3 := Matrix(2,2,[[x+O(x^3),O(x^3)],

[1+O(x^3),x+O(x^3)]]).theta(y(x),x,1)

+Matrix(2,2,[[O(x^3),O(x^3)],

[O(x^3),3*x+O(x^3)]]).y(x):

Применим процедуру к этой системе:

> LaurentSolution(s3, y(x));

$FAIL$

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

${{B}_{0}}(n) = \left( {\begin{array}{*{20}{c}} 0&0 \\ n&0 \end{array}} \right)$
является вырожденной, соответственно, предложенный алгоритм не применим к этой системе. В дальнейших работах мы предполагаем доработать алгоритм и обеспечить его применимость в том числе и к этой системе.

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

В настоящей работе предложен алгоритм построения усеченных лорановых решений системы линейных обыкновенных дифференциальных уравнений с усеченными степенными рядами в роли коэффициентов для случая, когда ведущая матрица в индуцированной рекуррентной системе этой дифференциальной системы невырождена и имеет определитель, не содержащий литералы. Очевидно, что не все системы обладают таким свойством, поэтому в дальнейшем мы планируем расширить применимость алгоритма на случай вырожденной ведущей матрицы индуцированной рекуррентной системы. Мы планируем использовать версию EG$_{\sigma }^{\infty }$ алгоритма EG ([15]), предназначенную для систем с коэффициентами в виде алгоритмически заданных рядов. EG$_{\sigma }^{\infty }$ преобразует индуцированную рекуррентную систему к охватывающей ее системе с невырожденной ведущей матрицей. Предстоит решить задачу учета наличия литералов в ходе работы алгоритма EG$_{\sigma }^{\infty }$. Также мы планируем исследовать случай, когда определитель ведущей матрицы содержит литералы.

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

  1. Abramov S.A., Barkatou M.A., Khmelnov D.E. On full rank differential systems with power series coefficients // J. of Symbolic Computation. 2015. V. 68. P. 120–137.

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

  3. Рябенко А.А. Экспоненциально-логарифмические решения линейных дифференциальных систем с коэффициентами в виде степенных рядов // Программирование. 2015. № 2. С. 54–62.

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

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

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

  7. 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.

  8. Abramov S.A., Barkatou M.A. On Strongly Non-Singular Polynomial Matrices // In: Schneider C., Zima E. (eds) Advances in Computer Algebra. Springer Proceedings in Mathematics & Statistics. 2018. V. 226. P. 1–17.

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

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

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

  12. Abramov S., Khmelnov D., Ryabenko A. The TruncatedSeries Package for Solving Linear Ordinary Differential Equations Having Truncated Series Coefficients// In: Maple in Mathematics Education and Research, Springer Nature Switzerland. 2021. P. 19–33.

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

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

  15. Abramov S. EG-eliminations. J. of Difference Equations and Applications. 1999. V. 5. P. 393–433.

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