LAPACK с руководством по запуску gcc - PullRequest
2 голосов
/ 10 января 2012

Мне нужна помощь для настройки LAPACK в Linux gcc.Я новичок в LAPACK и не знаю, как использовать Fortran.

Я скачал lapack-3.4.0 и создаю библиотеки для получения liblapack.a и librefblas.a.

После этого я связываю эти библиотеки со своей программой: -llapack -lrefblas

Я хотел использовать функции LAPACK, такие как dpotrf, dgetrf, dgetri и т. Д. Как включить файлы заголовков в порядкедля моего компилятора, чтобы найти функции?Нужно ли мне использовать lapacke, интерфейс C для LAPACK?

1 Ответ

0 голосов
/ 11 января 2012

Существует несколько способов использования LAPACK с c ++. Вот что я бы сделал (при условии, что вы работаете в какой-то системе * nix).

  1. Убедитесь, что у вас есть нужные библиотеки и вы знаете правильный набор параметров компилятора / компоновщика. Поскольку они написаны на Фортране, я бы начал с кода на Фортране. Как этот . Убедитесь, что вы можете скомпилировать его, используя gfortran. Возможные параметры компоновщика могут быть (в зависимости от вашей системы): -llapack, -lblas или некоторые их комбинации.

  2. Затем перейдите к использованию интерфейса C ++. Опять же, есть несколько способов сделать. Лично мне проще всего использовать интерфейс clapack, где вы объявляете функции LAPACk следующим образом:

extern "C" void dsyev_( char *jobz, char *uplo, int &n, double *a, int &lda, double *w, double *work, int &lwork, int &info);

Правильный набор параметров компоновщика снова зависит от вашей системы и может выглядеть примерно так: -llapack -lf77blas -latlas (этот набор работает в моей Ubuntu, где LAPACK поставляется из пакета atlas).

...