GNU Scientific Library
GNU Scientific Library (или GSL) это библиотека, написанная на языке программирования C для численных вычислений в прикладной математике и науке. GSL является частью проекта GNU и распространяется на условиях лицензии GPL.
GNU Scientific Library | |
---|---|
Тип | библиотека |
Разработчик | Проект GNU |
Написана на | Си[1] |
Операционная система | GNU/Linux[2], BSD[2], Microsoft Windows[2], macOS[2] и GNU/Hurd[2] |
Первый выпуск | 1996 |
Последняя версия | |
Лицензия | GPL 3.0+[4][5] |
Сайт | gnu.org/software/… (англ.) |
Медиафайлы на Викискладе |
GSL используется, в частности, в таком программном обеспечении, как PSPP и Perl Data Language.
Пример
Следующая программа вычисляет значение функции Бесселя для 5:
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int main(void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0(x);
printf("J0(%g) = %.18e\n", x, y);
return 0;
}
Программа должна быть скомпонована с библиотекой GSL после завершения компиляции:
gcc $(gsl-config --cflags) example.c $(gsl-config --libs)
Вывод программы:
J0(5) = -1.775967713143382920e-01
Возможности
- Элементарные функции
- Комплексные числа
- Полиномы
- Специальные функции
- Векторы и матрицы
- Перестановки
- Сочетания
- Сортировка
- Линейная алгебра
- Собственные векторы, значения и пространства
- Быстрые преобразования Фурье
- Численное интегрирование
- Генераторы псевдослучайных чисел
- Генераторы квазислучайных чисел
- Распределения вероятностей
- Статистика
- Гистограммы
- Кортежи
- Интегрирование методом Монте-Карло
- Алгоритм имитации отжига
- Обыкновенные дифференциальные уравнения
- Интерполяция
- Численное дифференцирование
- Разложение по полиномам Чебышёва
- Суммирование рядов
- Преобразование Ханкеля
- Поиск корней
- Оптимизация
- Метод наименьших квадратов
- Алгоритм Левенберга — Маркардта
- Физические константы
- Операции с числами с плавающей запятой в формате IEEE
Поддержка C++
GSL может использоваться в классах C++, исключая использование указателей на методы, потому что тип указателя на метод отличается от типа указателя на функцию. Вместо этого должны использоваться указатели на статические функции.
Примечания
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.