<html lang="en"> <head> <title>Sparse Functions - GNU Octave</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="GNU Octave"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Operators-and-Functions.html#Operators-and-Functions" title="Operators and Functions"> <link rel="next" href="Return-Types-of-Operators-and-Functions.html#Return-Types-of-Operators-and-Functions" title="Return Types of Operators and Functions"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Sparse-Functions"></a> <p> Next: <a rel="next" accesskey="n" href="Return-Types-of-Operators-and-Functions.html#Return-Types-of-Operators-and-Functions">Return Types of Operators and Functions</a>, Up: <a rel="up" accesskey="u" href="Operators-and-Functions.html#Operators-and-Functions">Operators and Functions</a> <hr> </div> <h5 class="subsubsection">22.1.4.1 Sparse Functions</h5> <p>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. <p>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 <dfn>sp</dfn> prefix. In the table below, and in the rest of this article, the specific sparse versions of functions are used. <!-- Table includes in comments the missing sparse functions --> <dl> <dt>Generate sparse matrices:<dd> <dfn>spalloc</dfn>, <dfn>spdiags</dfn>, <dfn>speye</dfn>, <dfn>sprand</dfn>, <dfn>sprandn</dfn>, <dfn>sprandsym</dfn> <br><dt>Sparse matrix conversion:<dd> <dfn>full</dfn>, <dfn>sparse</dfn>, <dfn>spconvert</dfn> <br><dt>Manipulate sparse matrices<dd> <dfn>issparse</dfn>, <dfn>nnz</dfn>, <dfn>nonzeros</dfn>, <dfn>nzmax</dfn>, <dfn>spfun</dfn>, <dfn>spones</dfn>, <dfn>spy</dfn> <br><dt>Graph Theory:<dd> <dfn>etree</dfn>, <dfn>etreeplot</dfn>, <dfn>gplot</dfn>, <dfn>treeplot</dfn> <!-- @dfn{treelayout} --> <br><dt>Sparse matrix reordering:<dd> <dfn>amd</dfn>, <dfn>ccolamd</dfn>, <dfn>colamd</dfn>, <dfn>colperm</dfn>, <dfn>csymamd</dfn>, <dfn>dmperm</dfn>, <dfn>symamd</dfn>, <dfn>randperm</dfn>, <dfn>symrcm</dfn> <br><dt>Linear algebra:<dd> <dfn>condest</dfn>, <dfn>eigs</dfn>, <dfn>matrix_type</dfn>, <dfn>normest</dfn>, <dfn>sprank</dfn>, <dfn>spaugment</dfn>, <dfn>svds</dfn> <br><dt>Iterative techniques:<dd> <dfn>luinc</dfn>, <dfn>pcg</dfn>, <dfn>pcr</dfn> <!-- @dfn{bicg}, @dfn{bicgstab}, @dfn{cholinc}, @dfn{cgs}, @dfn{gmres}, --> <!-- @dfn{lsqr}, @dfn{minres}, @dfn{qmr}, @dfn{symmlq} --> <br><dt>Miscellaneous:<dd> <dfn>spparms</dfn>, <dfn>symbfact</dfn>, <dfn>spstats</dfn> </dl> <p>In addition all of the standard Octave mapper functions (i.e., basic math functions that take a single argument) such as <dfn>abs</dfn>, etc. can accept sparse matrices. The reader is referred to the documentation supplied with these functions within Octave itself for further details. </body></html>