qr.html
来自「矩阵算法库newmat10.tar.gz的帮助文件」· HTML 代码 · 共 69 行
HTML
69 行
<HTML><HEAD><TITLE>Newmat09 - QR decomposition</TITLE></HEAD><BODY><H2>QR decomposition</H2><A HREF="svd.html"> next</A> - <A HREF="svd.html"> skip</A> - <A HREF="refer.html"> up</A> - <A HREF="index.html"> start</A><P>This is a variant on the usual QR transformation.<P>Start with matrix<PRE> / 0 0 \ s \ X Y / n s t</PRE>Our version of the QR decomposition multiplies this matrix by an orthogonalmatrix Q to get<PRE> / U M \ s \ 0 Z / n s t</PRE>where <TT>U</TT> is upper triangular (the R of the QR transform).<P>This is good for solving least squares problems: choose b (matrix or rowvector) to minimise the sum of the squares of the elements of<PRE> Y - X*b</PRE>Then choose <TT>b = U.i()*M;</TT> The residuals <TT>Y - X*b</TT> are in<TT>Z</TT>.<P>This is the usual QR transformation applied to the matrix <TT>X</TT> withthe square zero matrix attached concatenated on top of it. It gives thesame triangular matrix as the QR transform applied directly to <TT>X</TT> andgenerally seems to work in the same way as the usual QR transform.However it fits into the matrix package better and also gives us theresiduals directly. It turns out to be essentially amodified Gram-Schmidt decomposition.<P>Two routines are provided:<PRE> QRZ(X, U);</PRE>replaces <TT>X</TT> by orthogonal columns and forms <TT>U</TT>.<PRE> QRZ(X, Y, M);</PRE>uses <TT>X</TT> from the first routine, replaces <TT>Y</TT> by <TT>Z</TT>and forms <TT>M</TT>.<P>The are also two routines <TT>QRZT(X, L)</TT> and <TT>QRZT(X, Y, M)</TT>which do the samedecomposition on the transposes of all these matrices. QRZT replaces theroutines HHDecompose in earlier versions of newmat. HHDecompose is stilldefined but just calls QRZT.<P><A HREF="svd.html"> next</A> - <A HREF="svd.html"> skip</A> - <A HREF="refer.html"> up</A> - <A HREF="index.html"> start</A><P></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?