From 69057d2f3b25e9c01b31fa5ad662b87b6d53bad2 Mon Sep 17 00:00:00 2001 From: Tim Davis Date: Sun, 10 Dec 2023 08:44:46 -0600 Subject: [PATCH] SPQR documentation (issue #536) --- SPQR/Doc/spqr_user_guide.pdf | Bin 179106 -> 165710 bytes SPQR/Doc/spqr_user_guide.tex | 13 ++++++++----- SPQR/MATLAB/spqr.m | 4 +++- SPQR/MATLAB/spqr_qmult.m | 5 +++++ 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/SPQR/Doc/spqr_user_guide.pdf b/SPQR/Doc/spqr_user_guide.pdf index 7da52117fed2b0f561eba3de692badc35b0331ad..3feb9b814249611202c65ec78f109eb97beb18be 100644 GIT binary patch delta 32923 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 Ik`%)K1q12g>i_@% delta 46384 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 diff --git a/SPQR/Doc/spqr_user_guide.tex b/SPQR/Doc/spqr_user_guide.tex index 6a9c02a328..413d7308ff 100644 --- a/SPQR/Doc/spqr_user_guide.tex +++ b/SPQR/Doc/spqr_user_guide.tex @@ -533,11 +533,14 @@ \subsection{C++ Syntax} \item \verb'SuiteSparseQR_qmult': provides the same function as \verb'spqr_qmult' in the MATLAB interface, computing - \verb"Q'*x", \verb"Q*x", \verb"x*Q'", or \verb"x*Q". - It uses either a QR factorization - in MATLAB-style sparse matrix format, or the QR factorization object - returned by \newline \verb'SuiteSparseQR_factorize' or - \verb'SuiteSparseQR_numeric'. + \verb"y=Q'*x", \verb"y=Q*x", \verb"y=x*Q'", or \verb"y=x*Q". + It uses the efficient Householder reprensentation of \verb'Q', which + represents a square orthonormal matrix computed by + \verb'SuiteSparseQR_factorize' or \verb'SuiteSparseQR_numeric'. The + Householder representation always represents a square orthonormal matrix, + regardless of whether \verb'Q' is a full or economy factor. + \verb'SuiteSparseQR_qmult' applies this square matrix to compute its result + \verb'y'. \item \verb'SuiteSparseQR_min2norm': finds the minimum 2-norm solution to an underdetermined linear system. diff --git a/SPQR/MATLAB/spqr.m b/SPQR/MATLAB/spqr.m index 8af7c7aa33..966ea4a12f 100644 --- a/SPQR/MATLAB/spqr.m +++ b/SPQR/MATLAB/spqr.m @@ -92,7 +92,9 @@ % [Q,R,P]=spqr(A) where spqr finds P and Q is discarded instead). 'matrix' % returns Q as a sparse matrix where A=Q*R or A*P=Q*R. 'Householder' returns % Q as a struct containing the Householder reflections applied to A to obtain -% R, resulting in a far sparser Q than the 'matrix' option. +% R, resulting in a far sparser Q than the 'matrix' option. When returned as +% a struct, Q always represents a square orthonormal matrix, regardless of +% opts.econ. % % opts.permutation: a string describing how P is to be returned. The default % is 'matrix', so that A*P=Q*R. 'vector' gives A(:,P)=Q*R instead. diff --git a/SPQR/MATLAB/spqr_qmult.m b/SPQR/MATLAB/spqr_qmult.m index 7d3e3db928..efe82d511a 100644 --- a/SPQR/MATLAB/spqr_qmult.m +++ b/SPQR/MATLAB/spqr_qmult.m @@ -7,6 +7,11 @@ % method = 2: Y = X*Q' % method = 3: Y = X*Q % +% where Q is the struct from [Q,R,E] = spqr (A,opts) with +% opts.Q = 'Householder'. The struct Q always represents a square +% orthonormal matrix, regardless of opts.econ. spqr_qmult applies this +% square matrix to compute Y. +% % Example: % These two examples both compute the min-norm solution to an % under determined system, but the latter is much more efficient: