Skip to content
Snippets Groups Projects
Select Git revision
  • e458fab415b86c8ae636e861d104c47c08d0d826
  • tardis default
  • online-lip-2020
  • ss18
  • ws18
  • master protected
  • ws17
  • ss17
  • ws16
  • ss16
  • ws15 protected
  • ss15 protected
  • ws14 protected
  • buildhauer protected
  • ss14 protected
15 results

liblapack-dev.tex

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    liblapack-dev.tex 1.72 KiB
    \subsection{LAPACK}
    "`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.
    
    Sie gehört zu den Standard-Bibliotheken bei allen Numerikern.
    
    \paragraph{Nutzung:}
    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}
    geschehen. Beim Kompilieren sind dann die Bibliotheken zu "`linken"'. (Das heißt, dass man dem Compiler entsprechende Flags mitgeben muss.)
    
    \texttt{g++}-Benutzer würden eingeben:
    \begin{verbatim}
    g++ main.cpp -llapack
    \end{verbatim}
    
    LAPACK wird normaler Weise zusammen mit anderen Bibliotheken 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.
    
    \paragraph{Für Hilfe:}
    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.