1function gbtest63 2%GBTEST63 test GrB.incidence 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: GPL-3.0-or-later 6 7rng ('default') ; 8 9for trial = 1:2 10 11 if (trial == 1) 12 ij = [ 13 4 1 14 1 2 15 4 3 16 6 3 17 7 3 18 1 4 19 7 4 20 2 5 21 7 5 22 3 6 23 5 6 24 2 7 ] ; 25 W = sparse (ij (:,1), ij (:,2), ones (12,1), 8, 8) ; 26 else 27 load west0479 ; %#ok<*LOAD> 28 W = west0479 ; 29 end 30 31 W = spones (GrB.offdiag (W)) ; 32 A = digraph (W) ; 33 G = GrB (W) ; 34 35 E0 = incidence (A) ; 36 E1 = GrB.incidence (G) ; 37 % E0 and E1 are the same, except the columns are in different orders 38 E0 = sortrows (E0')' ; 39 E1 = double (E1) ; 40 E1 = sortrows (E1')' ; 41 assert (isequal (E0, E1)) ; 42 43 E1 = GrB.incidence (G, 'int8') ; 44 assert (isequal (GrB.type (E1), 'int8')) ; 45 E1 = double (E1) ; 46 E1 = sortrows (E1')' ; 47 assert (isequal (E0, E1)) ; 48 49 W = W+W' ; 50 A = graph (W) ; 51 G = GrB (W) ; 52 53 E0 = incidence (A) ; 54 E1 = GrB.incidence (G, 'upper') ; 55 E0 = sortrows (E0')' ; 56 E1 = double (E1) ; 57 E1 = sortrows (E1')' ; 58 assert (isequal (E0, E1)) ; 59 60 E1 = GrB.incidence (G, 'lower') ; 61 E1 = -E1 ; 62 E1 = double (E1) ; 63 E1 = sortrows (E1')' ; 64 assert (isequal (E0, E1)) ; 65 66end 67 68fprintf ('gbtest63: all tests passed\n') ; 69 70