Dans ce défi, je vous demanderai de trouver une décomposition QR d'une matrice carrée. La décomposition QR de la matrice A est deux matrices Q et R telles que A = QR . En particulier, nous recherchons Q pour être une matrice orthogonale (c'est-à-dire Q T Q = QQ T = I où I est l'identité multiplicative et T est la transposée) et R pour être une matrice triangulaire supérieure (chaque valeur en dessous de sa diagonale doit être zéro).
Vous écrirez du code qui prend une matrice carrée par n'importe quelle méthode raisonnable et génère une décomposition QR par n'importe quelle méthode. De nombreuses matrices ont plusieurs décompositions QR, mais vous n'avez besoin que d'une seule sortie.
Les éléments de vos matrices résultantes doivent se trouver à deux décimales près d'une réponse réelle pour chaque entrée de la matrice.
Il s'agit d'une compétition de code-golf donc les réponses seront notées en octets avec moins d'octets étant un meilleur score.
Cas de test
Ce ne sont que des sorties possibles, vos sorties n'ont pas besoin de correspondre à toutes celles-ci tant qu'elles sont valides.
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