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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
function gbtest62
%GBTEST62 test ldivide, rdivide, mldivide, mrdivide
% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
% SPDX-License-Identifier: Apache-2.0
rng ('default') ;
n = 10 ;
for trial = 1:40
fprintf ('.') ;
A = 100 * rand (n) ;
B = 100 * rand (n) ;
b = rand (n, 1) ;
r = rand ;
s = GrB (r) ;
GA = GrB (A) ;
GB = GrB (B) ;
C0 = A ./ r ;
C1 = GA ./ s ;
assert (isequal (C0, C1)) ;
C0 = A / r ;
C1 = GA / s ;
assert (isequal (C0, C1)) ;
C0 = A ./ 0 ;
C1 = GA ./ 0 ;
assert (isequal (C0, C1)) ;
C0 = A / 0 ;
C1 = GA / 0 ;
assert (isequal (C0, C1)) ;
C0 = 0 .\ A ;
C1 = 0 .\ GA ;
assert (isequal (C0, C1)) ;
C0 = 0 \ A ;
C1 = 0 \ GA ;
assert (isequal (C0, C1)) ;
C0 = 2 ./ r ;
C1 = GrB (2) ./ s ;
assert (isequal (C0, C1)) ;
C0 = 2 ./ A ;
C1 = 2 ./ GA ;
assert (isequal (C0, C1)) ;
C0 = 2 .\ r ;
C1 = GrB (2) .\ s ;
assert (isequal (C0, C1)) ;
C0 = 2 \ r ;
C1 = GrB (2) \ s ;
assert (isequal (C0, C1)) ;
C0 = A ./ B ;
C1 = GA ./ GB ;
assert (isequal (C0, C1)) ;
C0 = A .\ B ;
C1 = GA .\ GB ;
assert (isequal (C0, C1)) ;
x = A \ b ;
y = GA \ b ;
assert (norm (x - y) < 1e-12) ;
x = b' / A ;
y = b' / GA ;
assert (norm (x - y) < 1e-12) ;
A = sprand (n, n, 0.5) ;
B = rand * A ;
GA = GrB (A) ;
GB = GrB (B) ;
C0 = A ./ B ;
C1 = GA ./ GB ;
assert (isequal (GrB.prune (C0, nan), GrB.prune (C1, nan))) ;
C0 = A .\ B ;
C1 = GA .\ GB ;
assert (isequal (GrB.prune (C0, nan), GrB.prune (C1, nan))) ;
end
fprintf ('\ngbtest62: all tests passed\n') ;
|