Aufgabe 2a

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe 2a

Aufgabe 2a: Givens-Rotation (2 Punkte)

Der Aufruf givens_rotation
(array([[ 1., 1., 1.],
[ 0., -3., 3.],
[ 0., -4., 10.]]),
2,

  1. liefert das Ergebnis
    array([[ 1. , 0. , 0. ],
    [ 0. , -0.6, 0.8],
    [ 0. , -0.8, -0.6]]), richtig wäre aber
    array([[ 1. , 0. , 0. ],
    [ 0. , 0.6, 0.8],
    [ 0. , -0.8, 0.6]]).
    Diese Teilaufgabe enthält Fehler!

Meine Frage: Hat jemand eine Idee warum alle Tests außer diesem durchlaufen? Warum ist das Vorzeichen der c-Einträge umgedreht obwohl es bei den anderen Tests passt? Hab ich einen Denk- oder Programmfehler?


Ich vermute, dass du nur den Fall für positive Matrixeinträge abgedeckt hast. Der Unterschied für die Implementierung ist sehr gut erkennbar, wenn du im Kapitel “Direktverfahren Teil 3” (momentan nur im Ordner SS2018 auf StudOn) die Folien 18 und 19 direkt miteinander vergleichst.