1function gbtest39 2%GBTEST39 test amd, colamd, symamd, symrcm, dmperm, etree 3 4% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 5% SPDX-License-Identifier: GPL-3.0-or-later 6 7for trial = 1:40 8 fprintf ('.') ; 9 10 n = 20 ; 11 A = sprand (n, n, 0.1) ; 12 S = A + A' ; 13 G = GrB (A) ; 14 H = GrB (S) ; 15 16 assert (isequal (amd (A), amd (G))) ; 17 assert (isequal (amd (S), amd (H))) ; 18 19 assert (isequal (colamd (A), colamd (G))) ; 20 assert (isequal (colamd (S), colamd (H))) ; 21 22 assert (isequal (symamd (A), symamd (G))) ; 23 assert (isequal (symamd (S), symamd (H))) ; 24 25 assert (isequal (symrcm (A), symrcm (G))) ; 26 assert (isequal (symrcm (S), symrcm (H))) ; 27 28 assert (isequal (etree (A), etree (G))) ; 29 assert (isequal (etree (S), etree (H))) ; 30 31 [p1, post1] = dmperm (A) ; 32 [p2, post2] = dmperm (G) ; 33 assert (isequal (p1, p2)) ; 34 assert (isequal (post1, post2)) ; 35 36 [p1, post1] = dmperm (S) ; 37 [p2, post2] = dmperm (H) ; 38 assert (isequal (p1, p2)) ; 39 assert (isequal (post1, post2)) ; 40 41 assert (isequal (dmperm (A), dmperm (G))) ; 42 assert (isequal (dmperm (S), dmperm (H))) ; 43 44 [p1, q1, r1, s1, cc1, rr1] = dmperm (A) ; 45 [p2, q2, r2, s2, cc2, rr2] = dmperm (G) ; 46 assert (isequal (p1, p2)) ; 47 assert (isequal (q1, q2)) ; 48 assert (isequal (r1, r2)) ; 49 assert (isequal (s1, s2)) ; 50 assert (isequal (cc1, cc2)) ; 51 assert (isequal (rr1, rr2)) ; 52 53 [p1, q1, r1, s1, cc1, rr1] = dmperm (S) ; 54 [p2, q2, r2, s2, cc2, rr2] = dmperm (H) ; 55 assert (isequal (p1, p2)) ; 56 assert (isequal (q1, q2)) ; 57 assert (isequal (r1, r2)) ; 58 assert (isequal (s1, s2)) ; 59 assert (isequal (cc1, cc2)) ; 60 assert (isequal (rr1, rr2)) ; 61 62end 63 64fprintf ('\ngbtest39: all tests passed\n') ; 65