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

Elliptic Integrals of the Second 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_2.hpp>
namespace boost { namespace math {
template <class T1, class T2>
calculated-result-type ellint_2(T1 k, T2 phi);
template <class T1, class T2, class Policy>
calculated-result-type ellint_2(T1 k, T2 phi, const Policy&);
template <class T>
calculated-result-type ellint_2(T k);
template <class T, class Policy>
calculated-result-type ellint_2(T k, const Policy&);
}} // namespaces
Description

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

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

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

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

Требуется -1 <=к <=1, в противном случае возвращается результат domain_error.

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

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

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

Требуется -1 <=к <=1, в противном случае возвращается результат domain_error.

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

Accuracy

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

Table 6.64. Error rates for ellint_2

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

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

GNU C++ версия 5.1.0
linux
двойной

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

Elliptic Integral E: Mathworld Data

Max = 1,31ε (Mean = 0,727ε)

Max = 0,656ε (Mean = 0,317ε)

(: Max = +INFε (Mean = +INFε) И другие неудачи.

Max = 0ε (Mean = 0ε)

(GSL 1.16: Max = 0.63ε (Mean = 0.325ε)
(Cephes: Max = +INF&949; (Mean = = + = = = = = = > < < > < < > < < < < > > > > >

Max = 0,656ε (Mean = 0,317ε)

Elliptic Integral E: Случайные данные

Max = 2,23ε (Mean = 0,639ε)

Max = 2.05ε (Mean = 0.632ε)

(: Max = 3.08e+04ε (Mean = 3.84e+03ε)

Max = 0ε (Mean = 0ε)

(GSL 1.16: Max = 4.4ε (Mean = 1.16ε)
(Cephes: Max = 8.92ε (Mean = 1.48&949)

Max = 2,05ε (Mean = 0,632ε)


Testing

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

Implementation

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

и


PrevUpHomeNext

Статья Elliptic Integrals of the Second 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-07-05 05:23:05/0.0040929317474365/0