Почему мне не хватает полиномиальных функций GSL Эрмита [libgsl-dev]?

Я установил GSL на ubntu 16.04, используя:

sudo apt-get install libgsl2 libgsl-dev gsl-bin

Установленная версия - 2.1 + dfsg-2. Это работает с некоторыми вещами, но не может вычислить многочлены Эрмита. Код теста:

// include files
#include <iostream>
#include <iomanip>
#include <fstream>
#include <math.h>
using namespace std;

#include <gsl/gsl_sf_bessel.h>  // gsl Bessel special function header 
file
//packages I need
#include <gsl/gsl_sf_gamma.h>
#include <gsl/gsl_sf_hermite.h>

int
main (void)
{
  double x = 5.0;   // just a random test value

  double y = gsl_sf_bessel_J0 (x);   // see the GSL manual for details

  cout << "J0(" << x << ") = "
       << setprecision(18) << setw(20) << y << endl;

  y = gsl_sf_hermite_phys(10,x);   // see the GSL manual for details
  cout << "H10(" << x << ") = "
       << setprecision(18) << setw(20) << y << endl;

  return 0;
}

Он не компилируется с g ++ gsl_test.cpp -lgsl -lgslcblas -lm . Ошибка:

gsl_test.cpp:(.text+0xcd): undefined reference to`gsl_sf_hermite_phys'
collect2: error: ld returned 1 exit status

Я знаю, что "gsl_sf_hermite_phys" существует, потому что я могу использовать его в системе, где я установил gsl вручную. В худшем случае я могу просто установить gsl вручную самостоятельно, но я хотел бы иметь возможность просто использовать команду терминала для установки и иметь полностью работающую и обновленную установку GSL.

** Обновление: ** Оказывается, заголовок gsl / gsl_sf_hermite.h отсутствует в 2.1 + dfsg-2. Я, должно быть, переписал старую установку, не осознавая этого.

Думаю, мой вопрос в том, почему нет полиномов Эрмита и как установить GSL через терминал, чтобы они там были.

1
задан 19 February 2018 в 03:11

1 ответ

Упомянутый gsl/gsl_sf_hermite.h заголовочный файл доступен в более новых релизах Ubuntu:

1
ответ дан 7 December 2019 в 15:23

Другие вопросы по тегам:

Похожие вопросы: