GNU Scientific Library

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
GNU Scientific Library
Розробник(и) Проект GNU
Стабільний випуск 1.15 (6 травня 2011 )
Написано на C
Платформа багатоплатформенна
Ліцензія GNU General Public License
Сайт http://www.gnu.org/software/gsl/

GNU Scientific Library (GSL) — бібліотека математичних підпрограм, написана на мові C, частина проекта GNU, розповсюджується під GNU General Public License. Бібліотека призначена для проведення прикладних та наукових математичних розрахунків.

Можливості[ред.ред. код]

Бібліотека містить підпрограми, які охоплють такі області математичних обчислень

Підтримка C++[ред.ред. код]

GSL можна використовувати в класах C++, але без використання вказівників методів класів, оскільки тип вказівника до функції-методу відрізняється від типу вказівника на функцію[1]. Потрібно використовувати вказівники на статичні фунції або функтори. Існують також упаковки функцій GSL в класи C++[2], але більшість з них має нерегулярну підтримку.

Підтримка Fortran[ред.ред. код]

Існує відкрита бібліотека FGSL[3] котра надає об'єктно-орієнтований інтерфейс для програм на сучасному фортрані (90-2008). Пакет розповсюджується за ліцензією GPL. Обновлюється регулярно але відображення всіх можливостей GSL в FGSL поки що наштовхується на неповну підтримку компіляторами останнього стандарту мови фортран.

Приклад[ред.ред. код]

Наведена програма обраховує значення функції Бесселя від 5[4]:

#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

Виноски[ред.ред. код]