1function [L, w] = chol_update (L, w) 2%CHOL_UPDATE update a Cholesky factorization. 3% Example: 4% [L, w] = chol_update (L, w) 5% See also: cs_demo 6 7% Copyright 2006-2012, Timothy A. Davis, http://www.suitesparse.com 8 9beta = 1 ; 10n = size (L,1) ; 11for j = 1:n 12 alpha = w (j) / L (j,j) ; 13 beta2 = sqrt (beta^2 + alpha^2) ; 14 gamma = alpha / (beta2 * beta) ; 15 delta = beta / beta2 ; 16 L (j,j) = delta * L (j,j) + gamma * w (j) ; 17 w (j) = alpha ; 18 beta = beta2 ; 19 if (j == n) 20 return 21 end 22 w1 = w (j+1:n) ; 23 w (j+1:n) = w (j+1:n) - alpha * L (j+1:n,j) ; 24 L (j+1:n,j) = delta * L (j+1:n,j) + gamma * w1 ; 25end 26