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.