1function test24 2%TEST24 test sdmult 3% Example: 4% test24 5% See also cholmod_test 6 7% Copyright 2007, Timothy A. Davis, http://www.suitesparse.com 8 9fprintf ('=================================================================\n'); 10fprintf ('test24: test sdmult\n') ; 11 12rand ('state', 0) ; 13randn ('state', 0) ; 14maxerr = 0 ; 15 16for trials = 1:1000 17 18 sm = fix (20 * rand (1)) ; 19 sn = fix (20 * rand (1)) ; 20 fn = fix (20 * rand (1)) ; 21 22 for complexity = 0:1 23 for transpose = 0:1 24 if (transpose) 25 fm = sm ; 26 else 27 fm = sn ; 28 end 29 S = sprand (sm,sn,0.5) ; 30 F = rand (fm,fn) ; 31 32 if (complexity) 33 S = S + 1i * sprand (S) ; 34 F = F + 1i * rand (fm,fn) ; 35 end 36 37 % MATLAB does not support empty complex matrices 38 if (isempty (S) | isempty (F)) %#ok 39 S = sparse (real (S)) ; 40 F = real (F) ; 41 end 42 43 C = sdmult (S,F,transpose) ; 44 45 if (transpose) 46 D = S'*F ; 47 else 48 D = S*F ; 49 end 50 51 err = norm (C-D,1) ; 52 maxerr = max (err, maxerr) ; 53 if (err > 1e-13) 54 error ('!') ; 55 end 56 end 57 end 58end 59 60fprintf ('test 24 passed, maxerr %g\n', maxerr) ; 61