Diskussion:Householdertransformation

Letzter Kommentar: vor 4 Jahren von 134.61.176.235 in Abschnitt QR-Zerlegung

Beispiele Bearbeiten

mmh, könnte jemand mal ein einfaches Beispiel für eine QR-Zerlegung mit Householder hinzufügen? Tausend Dank --JoergBoerg 15:33, 23. Okt 2005 (CEST)

Es ist nicht leicht, ein gutes Beispiel zu finden, bei dem nicht schon nach einer Iteration übelste Wurzelterme auftreten.--Sandro M. Roch (Diskussion) 23:53, 14. Feb. 2018 (CET)Beantworten


Mit Maple 7 kann ich leider den angegeben Quelltext nicht umsetzten. 83.129.170.34 15:27, 29. Mai 2006 (CEST)Beantworten

Definition Bearbeiten

"Die Spiegel-Hyperebene kann durch einen Einheitsvektor v (einen Vektor mit der Länge 1), der orthogonal zur Hyperebene ist, definiert werden."

Es ist meiner Meinung nach nicht erforderlich, den Begriff "Einheitsvektor" hier bereits anzuführen. Auch würde ich es für sinnvoller halten, wenn zuerst der allgemeine Fall (der in der Praxis glaub ich öfters gebraucht wird) genannt wird und dann danach lediglich erwähnt würde, dass bei einem gegebenen Einheitsvektor der Term im Nenner wegfällt... Finde einfach definitionen sollten kurz und allgemein sein. --Axel Wagner 16:28, 20. Jun. 2007 (CEST)Beantworten

Lass so stehen, ist verständlicher. Der Stoff ist schon hart genug so. -- 80.136.233.165 22:47, 15. Dez. 2007 (CET)Beantworten

QR-Zerlegung Bearbeiten

Darf der Code und die Beispiele zur QR-Zerlegung bitte in den entsprechenden Artikel verschoben werden?--LutzL 14:59, 24. Sep. 2007 (CEST)Beantworten

