Boost und inverse Matrix
-
otze schrieb:
x^T C^(-1) x
Was spricht dagegen, sich die LU-Zerlegung von C zu merken? Dann kannst Du "C^(-1) x" per Vorwärts- und Rückwärts-Substitution berechnen.
-
@krümelkacker
Ist das schneller als eine Matrixmultiplikation einer 3x3 Matrix? Numerische Probleme konnten nämlich nicht auftreten
-
Die Inverse muss ich dann mit homogenen Koordinaten multiplizieren und dann wieder auf das kartesische System Rücktransformieren. Damit halt alle Transformationen von meinem Bild gemacht werden können.
Da kommt man nicht so schnell weg von der Inversen, da man diese auf jedes Pixel anwendet!!Grüße
Luis
-
Deine Matritzen haben eine Größe von 3x3 oder ähnlich klein? Dann ist eh alles egal
Da sollte es keine wesentlichen numerischen Probleme geben.
-
otze schrieb:
@krümelkacker
Ist das schneller als eine Matrixmultiplikation einer 3x3 Matrix? Numerische Probleme konnten nämlich nicht auftretenDas ist die gleiche Komplexitätsklasse, also O(n^2) bei einer n-kreuz-n Matrix.
-
Taurin schrieb:
Deine Matritzen haben eine Größe von 3x3 oder ähnlich klein? Dann ist eh alles egal
Da sollte es keine wesentlichen numerischen Probleme geben.
Ja aber nur mit diesem Input, es können jedoch andere Inputs kommen. Die müssen dann auch behandelt werden.
-
krümelkacker schrieb:
otze schrieb:
@krümelkacker
Ist das schneller als eine Matrixmultiplikation einer 3x3 Matrix? Numerische Probleme konnten nämlich nicht auftretenDas ist die gleiche Komplexitätsklasse, also O(n^2) bei einer n-kreuz-n Matrix.
Hallo!
Würde ich so nicht unterschreiben!
Bei der einfachen Schulmethode geht es nur mit O(n^3).
Bei der Strassenmethode gehts mit Ω^2.
Ich glaube die schnellste Methode geht zur Zeit mit O(n^2,376)und das ist die Strassenmethode, welche aber nur bei großen Matrizen eingesetzt wird.Luis
-
s.luis schrieb:
krümelkacker schrieb:
otze schrieb:
@krümelkacker
Ist das schneller als eine Matrixmultiplikation einer 3x3 Matrix? Numerische Probleme konnten nämlich nicht auftretenDas ist die gleiche Komplexitätsklasse, also O(n^2) bei einer n-kreuz-n Matrix.
Würde ich so nicht unterschreiben!
Bei der einfachen Schulmethode geht es nur mit O(n^3).
...Ja, das Berechnen der Inverse bzw das Faktorisieren an sich ist aufwändiger. Es ging aber oben um das Wiederverwenden der inversen Matrix bzw der Faktorisierung.
-
s.luis schrieb:
Ich glaube die schnellste Methode geht zur Zeit mit O(n^2,376)und das ist die Strassenmethode, welche aber nur bei großen Matrizen eingesetzt wird.
Nein, das ist der Coppersmith–Winograd Algorithmus. Strassen hat O(n^2,807).
-
Walli schrieb:
s.luis schrieb:
Ich glaube die schnellste Methode geht zur Zeit mit O(n^2,376)und das ist die Strassenmethode, welche aber nur bei großen Matrizen eingesetzt wird.
Nein, das ist der Coppersmith–Winograd Algorithmus. Strassen hat O(n^2,807).
stimmt hast Recht. Wobei der Coppersmith-Winograd-Algo. zum Teil auch von Strassen kommt.
http://www-i1.informatik.rwth-aachen.de/Lehre/SS05/PSAuD/Handout_Grams.pdf
Habe ja auch nicht gewusst wie der Volker Strassen aussieht. Für alle die es interessiert:
http://de.wikipedia.org/wiki/Volker_Strassen
luis