function B = ddom2 (A) % B = ddom2 (A) returns a diagonally % dominant matrix B by modifying the % diagonal of A. % % MATLAB Primer, 6th Edition % Kermit Sigmon and Timothy A. Davis % Section 7.3, page 36. d = diag (A) ; a = abs (d) ; f = sum (abs (A), 2) - a ; i = find (f >= a) ; [m n] = size (A) ; k = i + (i-1)*m ; tol = 100 * eps ; s = 2 * (d (i) >= 0) - 1 ; A (k) = (1+tol) * s .* max (f (i), tol) ; B = A ;