Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование? |
Интегрирование полиномов и рациональных функций. Некоторые сведения из дифференциальной алгебры. Структурная теорема
Интегрирование полиномов и рациональных функций
Для решения простейших дифференциальных уравнений вида
![]() |
( 22.1) |
![f(x)](/sites/default/files/tex_cache/50bbd36e1fd2333108437a2ca378be62.png)
![g(x)](/sites/default/files/tex_cache/e84fec1e074026d6fa8e3155482c35c3.png)
![f(x)](/sites/default/files/tex_cache/50bbd36e1fd2333108437a2ca378be62.png)
Прежде чем переходить к основной части данного раздела, напомним некоторые результаты математического анализа.
В этом разделе символом будем обозначать класс
функций, к которому
принадлежит функция
из правой части уравнения (22.1), а
символом
- класс функций, в котором выбирается решение.
Прежде всего рассмотрим случай, когда - кольцо полиномов
от
одной переменной над некоторым кольцом
характеристики 0.
Предполагается,
что мы умеем выполнять арифметические операции в поле
, в
частности,
может совпадать с полем
. В этом случае любое уравнение вида
(22.1) имеет
решение в этом же классе функций, и алгоритм его нахождения хорошо известен:
если
, то первообразная имеет вид
, где
- произвольная
константа ( константа
интегрирования )
Следующим по сложности идет случай, когда - поле
рациональных функций
от одной переменной. Для простоты будем считать,
что поле
коэффициентов
совпадает с полем рациональных чисел
. Если класс
совпадает с
, то решение уравнения (22.1) существует
далеко не всегда.
Однако можно класс
несколько расширить, добавив к нему
алгебраические
числа и операцию логарифмирования полиномов. Полученный класс будем обозначать
, и тогда любое уравнение вида
(22.1), где
, разрешимо в классе
.
Напомним два метода решения уравнения (22.1) в этом случае.
I метод.
Пусть . Предположим, что мы умеем
находить
разложение функции
в сумму простейших
дробей:
. Проинтегрировать сумму
почленно не представляет труда, пользуясь тем, что
![\int\frac1{(x-\alpha)^j}dx =\begin{cases}\ln(x-\alpha)+c
&\text{ при }j=1\\-\frac1{(j-1)(x-\alpha)^{j-1}}+c&\text{ при }
j>1.\end{cases}](/sites/default/files/tex_cache/13b4ac2b9b7cbadda88de22cefc05d78.png)
![f(x)](/sites/default/files/tex_cache/50bbd36e1fd2333108437a2ca378be62.png)
![\alpha_i](/sites/default/files/tex_cache/cd0f1069db14b3485b705eb04d3e58a4.png)
![f(x)](/sites/default/files/tex_cache/50bbd36e1fd2333108437a2ca378be62.png)
II метод.
Как и прежде, предполагаем, что
и что мы нашли все полюса
функции
на комплексной плоскости.
Разложим в окрестности
каждого полюса
функцию
в ряд Лорана,
точнее, вычислим
главную часть разложения,
, где
- порядок полюса в точке
. Если
-
первообразная функции
, то главная часть разложения функции
в
точке
имеет
вид
![\bar g_i(x)= \sum\limits_{j=n_i}^2\frac {c_{ij}}{-j+1}(x-\alpha
_i)^{-j+1}+c_{i1}\ln(x-\alpha _i).](/sites/default/files/tex_cache/bf83aca7382a93b4eaf9f61948d00486.png)
![g(x)-\sum\limits_i \bar g_i(x)](/sites/default/files/tex_cache/97acdc187c717780b3d2893364d46c86.png)
![\max (\deg p-\deg q, -1) +1](/sites/default/files/tex_cache/58052db4e4f5d93f2d40d9362b7d76a7.png)
![f(x)](/sites/default/files/tex_cache/50bbd36e1fd2333108437a2ca378be62.png)
![\infty](/sites/default/files/tex_cache/7ed9abff4dafd78d08e616c899412e92.png)
При реализации обоих методов основная трудность состоит в нахождении
полюсов функции
. При этом приходится работать в алгебраическом расширении
поля
. Однако для записи ответа часто
оказывается
достаточным меньшее расширение поля
, чем
.
Читателю из курса анализа известно, что интегрирование рациональных функций с действительными коэффициентами осуществляется без алгебраического расширений поля констант (т. е. без использования комплексных чисел), а только с помощью логарифмов и арктангенсов рациональных функций. В действительности, в этих вычислениях неявно используются комплексные числа, поскольку арктангенсы выражаются через логарифмы с комплексными аргументами.
Вычисления в полях алгебраических чисел легко описываются теоретически, но при реализации на компьютере эти вычисления требуют весьма значительного времени счета и памяти для размещения результатов (особенно промежуточных). И время счета, и объем используемой памяти сильно зависят от степени расширения. В последнее время получены более эффективные алгоритмы интегрирования рациональных функций, позволяющие выполнять все вычисления, не прибегая к алгебраическим расширениям, большим чем то, которое требуется для записи ответа. Не рассматривая этот вопрос в полном объеме, приведем ниже метод Остроградского нахождения рациональной части интеграла рациональной функции.
Предположим, что рациональная функция представлена в
виде суммы
полинома
и правильной дроби (т. е. отношения двух
полиномов, в
котором степень числителя меньше степени знаменателя)
.
Мы можем
отдельно интегрировать полиномиальную
и рациональную
части
функции
. Интеграл от
является полиномом,
и его вычисление не
представляет труда. Интеграл от
представляется в
виде суммы
правильной дроби
и логарифмической части
интеграла.
Логарифмическая часть получается от интегрирования правильных дробей, в
знаменателе которых стоят неприводимые полиномы (в первой степени). Сумма
таких дробей является правильной дробью, знаменатель
которой
свободен от квадратов и делит знаменатель исходной функции
. Алгоритм
нахождения
описан в параграфе "Разложение на свободные от
квадратов
множители". Как легко следует из первого метода интегрирования, рациональная
часть
интеграла функции
является
правильной дробью,
знаменатель
которой получается из знаменателя функции
делением его на
. Числитель
рациональной части однозначно
определяется условиями:
и
- правильная рациональная дробь со
знаменателем
. Вычисление полинома
осуществляется
методом неопределенных
коэффициентов.
Два изложенных выше метода интегрирования рациональных функций обобщаются на
различные более общие классы функций. Для формулирования основных результатов
нам понадобится ввести некоторые определения. В частности, выше было
использовано обозначение , где
- алгебраическое
число. Ниже будет объяснено, что скрывается за этим обозначением.
Хотя проблематика интегрирования в конечном виде возникла из математического и функционального анализа, описание удобнее давать в терминах дифференциальной алгебры.