On Application of M.N. Lagutinski Method to Integration of Differential Equations in Symbolic Form. Part 1

Cover Page

Abstract


The method of M.N. Lagutinski (1871-1915) allows to find rational integrals and Darboux polynomials for given differential ring and thus can be used for integration of ordinary differential equations in symbolic form. A realization of Lagutinski method was made under free opensource mathematics software system Sage and will be presented in this article with application for symbolic integration of 1st order differential equations. In the first part of the article basic concepts of the Lagutinski method is briefly stated for polynomials rings. Then this method is applied to search of algebraic integrated curves for given ordinary differential equations of the form d + d with , Q[, ]. It is shown how the Lagutinski method allows to look for curves of the given order or to prove that there are not such curves. In particular questions about the optimization of computations and integration in micronomials are considered. The theory and its realization in Sage are tested on numerous examples from standard for Russia text-book by A.F. Filippov. Some recommendations for optimization of the Lagutinski method usage are made in the conclusion of the article.

Введение В 1911 г. М.Н. Лагутинский [2, 3] предложил способ отыскания частных и общих интегралов дифференцирований колец, основанный на вычислении определителей. Современное изложение этого метода для случая полиномиальных колец дано в [4,5], более общий случай рассмотрен в [6]. Этот метод подразумевает выполнение значительного числа рутинных вычислений, в целях ускорения которых был написан небольшой пакет Lagutinski [7] под Sage [1], который был представлен в 2016 году на ряде конференций по компьютерной алгебре [8-10]. В настоящей работе дан отчёт об использовании метода Лагутинского для интегрирования дифференциальных уравнений 1-го порядка в символьном виде и тестировании названного в его честь пакета этого пакета на уравнениях, взятых из задачника А.Ф. Филиппова [11]. 1.Определители Лагутинского в полиномиальных кольцах 1.1. Определители Лагутинского Пусть - полиномиальное кольцо с дифференцированием и полем констант Q. Сетное упорядоченное множество элементов кольца будем называть базисом кольца, если 1) любой элемент кольца можно представить как линейную комбинацию конченого числа элементов множества с постоянными коэффициентами; 2) произведение любых двух элементов множества принадлежит , и следует строго после обоих сомножителей, т.е. = и строго больше чисел и . В дальнейшем по умолчанию используется базис, образованный мономами в градуированном лексикографическом упорядочении (glex-упорядочении). Условимся говорить, что порядок многочлена равен наибольшему из номеров базисных элементов, входящих в разложение по базису с ненулевыми коэффициентами. Порядком дроби / будем называть максимум из порядков числителя и знаменателя. С тройкой , , свяжем последовательность определителей Лагутинского. С этой целью вообразим бесконечную матрицу, первой строкой которой служит 1, 2, . . . , второй строкой - производная первой 1, 2, . . . , третьей - вторая производная первой 21, 22, . . . , и так до бесконечности. Угловой минор ��-го порядка этой матрицы будем обозначать как ∆ и называть определителем Лагутинского ��-го порядка. Замечание 1. Эти определители относительно стандартного glex-базиса были впервые введены М.Н. Лагутинским (1871-1915) [2, 3], ему же в существенном принадлежит изложенный ниже метод отыскания интегралов дифференцирования кольца, о нем см. [12]. 1.2. Вычисление определителей Лагутинского Вычисление этих определителей реализовано в Sage в виде функции lagutinski_det(R,D,B,N). Пример 1. Вычисление определителя Лагутинского 2-го порядка в кольце = Q[, ] с дифференцированием в стандартном glex-базисе в Sage можно выполнить так: sage: R. = PolynomialRing(QQ, 2) sage: D=lambda phi: y*(x+1)*diff(phi,x)+(y^2+x+2)*diff(phi,y) sage: B= sorted(((1+x+y)^30).monomials(),reverse=0) sage: load("lagutinski.sage") None sage: lagutinski_det(R,D,B,2) y^2 + x + 2 Ресурсы, потребные для вычисления определителей Лагутинского, существенно зависят от порядка определителя. Например, в кольце Q[, ] на современном компьютере уверенно и незаметно для пользователя вычисляют определители 10 порядка, возможность же вычисления определителя 20 порядка существенно зависит от дифференцирования. Оценки сложности получены в [5]. Обычно коэффициенты этих определителей являются очень большими по абсолютному значению целыми числами, поэтому можно было бы надеяться, что переход к полю Z/() позволит существенно ускорить вычисление. Пакет Lagutinski поддерживает работу с любыми полями, с которыми может работать система. Однако вычислительные эксперименты учат, что при больших порядках переход от Q к Z/() не приводит к существенному приросту производительности. С другой стороны, вычисление определителя Лагутинского в фиксированной точке с целыми координатами, занимает заметно меньше ресурсов при условии, что подстановка координат точек предшествует вычислению определителя. 1.3. Рациональные интегралы дифференцирования кольца Определение 1. Общим или рациональным интегралом дифференцирования называют элемент поля частных исходного кольца , производная которого равна нулю. Задача 1 (об отыскании рационального интеграла). Для заданной тройки , , выяснить, допускает отыскать все многочлены Дарбу, порядок которых не превосходит заданного числа ; в случае утвердительного ответа вычислить интеграл. Решение даётся следующей теоремой. Теорема 1 (М.Н. Лагутинский, 1911). Рациональный интеграл, порядок которого не превосходит , существует тогда и только тогда, когда ∆ = 0, при этом интеграл можно вычислить как отношение миноров этого интеграла. Функция lagutinski_integral(R,D,B,N) возвращает искомый интеграл, если ∆ = 0 и ∆ -1 ̸= 0. Пример 2. Дифференцирование кольца = Q[, ] не имеет интегралов, числитель и знаменатель которых зависят от и линейно ( = 3), поскольку sage: lagutinski_det(R,D,B,3)==0 False но имеет таковой, среди функций, числитель и знаменатель которых зависят от и квадратично ( = 6), поскольку sage: lagutinski_det(R,D,B,6)==0 True Интегралом будет sage: lagutinski_integral(R,D,B,6) (-54*x^2 + 18*y^2 72*x)/(-18*y^2 36*x 54) Как отмечалось выше в 1.2, при больших порядках вычисление определителя Лагутинского как многочлена является заметно более ресурсоёмким по сравнению с вычислением его значения в одной точке с целыми коэффициентами. В пакет Lagutinski встроена функция lagutinski_det_random, которая вычисляет значение ∆ при случайных целых значениях переменных , , . . . , порождавших рассматриваемое кольцо , взятых в окне (; 100, (; 100, . . . ; за каждое применение координаты случайной точки генерируются заново. Если эта функция возвращает число, отличное от нуля, то дифференцирование не допускает рациональный интеграл, порядок которого не превосходит . Если получился нуль, то весьма вероятно, что дифференцирование таковой допускает и поэтому следует потратить ресурсы на вычисление определителя как многочлена. Пример 3. Дифференцирование кольца = Q[, ] не имеет рациональных интегралов, порядок которых меньше 50: sage: D=lambda phi: (x+4*y)*diff(phi,x) +(2*x+3*y^2)*diff(phi,y) sage: lagutinski_det_random(R,D,B,50)==0 False Пример 4. Дифференцирование кольца = Q[, ] вероятно имеет рациональный интеграл порядка 28: sage: D=lambda phi: (x+4*y)*diff(phi,x) +(2*x+3*y-5)*diff(phi,y) sage: lagutinski_det_random(R,D,B,27)==0 False sage: lagutinski_det_random(R,D,B,28)==0 True sage: lagutinski_det_random(R,D,B,28)==0 True 2. Рациональные интегралы дифференциального уравнения 2.1. Задача Дебона Задача 2 (задача Дебона). Выяснить, допускает ли заданное дифференциальное уравнение (, )d + (, )d = 0, , ∈ Q[, ], (1) интеграл в поле Q(, ), порядок которого не превосходит заданного числа , и в случае утвердительного ответа выписать этот интеграл. Замечание 2. Задача об интегрировании дифференциальных уравнений в алгебраических функциях возникла ещё в 1630-х годах, когда Дебон (Florimond de Beaune) предложил Декарту несколько «обратных задач на касательные» [13, C. 192]. В начале прошлого века эту задачу связывали с именем Пуанкаре. Замечание 3. То, что интеграл ищется именно в поле Q(, ), а не в более широком C(, ), нисколько не сужает задачу, поскольку интеграл из C(, ) уравнения (1) с точностью до мультипликативной константы всегда имеет целые коэффициенты. Задачу Дебона можно сформулировать и применительно к интегральным кривым. Задача 3 (задача Дебона). Выяснить, являются ли интегральные кривые заданного дифференциального уравнения (1) алгебраическим кривыми, порядок которых не превосходит заданного числа , и в случае утвердительного ответа выписать уравнение пучка этих кривых. Порядок в определении 3 понимается в том же смысле, что и в разделе 1.1, поэтому В теории по методу неопределённых коэффициентов можно подставить в уравнение = 0 выражение и получить систему нелинейных алгебраических уравнений для отыскания коэффициентов , , , . . . . Выяснить разрешимость этой системы можно за конечное число действий и чисто алгебраическим путём. На практике описанное решение системы нелинейных алгебраических уравнений потребует заметных вычислительных мощностей, поэтому создатели алгоритмов решения этой задачи стремятся обойти решение нелинейных систем. Среди реализованных алгоритмов следует отметить метод определителей Лагутинского и метод Ж.-А. Вейля, 1985 [14]. 2.2. Решение задачи по методу Лагутинского Задача Дебона состоит в отыскании рационального интеграла дифференцирования порядки числителя и знаменателя которого не превосходят заданного числа . Теорема 2. Дифференциальное уравнение (1) допускает рациональный интеграл, порядок которого не превосходит , тогда и только тогда, когда ∆ = 0, при этом интеграл можно вычислить как отношение миноров этого интеграла. Например, дифференциальное уравнение (1) допускает семейство интегральных кривых 2-го порядка в том и только в том случае, когда ∆6 = 0, 3-го порядка - когда ∆10 = 0 и т.д. Пример 5. Чтобы выяснить, является ли интегральные кривые уравнения ′ - (2 + 1) + 2 = -2, предложенного в [11] за № 169, кривыми второго порядка, следует вычислить ∆6. sage: R. = PolynomialRing(QQ, 2) sage: B= sorted(((1+x+y)^30).monomials(),reverse=0) sage: p=(2*x+1)*y-y^2-x^2 sage: q=-x sage: D=lambda phi: q*diff(phi,x) -p*diff(phi,y) sage: lagutinski_det(R,D,B,5)==0 False sage: lagutinski_det(R,D,B,6)==0 True ̸ Зная, что ∆6 = 0, а ∆5 = 0, можно вычислить интеграл этого уравнения: sage: lagutinski_integral(R,D,B,6) (-288*x^2 + 288*x*y 288*x)/(-288*x + 288*y) Чтобы убедится в том, что уравнение не допускает интегральных кривых порядка , достаточно вычислить определитель Лагутинского порядка = ( + 1)( + 2) в случайной точке, тем самым существенно сэкономив вычислительные Пример 6. Интегральные кривые уравнения ( - ) - (2 + 1) + = - , ресурсы. даже если они и являются алгебраическими, имеют порядок, большей 9: sage: p=(2*x+1)*y-y^2-x^2 sage: q=-x+y^2 sage: D=lambda phi: q*diff(phi,x) -p*diff(phi,y) sage: lagutinski_det_random(R,D,B,55)==0 False Часто отыскать уравнения интегральных кривых больших порядков помогает теория интегрирующего множителя, которая будет рассмотрена во второй части настоящей статьи. 2.3. Задача, в которой порядок искомого интеграла не задан В формулировке задачи 3 явно требуется задание границы для порядка искомых многочленов должна быть задана. Однако в классической парадигме интегрирования дифференциальных уравнений большое значение уделяли выяснению вопроса о существовании алгебраического интеграла произвольной степени. Задача 4 (задача Дебона). Выяснить, допускает ли заданное дифференциальное уравнение (1) интеграл в поле Q(, ), и в случае утвердительного ответа выписать этот интеграл. В теории оценка сверху для порядков интегралов заданного дифференцирования позволила бы свести эту задачу предыдущей. Однако с XVII века предпринимались многочисленные попытки нахождения оценок сверху для порядков интегралов заданного дифференциального уравнения, тем не менее эта проблема не решена и в то же время не доказана и её алгоритмическая неразрешимость. Оценки, полученные Пуанкаре в [15, С. 35-95], применимы лишь в некоторых частных случаях [2, С. 181]. Во всех современных реализациях алгоритмов отыскания рациональных интегралов дифференциальных уравнений 1-го порядка порядок интеграла полагают заданным [14]. 2.4. Задача о малочленах С практической точки зрения решение задачи 3 при больших малоинтересно. Хорошо известно, что представление решения в виде алгебраического уравнения, содержащего несколько сотен слагаемых, обладает многими недостатками, в теории характерными только для решений в степенных рядах. Поэтому интересны не какие угодно рациональные интегралы, но представимые в компактном виде, то есть в виде отношения малого числа слагаемых (малочленов). Задача 5 (о малочленах). Выяснить, допускает ли заданное дифференциальное уравнение (1) интеграл в поле Q(, ), числитель и знаменатель которого является линейной комбинацией мономов, порядки которых не превосходят заданного числа , и в случае утвердительного ответа выписать этот интеграл. При решении этой задачи по методу Лагутинского требуется вычислить много не связанных друг с другом определителей -го порядка и выяснить, равен ли из них хоть один нулю или нет, эта процедура допускает естественное распараллеливание. Эта идея реализована в виде функции lagutinski_micronomial(R,D,B,N,M), которая возвращает интеграл, представимый в виде отношения малочленов, если таковой существует. Пример 7. Выясним, допускает ли заданное дифференциальное уравнение (34 + 2)d - (54 + )d = 0 интеграл, числитель и знаменатель которого является линейной комбинацией трёх мономов, а порядок интегральных кривых не превосходит = 5. В этом случае порядок интеграла ограничен числом sage: p=-(5*x^4 + y)*y sage: q=(3*x^4 + 2*y)*x sage: D=lambda phi: q*diff(phi,x) -p*diff(phi,y) Функция lagutinski_micronomial находит интеграл sage: lagutinski_micronomial(R,D,B,21,3).factor() y^-3 * x * (x^4 + y) на современном компьютере примерно за 20 секунд. 2.5. Интегрирование тестовых задач Чтобы оценить возможности применения метода Лагутинского, обратимся к наиболее очевидному и простому источнику несложных дифференциальных уравнений - университетскому курсу «Дифференциальных уравнений», а именно к задачнику А. Ф. Филиппова [11]. Вычисление ∆55 в случайной точке (, ) позволяет сразу выделить уравнения, интегральные кривые которых вероятно имеют порядок, не превышающий 9. В учебном курсе, кончено, алгебраические кривые большого порядка не встречаются, поэтому таким путём мы выделяем все 21 уравнение, интегральные кривые которых являются алгебраическими. Для двух третей из них ∆10 = 0 и поэтому они легко интегрируются по методу Лагутинского, см. пример 5. Из оставшихся 7 номеров большинство удаётся проинтегрировать, повысив . Пример 8. Интегрирование уравнения № 198 2(′ + ) = 1 требует увеличения до 25. sage: q=x^2*y^2 sage: p=x*y^3-1 sage: D=lambda phi: q*diff(phi,x) -p*diff(phi,y) sage: lagutinski_det(R,D,B,25) 0 sage: lagutinski_integral(R,D,B,25) -x^3*y^3 + 3/2*x^2 В данном случае определитель 25-го порядка считается на удивление быстро. Путём увеличения не удаётся проинтегрировать лишь два номера - №№ 116 и 187, вычисления застревают на = 15. Первое из этих уравнений, рассмотренное выше в примере 4, имеет интеграл, представимый в виде произведения степеней двух линейных функций. Интеграл второго уравнения оказывается четырёхчленом, который за несколько минут находится при помощи функции lagutinski_micronomial(R,D,B,N,M). Следует также заметить, что уравнение № 187 - уравнение в полных дифференциалах, поэтому указанный способ, конечно, является чрезвычайно неэкономным. Заключение Проделанный вычислительный эксперимент подсказывает след. процедуру отыскания алгебраических интегральных кривых заданного дифференциального уравнения вида (1). 1. ̸ Вычислить ∆55 в случайно выбранной точке. Если ∆55 = 0, то интегральные кривые имеют 10-й порядок и более или вовсе являются трансцендентными. Если ∆55 = 0, то интегральные кривые вероятно имеют порядок, не превышающий 9. 2. 3. Если ∆55 = 0, вычислить ∆10 как функцию и . Если ∆10 тождественно равен нулю, то интегральные кривые имеет порядок, не превышающий 3-х, и они находятся по методу Лагутинского без существенных затрат. 4. Если ∆10 не равно тождественно нулю, пытаться вычислить ∆ , постепенно повышая до тех пор, пока не получится нуль или исчерпаются ресурсы. 5. Если ресурсы исчерпались, следует попытаться найти интегралы среди малочленов.

M D Malykh

Lomonosov Moscow State University

Email: malykhmd@yandex.ru
GSP-1 Leninskie Gory, Moscow, 119991, Russian Federation Faculty of Materials Sciences; Department of Applied Probability and Informatics Peoples’ Friendship University of Russia (RUDN University) 6 Miklukho-Maklaya St., Moscow, 117198, Russian Federation

Views

Abstract - 226

PDF (Russian) - 190

PlumX


Copyright (c) 2017 Малых М.Д.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.