R hat eine qr()
Funktion, die die QR-Zerlegung entweder mit LINPACK oder LAPACK durchführt (meiner Erfahrung nach ist letzteres 5% schneller). Das zurückgegebene Hauptobjekt ist eine Matrix "qr", die in der oberen Dreiecksmatrix R (d.h. R=qr[upper.tri(qr)]
). So weit, so gut. Der untere dreieckige Teil von qr enthält Q "in kompakter Form". Man kann Q aus der qr-Zerlegung extrahieren, indem man qr.Q()
. Ich möchte den Kehrwert finden von qr.Q()
. Mit anderen Worten, ich habe Q und R und würde sie gerne in ein "qr"-Objekt einfügen. R ist trivial, aber Q ist es nicht. Das Ziel ist es, auf sie anzuwenden qr.solve()
was viel schneller ist als solve()
auf großen Systemen.