PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Matrix operationen - BLAS


Stink Stiefel
2007-02-16, 14:17:23
Hallo,

ich arbeite momentan an einem Projekt, bei dem ich einige Matrixoperationen durchführen muss. (z.B. Multiplikation von 2 n*m Matrizen, Inverse bilden etc.)

Dafür suche ich eine geeignete Library. Bisher hab ich folgende Möglichkeiten gefunden:
- die Eigen.lib vom KDE Project, die aber leider für mein Projekt ungeeignet ist.
- Blas /Lapack (Basic Linear Algebra Subprograms)

Ich habe einige Fragen zu BLAS und da ich durch googlen nicht wirklich auf Antworten gestoßen bin, wollte ich es hier mal probieren, vielleicht hat ja schon mal jemand damit gearbeitet.

Ich habe keine Dokumentation gefunden, die erläutert, wie man bei BlAS eine Matrix definiert. Gibt es eine gute Dokumentation, die vielleicht auch die einzelnen Befehle näher erklärt?

Ich schreibe das ganze als MacOS Anwendung. Wo ist die entsprechende blas.lib ?


Kennt jemand andere Alternativen für Matrizenberechnungen, die er empfehlen könnte?

Trap
2007-02-16, 15:38:26
BLAS ist eine Fortran-Bibliothek, das C-Interface dazu ist aber relativ einfach: http://www.netlib.org/blas/blast-forum/cinterface.pdf. Eine Matrix ist ein 2-dimensionales C-Array (aber wenn ich mich recht erinner mit Zeilen und Spalten vertauscht).
http://www.netlib.org/blas/, die Webseite ist zwar grauenhaft, aber mit etwas Geduld findet sich da alles was du wissen willst.

Performancemäßig sinnvoll ist das erst ab großen Matrizen, bei 4x4 Matrizen mit fester Größe ist Code für den Spezialfall deutlich schneller.

Gast
2007-02-16, 15:39:10
So weit dazu, dass man nichts googln kann:

www.netlib.org/lapack/

www.lahey.com/docs/blaseman_Lin62.pdf

Stink Stiefel
2007-02-16, 16:02:06
Danke für die Hinweise. Die Matrixgrößen sind bei mir größer als 100*100 Elemente. Das sollte also schon als größere Matrix zählen. ;)

@ Gast

Die Seite hab ich natürlich schon gefunden. Nur ist die etwas "komplex". Ich hatte gehofft, das jemand der vielleicht schon mal mit Blas etc. zu tun hatte, vielleicht eine etwas Einsteiger freundlichere Seite / Tutorial wüsste. Habe mich da wohl nicht so klar ausgedrückt.

Nasenbaer
2007-02-18, 13:48:16
Hier gibts ne Library die von AMD optimiert wurde und unter Documentation gibts nen User guide. Vielleicht ist das dort besser erklärt:

http://developer.amd.com/acml.jsp