In questa sfida ti chiederò di trovare una decomposizione QR di una matrice quadrata. La decomposizione QR della matrice A è di due matrici Q e R tali che A = QR . In particolare stiamo cercando che Q sia una matrice ortogonale (ovvero Q T Q = QQ T = I dove I è l'identità moltiplicativa e T è la trasposizione) e R che sia una matrice triangolare superiore (ogni valore al di sotto della diagonale deve essere zero).
Scriverai codice che accetta una matrice quadrata con qualsiasi metodo ragionevole e genera una decomposizione QR con qualsiasi metodo. Molte matrici hanno più scomposizioni QR, tuttavia è necessario solo produrne una.
Gli elementi delle matrici risultanti devono trovarsi entro due decimali di una risposta effettiva per ogni voce nella matrice.
Si tratta di una competizione di code-golf , quindi le risposte verranno classificate in byte con un numero inferiore di byte con un punteggio migliore.
Casi test
Queste sono solo uscite possibili, le tue uscite non devono necessariamente corrispondere a tutte queste finché sono valide.
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