- LAPACK
-
LAPACK Aktuelle Version 3.3.1
(18.04.2011)Betriebssystem plattformunabhängig Programmiersprache Fortran 90 Kategorie Programmbibliothek für: Lineare Algebra Lizenz BSD www.netlib.org/lapack LAPACK (Linear Algebra PACKage) ist eine Softwarebibliothek unter der BSD-Lizenz, die Algorithmen aus dem Bereich der numerischen linearen Algebra beinhaltet. Die Bibliothek wurde ursprünglich in Fortran 77 geschrieben, wurde jedoch mit Erscheinen der Version 3.2 auf Fortran 90 umgestellt. Die Bibliothek umfasst effiziente Routinen zur Lösung linearer Gleichungssysteme, linearer Ausgleichsprobleme und von Eigenwertproblemen. Dazu werden die numerischen Verfahren der linearen Algebra benutzt, u. a. QR-Zerlegung, Householdertransformation, Singulärwertzerlegung.
Als Hilfsbibliothek nutzen die Routinen in LAPACK für elementare Operationen der linearen Algebra das Softwarepaket Basic Linear Algebra Subprograms (BLAS). In der Version Lapack95 werden Eigenschaften von Fortran 95 zur Vereinfachung der Schnittstelle genutzt.
LAPACK ist eine Fortentwicklung der älteren Bibliothek LINPACK, die speziell auf die damals üblichen Vektorrechner zugeschnitten war. In Lapack wurde die elementare lineare Algebra ausgelagert und mit einer definierten Schnittstelle Basic Linear Algebra Subprograms (BLAS) verwendet. In Blas werden z. B. moderne Cache-Techniken effektiv umgesetzt. Portierungen von Blas können auf neuere oder speziellere Architekturen zugeschnitten werden, deren Vorteile so sofort in Lapack nutzbar werden. Lapack hat das aus den 1960er Jahren stammende Paket EISPACK weitgehend ersetzt.
Auch Lapack selbst wird für wichtige Architekturen portiert. Solche Portierungen sind derzeit ScaLapack für MIMD-Architekturen (multiple instruction multiple data stream) und PLapack für abstrakte parallele Architekturen.
Lapack kann trotz der Programmierung in Fortran aus mehreren Sprachen verwendet werden:
- clapack für C wurde durch automatische Portierung mit f2c erstellt.
- LAPACK++ ist ein Wrapper für C++.
- Armadillo ist ein Wrapper für C++.
- JLapack für Java wurde mit f2j erstellt.
- HBlas ist eine Portierung nach Haskell.
- LACAML ist eine Portierung nach OCaml.
Weblinks
- LAPACK homepage on Netlib.org
- LAPACK Users' Guide
- LAPACK++ Homepage
- NEW LAPACK++ Homepage (versions 1.9 and above) on Sourceforge.net
- Sun Performance Library optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux
- OS Reviews article on LAPACK
- PLAPACK
- How to use LAPACK with C
- [1] für JLapack
Kategorien:- Bibliothek (Programmierung)
- Freie Mathematik-Software
- Numerische lineare Algebra
Wikimedia Foundation.