#### 22.1.4.1 Sparse Functions

Many Octave functions have been overloaded to work with either sparse or full matrices. There is no difference in calling convention when using an overloaded function with a sparse matrix, however, there is also no access to potentially sparse-specific features. At any time the sparse matrix specific version of a function can be used by explicitly calling its function name.

The table below lists all of the sparse functions of Octave. Note that the names of the specific sparse forms of the functions are typically the same as the general versions with a sp prefix. In the table below, and in the rest of this article, the specific sparse versions of functions are used.

Generate sparse matrices:

  spalloc, spdiags, speye, sprand, sprandn, sprandsym

Sparse matrix conversion:

  full, sparse, spconvert

Manipulate sparse matrices

  issparse, nnz, nonzeros, nzmax, spfun, spones, spy

Graph Theory:

  etree, etreeplot, gplot, treeplot

Sparse matrix reordering:

  amd, ccolamd, colamd, colperm, csymamd, dmperm, symamd, randperm, symrcm

Linear algebra:

  condest, eigs, matrix_type, normest, sprank, spaugment, svds

Iterative techniques:

  ichol, ilu, pcg, pcr

Miscellaneous:

  spparms, symbfact, spstats

In addition all of the standard Octave mapper functions (i.e., basic math functions that take a single argument) such as abs, etc. can accept sparse matrices. The reader is referred to the documentation supplied with these functions within Octave itself for further details.