Mercurial > octave-nkf
comparison src/DLD-FUNCTIONS/colamd.cc @ 10840:89f4d7e294cc
Grammarcheck .cc files
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Sat, 31 Jul 2010 11:18:11 -0700 |
parents | b4d2080b6df7 |
children | a4f482e66b65 |
comparison
equal
deleted
inserted
replaced
10839:65bc065bec95 | 10840:89f4d7e294cc |
---|---|
208 } | 208 } |
209 } | 209 } |
210 | 210 |
211 DEFUN_DLD (colamd, args, nargout, | 211 DEFUN_DLD (colamd, args, nargout, |
212 "-*- texinfo -*-\n\ | 212 "-*- texinfo -*-\n\ |
213 @deftypefn {Loadable Function} {@var{p} =} colamd (@var{s})\n\ | 213 @deftypefn {Loadable Function} {@var{p} =} colamd (@var{s})\n\ |
214 @deftypefnx {Loadable Function} {@var{p} =} colamd (@var{s}, @var{knobs})\n\ | 214 @deftypefnx {Loadable Function} {@var{p} =} colamd (@var{s}, @var{knobs})\n\ |
215 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s})\n\ | 215 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s})\n\ |
216 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s}, @var{knobs})\n\ | 216 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s}, @var{knobs})\n\ |
217 \n\ | 217 \n\ |
218 Column approximate minimum degree permutation. @code{@var{p} = colamd\n\ | 218 Column approximate minimum degree permutation.\n\ |
219 (@var{s})} returns the column approximate minimum degree permutation\n\ | 219 @code{@var{p} = colamd (@var{s})} returns the column approximate minimum degree\n\ |
220 vector for the sparse matrix @var{s}. For a non-symmetric matrix @var{s},\n\ | 220 permutation vector for the sparse matrix @var{s}. For a non-symmetric matrix\n\ |
221 @var{s},\n\ | |
221 @code{@var{s} (:,@var{p})} tends to have sparser LU factors than @var{s}.\n\ | 222 @code{@var{s} (:,@var{p})} tends to have sparser LU factors than @var{s}.\n\ |
222 The Cholesky factorization of @code{@var{s} (:,@var{p})' * @var{s}\n\ | 223 The Cholesky factorization of @code{@var{s} (:,@var{p})' * @var{s}\n\ |
223 (:,@var{p})} also tends to be sparser than that of @code{@var{s}' *\n\ | 224 (:,@var{p})} also tends to be sparser than that of @code{@var{s}' *\n\ |
224 @var{s}}.\n\ | 225 @var{s}}.\n\ |
225 \n\ | 226 \n\ |
235 \n\ | 236 \n\ |
236 @var{stats} is an optional 20-element output vector that provides data\n\ | 237 @var{stats} is an optional 20-element output vector that provides data\n\ |
237 about the ordering and the validity of the input matrix @var{s}. Ordering\n\ | 238 about the ordering and the validity of the input matrix @var{s}. Ordering\n\ |
238 statistics are in @code{@var{stats} (1:3)}. @code{@var{stats} (1)} and\n\ | 239 statistics are in @code{@var{stats} (1:3)}. @code{@var{stats} (1)} and\n\ |
239 @code{@var{stats} (2)} are the number of dense or empty rows and columns\n\ | 240 @code{@var{stats} (2)} are the number of dense or empty rows and columns\n\ |
240 ignored by COLAMD and @code{@var{stats} (3)} is the number of garbage\n\ | 241 ignored by @sc{colamd} and @code{@var{stats} (3)} is the number of garbage\n\ |
241 collections performed on the internal data structure used by COLAMD\n\ | 242 collections performed on the internal data structure used by @sc{colamd}\n\ |
242 (roughly of size @code{2.2 * nnz(@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\ | 243 (roughly of size @code{2.2 * nnz(@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\ |
243 integers).\n\ | 244 integers).\n\ |
244 \n\ | 245 \n\ |
245 Octave built-in functions are intended to generate valid sparse matrices,\n\ | 246 Octave built-in functions are intended to generate valid sparse matrices,\n\ |
246 with no duplicate entries, with ascending row indices of the nonzeros\n\ | 247 with no duplicate entries, with ascending row indices of the nonzeros\n\ |
247 in each column, with a non-negative number of entries in each column (!)\n\ | 248 in each column, with a non-negative number of entries in each column (!)\n\ |
248 and so on. If a matrix is invalid, then COLAMD may or may not be able\n\ | 249 and so on. If a matrix is invalid, then @sc{colamd} may or may not be able\n\ |
249 to continue. If there are duplicate entries (a row index appears two or\n\ | 250 to continue. If there are duplicate entries (a row index appears two or\n\ |
250 more times in the same column) or if the row indices in a column are out\n\ | 251 more times in the same column) or if the row indices in a column are out\n\ |
251 of order, then COLAMD can correct these errors by ignoring the duplicate\n\ | 252 of order, then @sc{colamd} can correct these errors by ignoring the duplicate\n\ |
252 entries and sorting each column of its internal copy of the matrix\n\ | 253 entries and sorting each column of its internal copy of the matrix\n\ |
253 @var{s} (the input matrix @var{s} is not repaired, however). If a matrix\n\ | 254 @var{s} (the input matrix @var{s} is not repaired, however). If a matrix\n\ |
254 is invalid in other ways then COLAMD cannot continue, an error message is\n\ | 255 is invalid in other ways then @sc{colamd} cannot continue, an error message is\n\ |
255 printed, and no output arguments (@var{p} or @var{stats}) are returned.\n\ | 256 printed, and no output arguments (@var{p} or @var{stats}) are returned.\n\ |
256 COLAMD is thus a simple way to check a sparse matrix to see if it's\n\ | 257 @sc{colamd} is thus a simple way to check a sparse matrix to see if it's\n\ |
257 valid.\n\ | 258 valid.\n\ |
258 \n\ | 259 \n\ |
259 @code{@var{stats} (4:7)} provide information if COLAMD was able to\n\ | 260 @code{@var{stats} (4:7)} provide information if COLAMD was able to\n\ |
260 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ | 261 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ |
261 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ | 262 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ |
262 unsorted or contains duplicate entries, or zero if no such column exists.\n\ | 263 unsorted or contains duplicate entries, or zero if no such column exists.\n\ |
263 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ | 264 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ |
264 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ | 265 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ |
265 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ | 266 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ |
266 or out-of-order row indices. @code{@var{stats} (8:20)} is always zero in\n\ | 267 or out-of-order row indices. @code{@var{stats} (8:20)} is always zero in\n\ |
267 the current version of COLAMD (reserved for future use).\n\ | 268 the current version of @sc{colamd} (reserved for future use).\n\ |
268 \n\ | 269 \n\ |
269 The ordering is followed by a column elimination tree post-ordering.\n\ | 270 The ordering is followed by a column elimination tree post-ordering.\n\ |
270 \n\ | 271 \n\ |
271 The authors of the code itself are Stefan I. Larimore and Timothy A.\n\ | 272 The authors of the code itself are Stefan I. Larimore and Timothy A.\n\ |
272 Davis (davis@@cise.ufl.edu), University of Florida. The algorithm was\n\ | 273 Davis @email{davis@@cise.ufl.edu}, University of Florida. The algorithm was\n\ |
273 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\ | 274 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\ |
274 Ng, Oak Ridge National Laboratory. (see\n\ | 275 Ng, Oak Ridge National Laboratory. (see\n\ |
275 @url{http://www.cise.ufl.edu/research/sparse/colamd})\n\ | 276 @url{http://www.cise.ufl.edu/research/sparse/colamd})\n\ |
276 @seealso{colperm, symamd}\n\ | 277 @seealso{colperm, symamd}\n\ |
277 @end deftypefn") | 278 @end deftypefn") |
447 return retval; | 448 return retval; |
448 } | 449 } |
449 | 450 |
450 DEFUN_DLD (symamd, args, nargout, | 451 DEFUN_DLD (symamd, args, nargout, |
451 "-*- texinfo -*-\n\ | 452 "-*- texinfo -*-\n\ |
452 @deftypefn {Loadable Function} {@var{p} =} symamd (@var{s})\n\ | 453 @deftypefn {Loadable Function} {@var{p} =} symamd (@var{s})\n\ |
453 @deftypefnx {Loadable Function} {@var{p} =} symamd (@var{s}, @var{knobs})\n\ | 454 @deftypefnx {Loadable Function} {@var{p} =} symamd (@var{s}, @var{knobs})\n\ |
454 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s})\n\ | 455 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s})\n\ |
455 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s}, @var{knobs})\n\ | 456 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s}, @var{knobs})\n\ |
456 \n\ | 457 \n\ |
457 For a symmetric positive definite matrix @var{s}, returns the permutation\n\ | 458 For a symmetric positive definite matrix @var{s}, returns the permutation\n\ |
503 \n\ | 504 \n\ |
504 The ordering is followed by a column elimination tree post-ordering.\n\ | 505 The ordering is followed by a column elimination tree post-ordering.\n\ |
505 \n\ | 506 \n\ |
506 \n\ | 507 \n\ |
507 The authors of the code itself are Stefan I. Larimore and Timothy A.\n\ | 508 The authors of the code itself are Stefan I. Larimore and Timothy A.\n\ |
508 Davis (davis@@cise.ufl.edu), University of Florida. The algorithm was\n\ | 509 Davis @email{davis@@cise.ufl.edu}, University of Florida. The algorithm was\n\ |
509 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\ | 510 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\ |
510 Ng, Oak Ridge National Laboratory. (see\n\ | 511 Ng, Oak Ridge National Laboratory. (see\n\ |
511 @url{http://www.cise.ufl.edu/research/sparse/colamd})\n\ | 512 @url{http://www.cise.ufl.edu/research/sparse/colamd})\n\ |
512 @seealso{colperm, colamd}\n\ | 513 @seealso{colperm, colamd}\n\ |
513 @end deftypefn") | 514 @end deftypefn") |
644 return retval; | 645 return retval; |
645 } | 646 } |
646 | 647 |
647 DEFUN_DLD (etree, args, nargout, | 648 DEFUN_DLD (etree, args, nargout, |
648 "-*- texinfo -*-\n\ | 649 "-*- texinfo -*-\n\ |
649 @deftypefn {Loadable Function} {@var{p} =} etree (@var{s})\n\ | 650 @deftypefn {Loadable Function} {@var{p} =} etree (@var{s})\n\ |
650 @deftypefnx {Loadable Function} {@var{p} =} etree (@var{s}, @var{typ})\n\ | 651 @deftypefnx {Loadable Function} {@var{p} =} etree (@var{s}, @var{typ})\n\ |
651 @deftypefnx {Loadable Function} {[@var{p}, @var{q}] =} etree (@var{s}, @var{typ})\n\ | 652 @deftypefnx {Loadable Function} {[@var{p}, @var{q}] =} etree (@var{s}, @var{typ})\n\ |
652 \n\ | 653 \n\ |
653 Returns the elimination tree for the matrix @var{s}. By default @var{s}\n\ | 654 Returns the elimination tree for the matrix @var{s}. By default @var{s}\n\ |
654 is assumed to be symmetric and the symmetric elimination tree is\n\ | 655 is assumed to be symmetric and the symmetric elimination tree is\n\ |