О применении метода М.Н. Лагутинского к интегрированию дифференциальных уравнений 1-го порядка. Часть 1. Отыскание алгебраических интегралов

Обложка

Цитировать

Полный текст

Аннотация

Метод М.Н. Лагутинского (1871-1915) позволяет искать рациональные интегралы и многочлены Дарбу заданного дифференциального кольца и поэтому может быть использован при интегрировании обыкновенных дифференциальных уравнений в символьном виде. В настоящей статье представлена реализация метода Лагутинского, выполненная в свободной системой компьютерной алгебры Sage, и дан обзор её возможностей по интегрированию дифференциальных уравнений 1-го порядка в символьном виде. В первой части статьи кратко изложены основные понятия метода Лагутинского для полиномиальных колец, затем этот метод приложен к отысканию алгебраических интегральных кривых дифференциальных уравнений вида d + d , где , Q[, ]. Показано, как метод Лагутинского позволяет искать кривые заданного порядка или убеждаться в несуществовании таковых. Особо рассмотрены вопросы об ускорении вычислений и отыскании интегралов среди малочленов. Теория и её реализация протестированы на примерах из задачника А.Ф. Филиппова. В заключении даны рекомендации по оптимальному использованию метода Лагутинского.

Полный текст

Введение В 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.<x,y> = 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.<x,y> = 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. Если ресурсы исчерпались, следует попытаться найти интегралы среди малочленов.
×

Об авторах

Малых Дмитриевич Малых

Московский государственный университет им. М.В. Ломоносова

Email: malykhmd@yandex.ru
Факультет наук о материалах; Кафедра прикладной информатики и теории вероятностей Российский университет дружбы народов ул. Миклухо-Маклая, д. 6, Москва, Россия, 117198 Ленинские Горы, Корпус «Б», Москва, Россия, 119991

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

  1. Stein W.A. et al., 2015. Sage Mathematics Software (Version 6.7). The Sage Development Team. http://www.sagemath.org.
  2. Лагутинский М.Н. Приложение полярных операций к интегрировананию обыкновенных дифференциальных уравнений в конечном виде // Сообщ. Харьков. матем. общ. Вторая сер. 1911. Т. 12. С. 111-243.
  3. Лагутинский М.Н. О некоторых полиномах и связи их с алгебраическим интегрированием обыкновенных дифференциальньных алгебраических уравнений // Сообщ. Харьков. матем. общ. Вторая сер. 1912. Т. 13. С. 200-224.
  4. Christopher C., Libre J., Vit´orio Pereira J. Multiplicity of Invariant Algebraic Curves in Polynomial Vector Fields // Pacific J. Math. 2007. Vol. 229, No 1. P. 63-117.
  5. Ch´eze G. Computation of Darboux Polynomials and Rational First Integrals with Bounded Degree in Polynomial Time // Journal of Complexity. 2011. Vol. 27, No 2. Pp. 246-262.
  6. Малых М.Д. Об отыскании рациональных интегралов систем обыкновенных дифференциальных уравнений по методу М.Н. Лагутинского // Вестник НИЯУ МИФИ. 2016. Т. 5, № 24. С. 327-336.
  7. Malykh M.D., 2016. Lagutinski.sage, ver. 1.5. RUDN University. http://malykhmd.neocities.org.
  8. Malykh M.D. On M.N. Lagutinski Method for Integration of Ordinary Differential Equations // International Conference “Polynomial Computer Algebra’2016”. 2016. Pp. 57-58.
  9. Малых М.Д. Об интегрировании дифференциальных уравнений // Компьютерная алгебра. Материалы международной конференции. 2016. С. 25-29.
  10. Малых М.Д. Об интегрировании дифференциальных уравнений первого порядка в конечном виде // Пятая международная конференция «Проблемы математической и теоретической физики и математическое моделирование». Сборник докладов. 2016. С. 81-82.
  11. Филиппов А.Ф. Сборник задач по дифференциальным уравнениям. Ижевск: R&C, 2000.
  12. Добровольский В.А., Стрельцын Ж., Локоть Н.В. Михаил Николаевич Лагутинский (1871-1915) // Историко-математические исследования. 2001. Т. 6. С. 111-127.
  13. Декарт Р. Геометрия с приложением избранных работ П. Ферма и переписки Декарта. Москва-Ленинград: ГОНТИ НКТП СССР, 1938.
  14. Efficient Algorithms for Computing Rational First Integrals and Darboux Polynomials of Planar Polynomial Vector Fields / A. Bostan, G. Cheze, T. Cluzeau, J.-A. Weil // Math. Comp. 2016. Т. 85. С. 1393-1425.
  15. Poincar´e H. Œuvres. Paris: Gautier, 1934. Vol. 3.

© Малых М.Д., 2017

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах