Научная библиотека GNU

редактировать
Библиотека для численного анализа на C и C ++
Научная библиотека GNU
Автор (ы) Отметить Галасси, Джеймс Тайлер, Брайан Гоф, Джерард Джангман и многие другие
Разработчик (и) Проект GNU
Первоначальный выпускМай 1996 г.; 24 года назад (1996-05)
Стабильный выпуск GSL-2.6 / 20 августа 2019 г.; 14 месяцев назад (2019-08-20)
Репозиторий ftpmirror.gnu.org / gsl /
Написано наC
Тип Числовая библиотека
Лицензия Стандартная общественная лицензия GNU
Веб-сайтwww.gnu.org / software / gsl /

Научная библиотека GNU ( или GSL ) - это программная библиотека для численных вычислений в прикладной математике и естествознании. GSL написан на C ; оболочки доступны для других языков программирования. GSL является частью проекта GNU и распространяется под Стандартной общественной лицензией GNU.

Содержание

  • 1 История проекта
  • 2 Пример
  • 3 Возможности
    • 3.1 Привязки языков программирования
    • 3.2 Поддержка C ++
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

История проекта

Проект GSL был инициирован в 1996 году физиками Марком Галасси и Джеймс Тейлер из Национальной лаборатории Лос-Аламоса. Они стремились написать современную замену широко используемым, но несколько устаревшим библиотекам Fortran, таким как Netlib. Они выполнили общий дизайн и написали первые модули; с этой готовностью они наняли других ученых.

«Общая разработка библиотеки, а также дизайн и реализация основных модулей» были выполнены Джерардом Юнгманом. Другими крупными участниками были Джим Дэвис, Рид Приедорски, М. Бут и Ф. Росси.

Версия 1.0 была выпущена в 2001 году. В последующие годы библиотека расширялась очень медленно; как говорилось в документации, сопровождающих больше интересовала стабильность, чем дополнительная функциональность. Основная версия 1 закончилась выпуском 1.16 от июля 2013 г.; это было единственное публичное мероприятие за три года 2012–2014 гг.

Активная разработка возобновилась с публикацией версии 2.0 в октябре 2015 года. Последняя версия 2.6 была выпущена в августе 2019 года.

Пример

В следующем примере программы вычисляется значение функция Бесселя для 5:

#include #include int main (void) {double x = 5.0; двойной y = gsl_sf_bessel_J0 (x); printf ("J0 (% g) =%.18e \ n", x, y); возврат 0; }

Пример программы должен быть связан с библиотекой GSL при компиляции:

gcc $ (gsl-config --cflags) example.c $ (gsl-config --libs)

Отображается результат ниже и должен соответствовать двойной точности точности:

J0 (5) = -1.775967713143382920e-01

Характеристики

Программная библиотека предоставляет возможности для:

Привязки языков программирования

Поскольку GSL написан на C, легко предоставить оболочки для других языков программирования. Такие оболочки в настоящее время существуют для

Поддержка C ++

GSL можно использовать в классах C ++, но без использования указателей на функции-члены, поскольку тип указателя на функцию-член отличается от указатель на функцию. Вместо этого следует использовать указатели на статические функции. Другой распространенный обходной путь - использование функтора . Доступны.

оболочки C ++ для GSL. Не все из них регулярно обслуживаются. Они предлагают доступ к классам матриц и векторов без необходимости использования пользователем функций malloc и free. Некоторые также предлагают поддержку для создания рабочих пространств, которые ведут себя как классы Smart pointer. Наконец, существует (ограниченная, по состоянию на апрель 2020 г.) поддержка, позволяющая пользователю создавать классы для представления параметризованной функции в виде функтора.

Хотя это и не строго оболочки, существуют некоторые классы C ++, которые позволяют пользователям C ++ использовать Научная библиотека Gnu с функциями оболочки.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-21 09:11:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте