Mistificado por qr.Q (): o que é uma matriz ortonormal na forma "compacta"?

R tem umqr() função, que executa a decomposição do QR usando LINPACK ou LAPACK (na minha experiência, o último é 5% mais rápido). O principal objeto retornado é uma matriz "qr" que contém na matriz triangular superior R (isto é,R=qr[upper.tri(qr)]) Por enquanto, tudo bem. A parte triangular inferior de qr contém Q "na forma compacta". Pode-se extrair Q da decomposição qr usandoqr.Q(). Eu gostaria de encontrar o inverso deqr.Q(). Em outras palavras, eu tenho Q e R e gostaria de colocá-los em um objeto "qr". R é trivial, mas Q não é. O objetivo é aplicar a eleqr.solve(), que é muito mais rápido quesolve() em grandes sistemas.

questionAnswers(2)

yourAnswerToTheQuestion