Алгоритм Риша — алгоритм для аналитического вычисления неопределённых интегралов, использующий методы дифференциальной алгебры. Он базируется на типе интегрируемой функции и на методах интегрирования рациональных функций, корней, логарифмов, и экспоненциальных функций.
Назван в честь Роберта Генри Риша. Сам Риш, который разработал алгоритм в 1968 году, называл его «разрешающей процедурой», поскольку метод решает, является ли первообразная от функции элементарной функцией. Наиболее подробное исследование алгоритма представлено на 100 страницах книги «Алгоритмы компьютерной алгебры» Кейта Геддеса, Стефана Цапора и Джорджа Лабана.
Алгоритм Риша интегрирует элементарные функции. Лаплас решил эту проблему для рациональных функций, показав, что неопределённый интеграл рациональной функции сам является рациональной функцией с конечным количеством констант, умноженных на логарифмы рациональных функций. Программно он был реализован в начале 1960-х годов.
Лиувилль сформулировал проблему, решенную в алгоритме Риша. Он доказал аналитически, что если есть элементарное решение g для уравнения g`=f, то для констант и элементарных функций и решение существует в форме
Риш создал метод, который позволяет рассматривать только конечное множество элементарных функций в форме Лиувилля.
Алгоритм Риша был вдохновлен поведением экспоненциальных и логарифмических функций во время дифференцирования.
Для функции f eg, где f и g дифференцируемые, имеем
так что если eg была бы результатом неопределенного интегрирования, она должна была бы находиться внутри интеграла. Также, в
если бы (ln g)n был получен в результате неопределенного интегрирования, то в конечном выражении ожидалось бы несколько степеней логарифма.
Нахождение элементарной первообразной очень чувствительно к незначительным изменениям. Например, следующая функция имеет элементарную первообразную:
а именно:
Но если в выражении выше 71 сменить на 72, то будет невозможно найти элементарную первообразную. (Некоторые системы компьютерной алгебры могут в данном случае вернуть ответ как неэлементарную функцию — эллиптический интеграл, который, однако, не охватывается алгоритмом Риша.)
Следующие функции являются более сложными примерами:
Первообразная этой функции имеет короткую форму
Эффективная программная реализация теоретически построенного алгоритма оказалась сложной задачей. В случае чистых трансцендентных функций (не содержащих корней и полиномов) это относительно легко было реализовано в большинстве систем компьютерной алгебры.[1]
Случай же чистых алгебраических функций был решён и реализован в системе Reduce Джеймсом Дэвенпортом[2][3]. Общий случай был решён и реализован Мануэлем Бронштейном в Scratchpad (предшественнице системы Axiom)[4].
Алгоритм Риша в приложении к общему случаю элементарных функций не является алгоритмом в строгом смысле, потому как в процессе работы ему требуется определять, тождественны ли некоторые выражения нулю (проблема постоянных[en]). Для выражений, функции в которых элементарны, неизвестно, существует ли алгоритм, делающий такую проверку (современные системы используют эвристику). Более того, если в список элементарных функций добавить абсолютную величину, такого алгоритма не существует (теорема Ричардсона[en]). Данная проблема имеется и в делении многочленов столбиком: оно не будет разрешимо, если нельзя определить равенство коэффициентов нулю.
Почти каждый нетривиальный алгоритм, использующий многочлены, использует алгоритм их деления, как и алгоритм Риша. Если поле констант вычислимо, то проблема равенства нулю решаема, тогда алгоритм Риша полон. Примерами вычислимых полей констант являются и .
Такая же проблема имеется и в методе Гаусса, который тоже является необходимым для многих частей алгоритма Риша. Метод Гаусса будет давать некорректный результат, если невозможно правильно определить, будет ли базис идентичен нулю.
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .