Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Möchte man in C++ mathematische Probleme lösen, so gibt es eine Fülle an Bibliotheken, die man nutzen kann. Vor allem das Netlib Repository ist eine sehr gute Anlaufstelle für erste Informationen. Der Nachteil der meisten der dort erhältlichen Libaries wie z.B. CLAPACK ist, dass sie veraltet sind oder zumindest nicht mehr weiter entwickelt werden.
Daher gibt es das Projekt Lapack++ . Es basiert auf lapack++ , was später in TNT übergehen sollte, aber nie richtig veröffentlicht wurde. Der Entwickler Christian Stimming dachte sich damals, dass es hier etwas aktuelleres geben muss. Wie die meisten anderen mathematischen Bibliotheken basiert Lapack++ auf den beiden Fortran Bibliotheken BLAS und LAPACK , die durch einen Wrapper namens f2c von Fortran in C-Code umgeformt wird.
Eine Alternative zu Lapack++ ist IT++ was aber im Gegensatz zu Lapack++ unter der GPL steht. Was eigentlich großartig klingt, ist z.B. für Firmen nicht geeignet, da sie den Quellcode ihrer Projekte nicht offenlegen können. Lapack++ dagegen wird unter der LGPL veröffentlicht und kann daher bei der reinen Benutzung der Bibliotheken auch für nicht quelloffene Projekte benutzt werden
Für die Installation muss man sich die Lapack++-Bibliothek selbst kompilieren [4]. Die Quellen kann man auf dieser Seite herunterladen. Vorher müssen neben den unter [5] genannten Paketen noch die o.g. Fortran-Bibliotheken
lapack3-dev
refblas3-dev
atlas3-base-dev (universe, [2])
installiert werden [1], bei der auch der Fortran-Compiler g77 mit installiert wird.
In C++ Programmen kann man nun wie gewohnt die Header-Dateien mit
#include <lapackpp/name.h>
einbinden. Die Library, die man hinzufügen muss, heißt lapackpp.
Manche Teile der Klassen sind noch aus Original lapack++ 1.0 von 1998. Dementsprechend können diese auch noch fehlerhaft sein. Alle Dateien, die undokumentiert sind, sind ungetestet.
Wenn man das Programm nach /usr/local installiert hat (was Standard ist), werden die Bibliotheken wahrscheinlich nicht gefunden:
./lapack: error while loading shared libraries: liblapackpp.so.1: cannot open shared object file: No such file or directory
Abhilfe schafft hier die Bearbeitung (bzw. Erstellung) der Datei /etc/ld.so.conf in einem Editor mit Root-Rechten [4]. Man fügt einfach den Installationspfad der Library
/usr/local/lib
in die Datei ein und speichert das ganze. Danach muss man noch im Terminal [3] mit
sudo ldconfig
die Umgebungsvariablen für den Library-Pfad neu einlesen.
Diese Revision wurde am 23. März 2011 19:11 von Heinrich_Schwietering erstellt.