MATLAB Function Reference    
spparms

Set parameters for sparse matrix routines

Syntax

Description

spparms('key',value) sets one or more of the tunable parameters used in the sparse routines, particularly the minimum degree orderings, colmmd and symmmd. In ordinary use, you should never need to deal with this function.

The meanings of the key parameters are

'spumoni'
Sparse Monitor flag:

0
Produces no diagnostic output, the default

1
Produces information about choice of algorithm based on matrix structure, and about storage allocation

2
Also produces very detailed information about the sparse matrix algorithms
'thr_rel',
'thr_abs'

Minimum degree threshold is thr_rel*mindegree + thr_abs.
'exact_d'
Nonzero to use exact degrees in minimum degree. Zero to use approximate degrees.
'supernd'
If positive, minimum degree amalgamates the supernodes every supernd stages.
'rreduce'
If positive, minimum degree does row reduction every rreduce stages.
'wh_frac'
Rows with density > wh_frac are ignored in colmmd.
'autommd'
Nonzero to use minimum degree (MMD) orderings with Cholesky- and QR-based \ and /.
'autoamd'
Nonzero to use colamd ordering with the UMFPACK LU-based \ and /.
'piv_tol'
Pivot tolerance used by the UMFPACK LU-based \ and /.
'bandden'
Band density used by LAPACK-based \ and / for banded matrices. Band density is defined as (# nonzeros in the band)/(# nonzeros in a full band). If bandden = 1.0, never use band solver. If bandden = 0.0, always use band solver. Default is 0.5.

spparms, by itself, prints a description of the current settings.

values = spparms returns a vector whose components give the current settings.

[keys,values] = spparms returns that vector, and also returns a character matrix whose rows are the keywords for the parameters.

spparms(values), with no output argument, sets all the parameters to the values specified by the argument vector.

value = spparms('key') returns the current setting of one parameter.

spparms('default') sets all the parameters to their default settings.

spparms('tight') sets the minimum degree ordering parameters to their tight settings, which can lead to orderings with less fill-in, but which make the ordering functions themselves use more execution time.

The key parameters for default and tight settings are


Keyword
Default
Tight
values(1)
'spumoni'
0.0

values(2)
'thr_rel'
1.1
1.0
values(3)
'thr_abs'
1.0
0.0
values(4)
'exact_d'
0.0
1.0
values(5)
'supernd'
3.0
1.0
values(6)
'rreduce'
3.0
1.0
values(7)
'wh_frac'
0.5
0.5
values(8)
'autommd'
1.0

values(9)
'autoamd'
1.0

values(10)
'piv_tol'
0.1

values(11)
'bandden'
0.5

Notes

Sparse A\b on symmetric positive definite A uses symmmd and chol.

Sparse A\b on general square A uses UMFPACK and its modified colamd reordering. colamd does not used the parameters above, other than 'autoamd' which turns the preordering on or off, and 'piv_tol' which controls the pivot tolerance. UMFPACK also responds to 'spumoni', as do the majority of the built-in sparse matrix functions.

See Also

\, chol, colamd, colmmd, symmmd

References

[1]  Gilbert, John R., Cleve Moler, and Robert Schreiber, "Sparse Matrices in MATLAB: Design and Implementation," SIAM Journal on Matrix Analysis and Applications, Vol. 13, 1992, pp. 333-356.

[2]  Davis, T. A., UMFPACK Version 4.0 User Guide (http://www.cise.ufl.edu/research/sparse/umfpack/v4.0/UserGuide.pdf), Dept. of Computer and Information Science and Engineering, Univ. of Florida, Gainesville, FL, 2002.


  spones sprand