Você precisa instalar o lapack
e o libblas
.
sudo apt-get install build-essential
sudo apt-get install liblapack*
sudo apt-get install libblas*
O verdadeiro truque está em chamar as funções da biblioteca e vinculá-las.
LAPACK
Cabeçalho
Nenhum cabeçalho especial é necessário. Somente os cabeçalhos comuns estarão disponíveis.
#include <stdio.h>
#include <math.h>
Função protótipo e chamada de função
Todas as funções devem anexar sublinhado ( _
) ao declarar protótipo e chamada. É importante. Digamos que eu chame uma função zheev do lapack. Seu protótipo deve ser como,
extern void zheev_( char* jobz, char* uplo, int* n, dcomplex* a, int* lda,
double* w, dcomplex* work, int* lwork, double* rwork, int* info );
Vincule e execute um código no terminal
$ gcc code.c -o code -llapack -lblas
$ ./code
Você precisa usar -lm
flag para usar a biblioteca de matemática. Além disso, você pode usar -Wall
para todos os avisos.
BLAS
Usar blas
é bem simples.
Cabeçalho
Use cabeçalho especial junto com os outros,
#include <stdio.h>
#include <cblas.h>
Chamada de função
Basta ligar para a função
cblas_dgemv(CblasRowMajor, CblasNoTrans, 3, 3, 1.0, m, 3, x, 1, 0.0, y, 1);
Vincule e execute um código no terminal
$ gcc code_blas.c -o code_blas -lblas -lm
$ ./code_blas
Você pode ter alguns bons exemplos aqui