In dieser Aufgabe werde ich Sie bitten, eine QR-Zerlegung einer quadratischen Matrix zu finden. Die QR-Zerlegung der Matrix A ist zwei Matrizen Q und R, so dass A = QR ist . Insbesondere suchen wir, dass Q eine orthogonale Matrix ist ( dh Q T Q = Q Q T = I, wobei I die multiplikative Identität und T die Transponierte ist) und R eine obere Dreiecksmatrix ist (jeder Wert unter seiner Diagonale muss sein) Null sein).
Sie werden Code schreiben, der mit jeder vernünftigen Methode eine quadratische Matrix annimmt und mit jeder Methode eine QR-Zerlegung ausgibt. Viele Matrizen haben mehrere QR-Zerlegungen, Sie müssen jedoch immer nur eine ausgeben.
Elemente Ihrer resultierenden Matrizen sollten bei jedem Eintrag in der Matrix innerhalb von zwei Dezimalstellen von einer tatsächlichen Antwort entfernt sein.
Dies ist ein Code-Golf- Wettbewerb, bei dem die Antworten in Bytes gewertet werden, wobei weniger Bytes eine bessere Punktzahl sind.
Testfälle
Dies sind nur mögliche Ausgaben, Ihre Ausgaben müssen nicht mit allen übereinstimmen, solange sie gültig sind.
0 0 0 1 0 0 0 0 0
0 0 0 -> 0 1 0 0 0 0
0 0 0 0 0 1 , 0 0 0
1 0 0 1 0 0 1 0 0
0 1 0 -> 0 1 0 0 1 0
0 0 1 0 0 1 , 0 0 1
1 2 3 1 0 0 1 2 3
0 3 1 -> 0 1 0 0 3 1
0 0 8 0 0 1 , 0 0 8
0 0 1 0 0 1 1 1 1
0 1 0 -> 0 1 0 0 1 0
1 1 1 1 0 0 , 0 0 1
0 0 0 0 1 0 0 0 0 1 1 0 0 0 1
0 0 0 1 0 0 0 0 1 0 0 1 1 1 0
0 0 1 0 0 -> 0 0 1 0 0 0 0 1 0 0
0 1 1 1 0 0 1 0 0 0 0 0 0 1 0
1 0 0 0 1 1 0 0 0 0 , 0 0 0 0 1