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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
function test24
%TEST24 test cs_fielder
%
% Example:
% test24
% See also: testall
% CXSparse, Copyright (c) 2006-2022, Timothy A. Davis. All Rights Reserved.
% SPDX-License-Identifier: LGPL-2.1+
clear functions
index = ssget ;
[ignore f] = sort (max (index.nrows, index.ncols)) ;
f = f (1:200) ;
clf
% f = f(1)
for k = 1:length (f)
i = f (k) ;
Prob = ssget (i) ;
disp (Prob) ;
A = real (Prob.A) ;
[m n] = size (A) ;
if (m ~= n)
continue
end
S = A ;
if (~ispc)
if (mod (k,2) == 0)
S = S + 1i * sprand (A) ;
end
end
tic
p1 = symrcm (A) ;
t1 = toc ;
tic
p2 = cs_fiedler (S) ;
t2 = toc ;
rel = t2 / max (t1,1e-6) ;
fprintf ('time: symrcm %8.3f fiedler %8.3f rel %8.2f\n', t1, t2, rel) ;
A = A|A' ;
subplot (1,3,1) ; spy (A) ;
subplot (1,3,2) ; spy (A (p1,p1)) ;
subplot (1,3,3) ; spy (A (p2,p2)) ;
% evaluate the profile ...
drawnow
% pause
end
|