1function gbtest19 2%GBTEST19 test mpower 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') ; 8A = rand (4) ; 9G = GrB (A) ; 10maxerr = 0 ; 11 12for k = 0:10 13 C1 = A^k ; 14 C2 = G^k ; 15 err = norm (C1 - C2, 1) ; 16 assert (err < 1e-10) ; 17 maxerr = max (maxerr, err) ; 18 C1 = A.^k ; 19 C2 = G.^k ; 20 err = norm (C1 - C2, 1) ; 21 assert (err < 1e-10) ; 22 maxerr = max (maxerr, err) ; 23end 24 25a = pi ; 26b = 3.7 ; 27c1 = a^b ; 28x = GrB (a) ; 29c2 = x^b ; 30err = abs (c1-c2) ; 31assert (err < 1e-10) ; 32maxerr = max (maxerr, err) ; 33 34for type = { 'single', 'double' } 35 I1 = complex (eye (4, type{1})) ; 36 I2 = GrB (I1) ; 37 C1 = I1^0 ; 38 C2 = I2^0 ; 39 assert (norm (C1 - C2, 1) == 0) ; 40 C1 = A^0 ; 41 C2 = G^0 ; 42 assert (norm (C1 - C2, 1) == 0) ; 43 C1 = A^1 ; 44 C2 = G^1 ; 45 assert (norm (C1 - C2, 1) == 0) ; 46 C1 = I1^1 ; 47 C2 = I2^1 ; 48 assert (norm (C1 - C2, 1) == 0) ; 49end 50 51fprintf ('max error: %g\n', maxerr) ; 52fprintf ('gbtest19: all tests passed\n') ; 53 54