Ist der Aufwand der QR-Zerlegung mit Householder nicht 2/3 n^3? (siehe https://www.igpm.rwth-aachen.de/Numa/NumaMB/SS12/grUebung7.pdf auf Seite 5) (nicht signierter Beitrag von 134.61.176.235 (Diskussion) 17:44, 28. Aug. 2019 (CEST))Beantworten

Wo sind denn die Codes hin... Bearbeiten

ich dachte da waren vor kurzem welche und jetzt sind sie scheinbar gelöscht? --

Bitte signiere Deine Beitraege. Nutze die Versionsgeschichte, um Änderungen am Artikel nachzuvollziehen. Es ist nicht WP-gerecht, komplexe Quellcodes darzustellen, man nutze wikisource bzw. wikibooks dafür. Außerdem war der Code am Thema vorbei, da es hier rein um die Householder-Spiegelung geht.--LutzL 09:10, 4. Nov. 2008 (CET)Beantworten

Skalarprodukt und dyadisches Produkt Bearbeiten

Anmerkung zum Skalarprodukt: v^T v ist nur im reellen das Skalarprodukt, im Komplexen müsste es v^T* v sein (wobei * die Bildung des komplex-konjugierten beschreibt) wenn ich mich nicht täusche. -- 82.149.78.93 22:50, 25. Jan. 2011 (CET)Beantworten

Sollte bei der Definition von H nicht explizit angegeben werden, dass   das dyadische Produkt   ist? Die Verwendung von   und   mit unterschiedlichen Bedeutungen scheint mir unglücklich. -- Kuenzle 08:40, 13. Aug. 2009 (CEST)Beantworten

Man kann das natürlich etwas erklären, aber v ist ein Spaltenvektor, also eine nx1-Matrix. Der transponierte Vektor ist dann eine Zeile, also 1xn. Das dyadische Produkt ist also eine (nx1)(1xn)=(nxn) Matrix, das Skalarprodukt eine (1xn)(nx1)=(1x1)-Matrix bzw. eben ein Skalar. Tensoren oder Kroneckerprodukte werden hier nicht benötigt, nur Matrizenrechnung. Dass man dyadische Produkte verwenden kann, um Tensorprodukte als Matrizen darzustellen, ist eine andere Baustelle.--LutzL 09:25, 13. Aug. 2009 (CEST)Beantworten

involutorisch Bearbeiten

  1. sie ist orthogonal (H − 1 = HT) und damit auch involutorisch: H2 = I.

Ist jede orthogonale Matrix involutorisch? Meiner Meinung nach nicht... -- 84.142.55.188 16:49, 2. Sep. 2009 (CEST)Beantworten

Das ist mit der Eigenschaft davor zusammen zu lesen: symmetrisch+orthogonal=>involutorisch.--LutzL 18:10, 2. Sep. 2009 (CEST)Beantworten

Das macht Sinn - aber muesste irgendwie klarer da stehen. Wie weiss ich leider auch nicht so genau. -- 84.142.113.99 20:56, 2. Sep. 2009 (CEST)Beantworten

Erledigt --Digamma 16:49, 27. Mai 2010 (CEST)Beantworten

widerspruch Bearbeiten

1. "Die Spiegel-Hyperebene kann durch einen Normalenvektor v, also einen Vektor, der orthogonal zur Hyperebene ist, definiert werden"

2. "Geometrisch ist der Vektor v die Richtung einer der Winkelhalbierenden der Geraden in Richtung a und in Richtung e"

die winkelhalbierende von a und e liegt IN der ebene, die a auf e spiegelt. laut 1. soll v aber normal zur spiegelebene sein. beides geht wohl nicht. (nicht signierter Beitrag von 77.187.223.46 (Diskussion) 23:41, 19. Aug. 2010 (CEST)) Beantworten

Es gibt zwei Winkelhalbierende, die "zwischen" a und e und die "zwischen" a und -e. Diese stehen senkrecht zueinander in der von a und e aufgespannten Ebene. Um a auf |a|*e zu spiegeln, braucht es die letztere. Beides sind aber Winkelhalbierende der durch die Richtungen definierten Geraden und zur Konstruktion der Spiegelungsmatrix geeignet. Außer natürlich, wenn a und e (fast) parallel sind, was dann zu mysteriösen Fehlern in den letzten Lapack-Versionen (und darauf aufbauenden Projekten wie octave und numpy) führte.--LutzL 07:51, 20. Aug. 2010 (CEST)Beantworten
Eine Frage zur Konstruktion von v: Ich finde das mit dem Mittelpunkt der Verbindungsstrecke sehr kompliziert. Man bekommt doch schon ein mögliches v, wenn man einfach den Verbindungsvektor der beiden von Null gleichweit entfernten Punkte auf den beiden Geraden nimmt (und zwar den Normalenvektor der Spiegelebene, die diese beiden Punkte aufeinander abbildet). Rechnerisch ist das natürlich kein Unterschied, ob ich die Summe der beiden Vektoren nehme oder die Differenz, aber ich finde es anschaulicher. -- Digamma 13:46, 20. Aug. 2010 (CEST)Beantworten
Auch ich möchte die def. zu Verwirrung führende Erkläuterung bzgl. des Normalenvektors bemängeln. Gelesen im Zusammenhang mit dem ersten Abschnitt, muss man sich unweigerlich die Frage des Benutzers --77.187.223.46-- stellen. (nicht gerade förderlich ist, dass im folgenden Abschnitt gerade erklärt wird, wie man den Vektor der "falschen" Winkelhalbierenden ermittelt -- siehe LutzL--) (nicht signierter Beitrag von 139.20.128.116 (Diskussion) 16:12, 25. Aug. 2011 (CEST)) Beantworten
Ich schließe mich der Bemängelung an, ich fände: "Der Vektor   ist parallel zu  " besser, ausserdem wird nicht  , sondern   normiert. --192.52.33.247 18:37, 29. Jul. 2013 (CEST)Beantworten

Pseudocode Bearbeiten

Gibt es für die Erstellung von Pseudocode irgendeinen Standard? Falls ja, könnte man darauf verweisen? Falls nein, könnte jemand mit dem Fachwissen bitte den Code in eine verständliche Fassung bringen? Was, z.B. soll denn bitte "A(k:m,k)" sein?? --195.226.110.98 16:04, 29. Sep. 2011 (CEST)Beantworten

Die Notation ist in diversen CAS Standard, k:m steht für den Indexbereich

k,k+1,...,m-1,m. Es handelt sich also um einen unteren Teil einer Spalte einer Matrix.--LutzL 16:36, 29. Sep. 2011 (CEST)Beantworten

Danke für den Hinweis! --195.226.110.98 11:06, 30. Sep. 2011 (CEST)Beantworten

Fehler in QR-Zerlegung Bearbeiten

Da steht folgendes:

 

Müsste das nicht

 

sein? --Slian (Diskussion) 17:53, 8. Feb. 2013 (CET)Beantworten

Nein: Beim Transponieren von Produkten kehrt sich die Reihenfolge um:  . -- HilberTraum (Diskussion) 20:18, 8. Feb. 2013 (CET)Beantworten
Ah ja, in meiner Literatur sind wird anders herum multipliziert: :  Das sollte den Unterschied machen.--Slian (Diskussion) 20:25, 8. Feb. 2013 (CET)Beantworten
Ist hier eigentlich auch so rum: Erst wird   mit   transformiert und dann umgestellt zu   mit  . -- HilberTraum (Diskussion) 20:33, 8. Feb. 2013 (CET)Beantworten
Das steht aber mehr zwischen den Zeilen, als dass man das sofort sieht. Ich finde, das sollte im Artikel auch gleich ersichtlich sein, ohne, dass man vorher was in der Richtung studiert hat. --Slian (Diskussion) 21:56, 8. Feb. 2013 (CET)Beantworten
Ich habe das jetzt im Artikel etwas ausgeführt und dabei gleich ein paar weitere Fehler verbessert. -- HilberTraum (Diskussion) 20:35, 9. Feb. 2013 (CET)Beantworten

(i,i)-Minoren? Bearbeiten

Im Artikel wird gesagt

"Danach behandelt man   mit einer Spiegelung   analog und im i-ten Schritt den (i,i) Minoren des Produkts   iterativ auf die gleiche Art"

aber das ist doch Quatsch, oder nicht? Der (i,i)-Minor wäre die Determinate der Matrix, die durch Streichen der i-ten Zeile und i-ten Spalte hervorgeht. Was hier sicher gemeint ist, ist die Hauptuntermatrix mit der weitergerechnet wird. Aber auch da ist es iterativ nicht die (i,i)-Hauptuntermatrix, sondern immer die (1,1)-Hauptuntermatrix. Dabei ist wichtig, dass   nicht etwa stets kleiner werden, sondern die "fehlenden" Einträge mit der Einheitsmatrix aufgefüllt werden. In [[1]] wird das zum Beispiel recht gut aufgeschrieben mit der Unterscheidung zwischen   und  , wobei   der Faktor der QR-Zerlegung ist und   die Householdermatrix, die aus der Behandlung der jeweiligen Hauptuntermatrix hervorgeht.

Eventuell kenne ich aber auch nur die im Artikel benutzte Verwendung des Minoren-Begriffes nicht und das hat alles seine Richtigkeit. Vielleicht kann jemand da etwas Klarheit reinbringen. --IUniversEi (Diskussion) 17:33, 3. Jan. 2014 (CET)Beantworten

Bitte neue Beiträge unten einfügen. Bitte gern mutig voran und einmal alle Minoren durch Untermatrizen ersetzt. Da der Wiki-interne Link eindeutig ist, ist das kein Streitfall.--LutzL (Diskussion) 18:46, 3. Jan. 2014 (CET)Beantworten

Schreibung Bearbeiten

Nach allen Regeln der Kunst, des Duden und der Logik (erster Teil englisch, zweiter lateinisch) ist dieses Bandwurmwort zu zerlegen. Householder-Transformation. (nicht signierter Beitrag von 193.138.10.34 (Diskussion) 11:08, 1. Sep. 2014 (CEST))Beantworten

„durch Null“ „durch den Ursprung“ Bearbeiten

Wieso wird am Anfang des Artikels so viel Wert darauf gelegt, dass die Hyperebene durch Null geht?

1. Ich sehe keinen Unterschied bei der Rechnung, abhängig von der Lage der Ebene. (Bitte korrigiert mich)

2. Wenn es tatsächlich wichtig ist, müsste es nicht heißen: „die durch Null verläuft“ anstelle einfach nur „durch Null“? (nicht signierter Beitrag von 92.212.39.104 (Diskussion) 14:22, 12. Sep. 2016 (CEST))Beantworten

Wenn die Null nicht in der Hyperebene liegt, dann ist die Spiegelung ja keine lineare Abbildung und kann darum auch nicht durch Multiplikation mit einer Transformationsmatrix berechnet werden. -- HilberTraum (d, m) 18:51, 12. Sep. 2016 (CEST)Beantworten

sign(z(1)) Bearbeiten

Im Codebeispiel am Ende ist sign(z(1)) reichlich ungünstig. Auch wenn norm(z) nicht null ist, kann z(1) durchaus null sein und dann ist auch sign(z(1)) null. In diesem Falle bekäme man eine Spiegelung, die z gerade nicht auf einen Einheitsvektor abbildet. Ich denke, man muss ein abgewandeltes sign verwenden, wo beispielsweise sign(0)=1 ist. DrLemming (Diskussion) 12:01, 8. Mai 2017 (CEST)Beantworten

Ja, da hast du recht. Ich habe das mal oben, wo sign das erste Mal auftaucht vermerkt. -- HilberTraum (d, m) 13:39, 8. Mai 2017 (CEST)Beantworten

Unklarheit bei QR-Zerlegung Bearbeiten

Folgender Satz bereitet mir Kopfzerbrechen:

Danach behandelt man   mit einer Spiegelung   analog, wobei die Spiegelung so konstruiert wird, dass erste Zeile und Spalte von der Transformation unberührt bleiben. Dies wird erreicht, indem die erste Komponente des Spiegelungsvektors zu Null gesetzt wird.

Das genaue Vorgehen bleibt unklar. Soll im zweiten Iterationsschritt der Spiegelungsvektor für die Householder-Transformation zunächst so gewählt werden, dass die zweite Spalte der Matrix auf ein Vielfaches des zweiten Basiseinheitsvektors abgebildet würde, jedoch dann vor Berechnung der Householder-Matrix die erste Komponente des Spiegelungsvektors auf 0 gesetzt wird? Ich habe Zweifel, dass dies funktioniert. --Sandro M. Roch (Diskussion) 00:01, 15. Feb. 2018 (CET)Beantworten