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

Exponential Integral En

Boost , Math Toolkit 2.5.0 , Exponential 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/expint.hpp>
namespace boost{ namespace math{
template <class T>
calculated-result-type expint(unsigned n, T z);
template <class T, class Policy>
calculated-result-type expint(unsigned n, T z, const Policy&);
}} // namespaces

Тип возврата этих функций вычисляется с использованием правил расчета типа результата : тип возврата double, если T является целым типом, а T иначе.

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

Description
template <class T>
calculated-result-type expint(unsigned n, T z);
template <class T, class Policy>
calculated-result-type expint(unsigned n, T z, const Policy&);

Возвращает экспоненциальный интеграл En z:

Accuracy

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

Table 6.74. Error rates for expint (En)

Microsoft Visual C++ версия 12.0
Win32

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

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

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

Экспоненциальный интегральный En

Max = 7.16ε (Средний = 1,85ε);

Max = 0,589ε (Mean = 0.0331ε)

(GSL 1.16: Max = 58.5ε (Mean = 17.1ε))

Max = 9.97ε (Средний = 2.13ε);

Max = 9.97ε (Средний = 2.13ε);

Экспоненциальный интегральный En: малые значения z

Max = 2.62ε (Средний = 0,531ε);

Max = 0ε (Mean = 0ε)

(GSL 1.16: Max = 115ε (Mean = 23.6ε))

Макс = 1,99ε (среднее значение = 0,559ε;)

Макс = 1,99ε (среднее значение = 0,559ε;)

Экспоненциальный интегральный E1

Макс = 0,988ε (среднее значение = 0,486ε);

Max = 0,556ε (Mean = 0.0625ε)

(GSL 1.16: Max = 0.988ε (Mean = 0.469ε))

Макс = 0,965ε (среднее значение = 0,414ε);

Макс = 0,965ε (среднее значение = 0,409ε;)


Testing

Тесты для этих функций состоят из двух частей: базовые проверки здравомыслия используют точечные значения, рассчитанные с использованием онлайн-оценщика Mathworld, в то время как проверки точности используют высокоточные тестовые значения, рассчитанные с точностью 1000 бит с NTL::RR и этой реализацией. Обратите внимание, что общие и типоспецифические версии этих функций используют различные реализации внутри, поэтому это дает нам достаточно независимые данные тестирования. Использование наших тестовых данных для тестирования других «известных хороших» реализаций также обеспечивает дополнительную проверку здравомыслия.

Implementation

Общая версия этой функции использует непрерывную фракцию:

для большого x и бесконечного ряда:

для малых x.

Если точность x известна во время компиляции и составляет 113 бит или меньше по точности, то рациональные приближения , разработанные JM, используются для случая n == 1.

Для x < 1 аппроксимирующая форма представляет собой минимаксное приближение:

и для x > 1 Чебышев интерполировал приближение формы:

используется.


PrevUpHomeNext

Статья Exponential Integral En раздела Math Toolkit 2.5.0 Exponential Integrals может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

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