GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "defun-dld.h"
#include "error.h"
#include "gripes.h"
#include "oct-obj.h"
#include "utils.h"
#include "oct-sparse.h"
#include "ov-re-sparse.h"
#include "ov-cx-sparse.h"
#include "SparseQR.h"
#include "SparseCmplxQR.h"
Go to the source code of this file.
Macros | |
#define | CXSPARSE_NAME(name) cs_di ## name |
Functions | |
DEFUN_DLD (dmperm, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Loadable Function} {@var{p} =} dmperm (@var{S})\n\ @deftypefnx {Loadable Function} {[@var{p}, @var{q}, @var{r}, @var{S}] =} dmperm (@var{S})\n\ \n\ @cindex Dulmage-Mendelsohn decomposition\n\ Perform a Dulmage-Mendelsohn permutation of the sparse matrix @var{S}.\n\ With a single output argument @code{dmperm} performs the row permutations\n\ @var{p} such that @code{@var{S}(@var{p},:)} has no zero elements on the\n\ diagonal.\n\ \n\ Called with two or more output arguments, returns the row and column\n\ permutations, such that @code{@var{S}(@var{p}, @var{q})} is in block\n\ triangular form. The values of @var{r} and @var{S} define the boundaries\n\ of the blocks. If @var{S} is square then @code{@var{r} == @var{S}}.\n\ \n\ The method used is described in: A. Pothen & C.-J. Fan. @cite{Computing the\n\ Block Triangular Form of a Sparse Matrix}. ACM Trans. Math. Software,\n\ 16(4):303-324, 1990.\n\ @seealso{colamd, ccolamd}\n\ @end deftypefn") | |
DEFUN_DLD (sprank, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Loadable Function} {@var{p} =} sprank (@var{S})\n\ @cindex structural rank\n\ \n\ Calculate the structural rank of the sparse matrix @var{S}. Note that\n\ only the structure of the matrix is used in this calculation based on\n\ a Dulmage-Mendelsohn permutation to block triangular form. As such the\n\ numerical rank of the matrix @var{S} is bounded by\n\ @code{sprank (@var{S}) >= rank (@var{S})}. Ignoring floating point errors\n\ @code{sprank (@var{S}) == rank (@var{S})}.\n\ @seealso{dmperm}\n\ @end deftypefn") | |
static octave_value_list | dmperm_internal (bool rank, const octave_value arg, int nargout) |
static RowVector | put_int (octave_idx_type *p, octave_idx_type n) |
#define CXSPARSE_NAME | ( | name | ) | cs_di ## name |
Definition at line 43 of file dmperm.cc.
Referenced by dmperm_internal().
DEFUN_DLD | ( | dmperm | , |
args | , | ||
nargout | |||
) |
Definition at line 134 of file dmperm.cc.
References dmperm_internal(), error(), and print_usage().
DEFUN_DLD | ( | sprank | , |
args | , | ||
nargout | |||
) |
Definition at line 190 of file dmperm.cc.
References dmperm_internal(), error(), and print_usage().
|
static |
Definition at line 57 of file dmperm.cc.
References octave_value::columns(), CXSPARSE_NAME, d, error_state, octave_value::is_real_type(), Sparse< T >::nnz(), Sparse< T >::nzmax(), put_int(), octave_value::rows(), octave_value::sparse_complex_matrix_value(), octave_value::sparse_matrix_value(), Sparse< T >::xcidx(), and Sparse< T >::xridx().
Referenced by DEFUN_DLD().
|
static |
Definition at line 47 of file dmperm.cc.
References Array< T >::xelem().
Referenced by dmperm_internal().