Mirando en el Blog de Cristóbal (Linux Music 3.0), descubrí un artículo sobre la instalación de las librerías Lapack++ en Ubuntu y me di a la tarea de tratar de instalarlas en Debian Squeeze. El uso de estas librerías vendría a simplificar el código sobre un tópico que ya fue tratado en este Blog:
Autovalores y autovectores: Rotación de Jacobi
Como el artículo es algo antiguo y las distros, aunque relacionadas, son también diferentes, me dispuse a ver cuales eran las dependencias equivalentes que deberían ser instaladas primero. Esto se resolvió, en cónsola, con:
aptitude install liblapack-dev liblapack3gf libblas-dev libatlas-headers libatlas-sse-dev checkinstall
Luego bajé está versión de lapackpp:
la desempaqueté en modo gráfico y ya dentro de la carpeta ejecuté:
./configure make
y como superusuario:
checkinstall cp /usr/local/lib/liblapackpp.so* /usr/lib/
El ejemplo usado, basado en el de Linux Music 3.0, 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:

Pingback: Instalar Lapackpp (librería estándar para álgebra lineal) en Pardus 2009.2 | Pardus Life
Pingback: Multiplicación de matrices con Lapack++ |
Pingback: Autovalores y autovectores: Rotación de Jacobi |
gracias auque no entiendo porque despues pide:
Por favor escribe una descripción para el paquete.
Termina tu descripcion con una linea vacia o con EOF.
Tampoco lo entiendo. El procedimiento aquí presentado a mi me funcionó sin problemas.