1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
function [V,Beta,R] = qr_left (A)
%QR_LEFT left-looking Householder QR factorization.
% Example:
% [V,Beta,R] = qr_left (A)
% See also: cs_demo
% CXSparse, Copyright (c) 2006-2022, Timothy A. Davis. All Rights Reserved.
% SPDX-License-Identifier: LGPL-2.1+
[m n] = size (A) ;
V = zeros (m,n) ;
Beta = zeros (1,n) ;
R = zeros (m,n) ;
for k = 1:n
x = A (:,k) ;
for i = 1:k-1
v = V (i:m,i) ;
beta = Beta (i) ;
x (i:m) = x (i:m) - v * (beta * (v' * x (i:m))) ;
end
[v,beta,s] = gallery ('house', x (k:m), 2) ;
V (k:m,k) = v ;
Beta (k) = beta ;
R (1:(k-1),k) = x (1:(k-1)) ;
R (k,k) = s ;
end
|