liblapack-dev.tex 1.72 KB
Newer Older
Christopher Spinrath's avatar
Christopher Spinrath committed
1
\subsection{LAPACK}
2
"`LAPACK"' steht für "`Linear Algebra PACKage"' und ist eine Bibliothek von numerischen Algorithmen aus der linearen Algebra, insbesondere also für Matrixoperationen für sowohl reelle als auch komplexe Zahlen. Geschrieben ist sie in \texttt{Fortran}, aber sie kann auch in \texttt{C} und \texttt{C++} genutzt werden. Aufgrund von Längenbeschränkungen von Funktionsnamen in alten Fortranversionen sind alle Lapack-Funktionsnamen maximal sechs Buchstaben lang, wie z.B. DGESV zum Lösen eines allgemeinen linearen Gleichungssystems in doppelter Genauigkeit.
Christopher Spinrath's avatar
Christopher Spinrath committed
3

4
Sie gehört zu den Standard-Bibliotheken bei allen Numerikern.
Christopher Spinrath's avatar
Christopher Spinrath committed
5

Moritz Holtz's avatar
Moritz Holtz committed
6
\paragraph{Nutzung:}
Christopher Spinrath's avatar
Christopher Spinrath committed
7 8 9 10 11

Grundsätzlich ist die Bibliothek als Header im Programmquelltext einzubinden. In \texttt{C++} würde dies durch die Zeile
\begin{verbatim}
#include "<PFAD>/lapack.h"
\end{verbatim}
12
geschehen. Beim Kompilieren sind dann die Bibliotheken zu "`linken"'. (Das heißt, dass man dem Compiler entsprechende Flags mitgeben muss.)
Christopher Spinrath's avatar
Christopher Spinrath committed
13 14 15 16 17 18

\texttt{g++}-Benutzer würden eingeben:
\begin{verbatim}
g++ main.cpp -llapack
\end{verbatim}

19
LAPACK wird normaler Weise zusammen mit anderen Bibliothen verwendet; insbesondere mit "`BLAS"' (Basic Linear Algebra Subprograms), dessen Funktionen in den Lapack-Funktionen verwendet werden. Hier müssen gegebenenfalls weitere Header eingebunden werden und weitere Compiler-Flags gesetzt werden. Genaueres erfährt man hierzu in den Dokumentationen.
Christopher Spinrath's avatar
Christopher Spinrath committed
20

Moritz Holtz's avatar
Moritz Holtz committed
21
\paragraph{Für Hilfe:}
Christopher Spinrath's avatar
Christopher Spinrath committed
22

Moritz Holtz's avatar
Moritz Holtz committed
23
LAPACK ist auf seiner Homepage \url{http://www.netlib.org/lapack/} nicht hinreichend dokumentiert. Zum tieferen Verständnis der Funktion sollte der Fortran-Sourcecode betrachtet werden. Alternativ findet man auch schon etliche Beispiele in der Manpage, die man über \texttt{man lapack} erreicht.
24 25