ubuntuusers.de

Lapack++

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite 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

Installation

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.

Benutzung

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.

Achtung!

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.

Problemlösung

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.

  • Lapack++ 🇬🇧 - Dokumentation und Informationen


Diese Revision wurde am 23. März 2011 19:11 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Bildung, Mathematik, Lernen