Neste desafio, pedirei que você encontre uma decomposição QR de uma matriz quadrada. A decomposição QR da matriz A é duas matrizes Q e R, de modo que A = QR . Em particular, estamos procurando Q ser uma matriz ortogonal (ou seja, Q T Q = QQ T = I, onde I é a identidade multiplicativa e T é a transposição) e R uma matriz triangular superior (todos os valores abaixo de sua diagonal devem seja zero).
Você escreverá um código que utiliza uma matriz quadrada por qualquer método razoável e gera uma decomposição QR por qualquer método. Muitas matrizes têm várias decomposições QR, no entanto, você só precisa da saída uma.
Os elementos das matrizes resultantes devem estar dentro de duas casas decimais de uma resposta real para cada entrada na matriz.
Esta é uma competição de código-golfe , portanto as respostas serão pontuadas em bytes, com menos bytes sendo uma pontuação melhor.
Casos de teste
Essas são apenas saídas possíveis; suas saídas não precisam corresponder a todas, desde que válidas.
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