1function descriptorinfo (d) 2%GRB.DESCRIPTOR list the contents of a SuiteSparse:GraphBLAS descriptor. 3% 4% GrB.descriptorinfo 5% GrB.descriptorinfo (d) 6% 7% The GraphBLAS descriptor is a MATLAB struct that modifies the behavior 8% of GraphBLAS operations. It contains the following components, each of 9% which are a string or a number. Any component of struct that is not 10% present is set to the default value. If the descriptor d is empty, or 11% not present, in a GraphBLAS function, all default settings are used. 12% 13% The following descriptor values are strings: 14% 15% d.out 'default' or 'replace' determines if C is cleared before 16% the accum/mask step 17% 18% d.mask 'default' use M as the mask (if present) 19% 'complement' use ~M as the mask 20% 'structural' or 'structure' use the pattern of M 21% 'structural complement' use the pattern of ~M 22% 23% d.in0 'default' or 'transpose' determines A or A.' is used 24% d.in1 'default' or 'transpose' determines B or B.' is used 25% 26% d.axb 'default', 'saxpy', 'dot', 'Gustavson', or 'hash'. Determines 27% the method used in GrB.mxm. The default is to let GraphBLAS 28% determine the method automatically, via a heuristic. 29% 30% d.kind For most GrB.methods, this is a string equal to 'default', 31% 'GrB', 'sparse', 'full', or 'matlab'. The default is 'GrB', 32% where the GraphBLAS operation returns an object, which is 33% preferred since GraphBLAS sparse matrices are faster and can 34% represent many more data types. However, if you want a 35% standard MATLAB sparse matrix on ouput, use d.kind='sparse'. 36% Use d.kind='full' to return a MATLAB full matrix. Use 37% d.kind='matlab' for a MATLAB sparse or full matrix (full if 38% all entries are present, sparse otherwise). 39% 40% d.base A string equal to 'default', 'zero-based', 'one-based', or 41% 'one-based int'. The default is 'one-based'. If d.base is 42% 'zero-based', then indices are zero-based, in the range 0 to 43% n-1, for a matrix of dimension n. 44% 45% d.format a string that describes the sparsity format of the output 46% matrix C. The following rules are used to determine the 47% format of the result, in order: 48% 49% (1) If d.format appears in the descriptor for a method, then 50% that determines the format of C. 51% (2) If C is a column vector then C is stored by column. 52% (3) If C is a row vector then C is stored by row. 53% (4) If the method has a first matrix input (usually called A), 54% and it is not a row or column vector, then its format is 55% used for C. 56% (5) If the method has a second matrix input (usually called 57% B), and it is not a row or column vector, then its format 58% is used for C. 59% (6) Otherwise, the global default format is used for C. 60% See GrB.format for details. 61% 62% The d.format string optionally includes one or more strings 63% 'sparse', 'hypersparse' (or 'hyper' for short), 'bitmap', and 64% 'full', separated by '/', and then optionally followed by the 65% string 'by row' or 'by col'. For example, to allow C to be 66% sparse or bitmap, use d.format = 'sparse/bitmap'. To return 67% C as hypersparse in row-oriented format, use 'hyper by row'. 68% 69% These descriptor values are scalars: 70% 71% d.nthreads max # of threads to use; default is omp_get_max_threads. 72% d.chunk controls # of threads to use for small problems. 73% 74% GrB.descriptorinfo (d) lists the contents of a GraphBLAS descriptor and 75% checks if its contents are valid. Also refer to the 76% SuiteSparse:GraphBLAS User Guide for more details. 77% 78% See also GrB.binopinfo, GrB.monoidinfo, GrB.selectopinfo, 79% GrB.semiringinfo, GrB.unopinfo. 80 81% SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved. 82% SPDX-License-Identifier: GPL-3.0-or-later 83 84% FUTURE: add desc.in* = 'conjugate transpose' 85 86if (nargin == 0) 87 help GrB.descriptorinfo 88 gbdescriptorinfo ; 89else 90 gbdescriptorinfo (d) ; 91end 92 93