Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Elliptic Integrals of the First Kind - Legendre Form

Boost , Math Toolkit 2.5.0 , Elliptic Integrals

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Synopsis
#include <boost/math/special_functions/ellint_1.hpp>
namespace boost { namespace math {
template <class T1, class T2>
calculated-result-type ellint_1(T1 k, T2 phi);
template <class T1, class T2, class Policy>
calculated-result-type ellint_1(T1 k, T2 phi, const Policy&);
template <class T>
calculated-result-type ellint_1(T k);
template <class T, class Policy>
calculated-result-type ellint_1(T k, const Policy&);
}} // namespaces
Description

Эти две функции оценивают неполный эллиптический интеграл первого родаF(φ, k)и его полный аналогK(k) = F(π/2, k).

Тип возврата этих функций вычисляется с использованием правил расчета типа результата, когда T1 и T2 являются различными типами: когда они являются одним и тем же типом, то результат является тем же типом, что и аргументы.

template <class T1, class T2>
calculated-result-type ellint_1(T1 k, T2 phi);
template <class T1, class T2, class Policy>
calculated-result-type ellint_1(T1 k, T2 phi, const Policy&);

Возвращает неполный эллиптический интеграл первого родаF(φ, k):

Требует -1<= k<= 1, иначе возвращает результатdomain_error.

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

template <class T>
calculated-result-type ellint_1(T k);
template <class T>
calculated-result-type ellint_1(T k, const Policy&);

Возвращает полный эллиптический интеграл первого родаК(к):

Требует -1<= k<= 1, иначе возвращает результатdomain_error.

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

Accuracy

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

Table 6.63. Error rates for ellint_1

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
длинный двойной

GNU C++ версия 5.1.0
Linux
Double

Солнечный компилятор версии 0x5130
Солнечный солярис

Эллиптический интеграл F: Mathworld Data

Макс = 0,919ε (Средний = 0,542ε)

Max = 0.94ε (Mean = 0,509ε)

:Max = +INFε (Mean = +INFε)И другие сбои.

Макс = 0ε (Mean = 0ε)

GSL 1.16:Макс = 0.919ε (Mean = 0,544ε)]
Цефес:Макс = +INFε (Mean = +INFε)И другие сбои.

Макс = 0,94ε (Средний = 0,509ε)

Эллиптический интеграл F: случайные данные

Макс = 2.26ε (Средний = 0.631ε)

Макс = 1,57ε (Средний = 0,56ε)

:Макс = 2,56ε (Средний = 0,816ε)]

Макс = 0ε (Mean = 0ε)
GSL 1.16:Макс = 2.99ε (Mean = 0.797ε)]
Цефес:Макс = 2.18ε (Mean = 0,535ε)]

Макс = 1,57ε (Средний = 0,561ε)


Testing

В тестах используется смесь значений точечных испытаний, рассчитанных с использованием онлайн-калькулятораfunctions.wolfram.com, и случайных тестовых данных, генерируемых с использованием NTL::RR с 1000-битной точностью и этой реализацией.

Implementation

Эти функции реализуются в терминах интегралов Карлсона с использованием отношений:

и


PrevUpHomeNext

Статья Elliptic Integrals of the First Kind - Legendre Form раздела Math Toolkit 2.5.0 Elliptic Integrals может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Elliptic Integrals ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:47:03/0.0041220188140869/0