MATLAB Function Reference
spparms

Set parameters for sparse matrix routines

Syntax

• ```spparms('key'`,`value)
spparms
values = spparms
[keys`,`values] = spparms
spparms(values)
value = spparms('key')
spparms('default')
spparms('tight')
```

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`.

 Note    Cholesky-based \ and / on symmetric positive definite matrices use `symmmd`.LU-based \ and / (UMFPACK) on square matrices use a modified `colamd`.QR-based \ and / on rectangular matrices use `colmmd`.

```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.

`\`, `chol`, `colamd`, `colmmd`, `symmmd`