Главная       Скачать       Коммерческая поддержка       FAQ       Forum       О нас       Английская версия

Эллиптические интегралы первого и второго рода

Эллиптические интегралы первоначально появились в задаче вычисления длины дуги эллипса. В настоящее время эллиптическим интегралом называется любая функция f, имеющая вид

где R(x,y) - рациональная функция двух аргументов, P(t) - квадратный корень из полинома третьей или четвертой степени, без повторяющихся корней, а c - константа. В общем случае, эллиптический интеграл не выражается в элементарных функциях. Однако любой эллиптический интеграл может быть приведен к форме, содержащей интегралы рациональных функций и, возможно, три канонических интеграла - эллиптические интегралы первого, второго и третьего рода. В этом модуле представлены алгоритмы для вычисления эллиптических интегралов первого и второго рода.

Эллиптические интегралы первого рода

Неполный эллиптический интеграл первого рода имеет вид

Для его вычисления служит подпрограмма IncompleteEllipticIntegralK.

Важным частным случаем неполного эллиптического интеграла является полный эллиптический интеграл первого рода, который имеет вид

и вычисляется подпрограммой EllipticIntegralK.

Следует отметить, что в точке m=1 этот интеграл имеет сингулярность, в окрестностях которой точность вычисления падает (речь идет о малых окрестностях, сравнимых по величине с машинной точностью). Вместе с тем, в окрестностях ноля числа с плавающей запятой представляются с большей точностью. Поэтому если требуется повышенная точность в окрестностях сингулярности, то можно воспользоваться подпрограммой EllipticIntegralKHighPrecision, которая вычисляет не K(m), а K(1-m), что позволяет переместить сингулярность из точки m=1 в точку m=0.

Эллиптические интегралы второго рода

Неполный эллиптический интеграл второго рода имеет вид

Для его вычисления служит подпрограмма IncompleteEllipticIntegralE.

Важным частным случаем неполного эллиптического интеграла является полный эллиптический интеграл второго рода, который имеет вид

и вычисляется подпрограммой EllipticIntegralE.

This article is intended for personal use only.

Скачать ALGLIB

C#

Исходный код на C#

Downloads page

 

C++

Исходный код на C++

Downloads page

 

C++, арифметика высокой точности

Исходный код на C++, использующий библиотеки MPFR/GMP.

Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.

Downloads page

 

FreePascal

Исходный код на Free Pascal.

Downloads page

 

Delphi

Исходный код на Delphi.

Downloads page

 

VB.NET

Исходный код на VB.NET.

Downloads page

 

VBA

Исходный код на VBA.

Downloads page

 

Python

Исходный код на Python (CPython и IronPython).

Downloads page

 

 

ALGLIB® - numerical analysis library, 1999-2017.
ALGLIB is registered trademark of the ALGLIB Project.