~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 5FC90480521A0A03CF05FFBD76B8B837__1715861400 ✰
Заголовок документа оригинал.:
✰ GNU Scientific Library - Wikipedia ✰
Заголовок документа перевод.:
✰ Научная библиотека GNU — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/GNU_Scientific_Library ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/5f/37/5fc90480521a0a03cf05ffbd76b8b837.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/5f/37/5fc90480521a0a03cf05ffbd76b8b837__translat.html ✰
Дата и время сохранения документа:
✰ 20.06.2024 02:06:05 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 16 May 2024, at 15:10 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Научная библиотека GNU — Википедия Jump to content

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

Из Википедии, бесплатной энциклопедии
Оригинальный автор(ы) Марк Галасси , Джеймс Тейлер, Брайан Гоф, Джерард Юнгман и многие другие.
Разработчики) Проект GNU
Начальная версия май 1996 г .; 28 лет назад ( 1996-05 )
Стабильная версия
2.7.1 [1]  Отредактируйте это в Викиданных / 30 ноября 2021 г.
Репозиторий ftpmirror .gnu .org /gsl /
Написано в С
Тип Числовая библиотека
Лицензия 2007: GPL-3.0 или новее [а]
1996: GPL-2.0 или более поздняя версия [б]
Веб-сайт www .gnu .org /программное обеспечение /gsl /

( Научная библиотека GNU или GSL ) — это библиотека программного обеспечения для численных вычислений в прикладной математике и естественных науках . GSL написан на C ; оболочки доступны для других языков программирования. GSL является частью проекта GNU. [2] и распространяется по лицензии GNU General Public License .

История проекта [ править ]

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

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

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

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

Пример [ править ]

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

#include   <stdio.h> 
 #include   <gsl/gsl_sf_bessel.h> 

 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++ , но без указателей на функции-члены, поскольку тип указателя на функцию-член отличается от типа указателя на функцию . [23] Вместо этого необходимо использовать указатели на статические функции. Другой распространенный обходной путь — использование функтора .

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

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

См. также [ править ]

Примечания [ править ]

  1. ^ GPL-3.0 или новее со 2 июля 2007 г.
  2. ^ GPL-2.0 или более поздняя версия с 8 июля 1996 г. по 02 июля 2007 г.

Ссылки [ править ]

  1. ^ «Выпустите версию 2.7.1, чтобы исправить номера версий libtool» .
  2. ^ «GNU — Каталог свободного программного обеспечения» .
  3. ^ Перейти обратно: а б с Домашняя страница GSL .
  4. ^ Проектный документ GSL .
  5. ^ Использование библиотеки. Пример программы . Документация ГСЛ.
  6. ^ Привязки AMPL для Научной библиотеки GNU. Архивировано 28 октября 2021 г. в Wayback Machine .
  7. ^ Перейти обратно: а б ccgsl: интерфейс C++ для научной библиотеки GNU ;
  8. ^ Перейти обратно: а б GSL — оболочки C++ для GSL. Архивировано 29 января 2015 г. на Wayback Machine ;
  9. ^ Перейти обратно: а б GSLwrap: класс-оболочка C++ для научной библиотеки GNU ;
  10. ^ Перейти обратно: а б gslcpp: современная библиотека C++, состоящая только из заголовков, включающая научную библиотеку GNU .
  11. ^ FGSL — интерфейс на Фортране к Научной библиотеке GNU .
  12. ^ Пакет hmatrix-special, интерфейс для специальных функций GSL .
  13. ^ Пакет hmatrix-gsl, чисто функциональный интерфейс для выбранных числовых вычислений, внутренне реализованный с использованием GSL .
  14. ^ Пресеты JavaCPP для GSL .
  15. ^ Интерфейс Джулии к GSL .
  16. ^ GSLL, Научная библиотека GNU для Lisp .
  17. ^ gsl-ocaml: привязки OCaml к GSL .
  18. ^ Интерфейс Python для научной библиотеки GNU .
  19. ^ RcppGSL: интеграция Rcpp для векторов и матриц GNU GSL .
  20. ^ gsl: оболочка для научной библиотеки Gnu .
  21. ^ rb-gsl: Ruby/GSL — это Ruby-интерфейс к Научной библиотеке GNU для численных вычислений с помощью Ruby .
  22. ^ ржавчина-gsl: привязка Rust для библиотеки GSL (Научная библиотека GNU).
  23. ^ Указатели на функции-члены . Архивировано 13 октября 2004 г. в Wayback Machine .
  24. ^ o2scl Объектно-ориентированная библиотека научных вычислений ;
  25. ^ да .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 5FC90480521A0A03CF05FFBD76B8B837__1715861400
URL1:https://en.wikipedia.org/wiki/GNU_Scientific_Library
Заголовок, (Title) документа по адресу, URL1:
GNU Scientific Library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)