Lapackpp es una librería estándar para álgebra lineal la cual puede ser instalada muy fácilmente en Pardus 2009.2. Para ello, vamos a basarnos en una instalación previa realizada sobre Debian la cual, a su vez, está basada en una instalación sobre Ubuntu. En primer lugar, averiguamos con pisi cualquier información relativa a lapack en Pardus.
pisi sr lapack lapack - Linear Algebra PACKage
e instalamos (para tener todas las dependencias cubiertas) con:
pisi it gcc lapack
Luego bajamos está versión de lapackpp:
la desempaquetamos en modo gráfico y ya dentro de la carpeta ejecutamos:
./configure make
y como superusuario:
make install cp /usr/local/lib/liblapackpp.so* /usr/lib/
El ejemplo usado, basado en el de Linux Music 3.0, para probar Lapackpp en Pardus fue el siguiente:
#include <iostream> #include <stdio.h> #include <lapackpp/laslv.h> using namespace std; int main(){ double a[]={ 1.0, 2.0, 3.0, 2.0, 1.0, 4.0, 3.0, 4.0, 1.0}; LaVectorDouble v(3); LaVectorDouble c(3); LaGenMatDouble A(a,3,3); LaEigSolve(A,c,v,A); cout<<"\nLos autovectores son:"<< endl; cout << A; cout << "\nLos autovalores son:"<< endl; cout << c; return 0; }
Se grabó como autov.c++ y se compiló y se ejecutó con:
g++ autov.c++ -o autov -llapackpp ./autov
generando está salida:
Los autovectores son: 0.505785 0.824038 -0.255232 0.584374 -0.544925 -0.601302 0.634577 -0.154979 0.757161 Los autovalores son: 7.07467 -0.886791 -3.18788
que es completamente equivalente a la que se encuentra en:
Autovalores y autovectores: Rotación de Jacobi
Es de hacer notar que esta librería sobrecarga al operador << para las salidas de las matrices y arreglos de los autovectores y autovalores correspondientes.
Para más información sobre Lapack++ vea la documentación en: