Mercurial > octave-antonio
comparison libinterp/dldfcn/ccolamd.cc @ 20163:075a5e2e1ba5 stable
doc: Update more docstrings to have one sentence summary as first line.
Reviewed build-aux, libinterp/dldfcn, libinterp/octave-value,
libinterp/parse-tree directories.
* build-aux/mk-opts.pl, libinterp/dldfcn/__magick_read__.cc,
libinterp/dldfcn/amd.cc, libinterp/dldfcn/audiodevinfo.cc,
libinterp/dldfcn/audioread.cc, libinterp/dldfcn/ccolamd.cc,
libinterp/dldfcn/chol.cc, libinterp/dldfcn/colamd.cc,
libinterp/dldfcn/convhulln.cc, libinterp/dldfcn/dmperm.cc,
libinterp/dldfcn/fftw.cc, libinterp/dldfcn/qr.cc, libinterp/dldfcn/symbfact.cc,
libinterp/dldfcn/symrcm.cc, libinterp/octave-value/ov-base.cc,
libinterp/octave-value/ov-bool-mat.cc, libinterp/octave-value/ov-cell.cc,
libinterp/octave-value/ov-class.cc, libinterp/octave-value/ov-fcn-handle.cc,
libinterp/octave-value/ov-fcn-inline.cc, libinterp/octave-value/ov-java.cc,
libinterp/octave-value/ov-null-mat.cc, libinterp/octave-value/ov-oncleanup.cc,
libinterp/octave-value/ov-range.cc, libinterp/octave-value/ov-struct.cc,
libinterp/octave-value/ov-typeinfo.cc, libinterp/octave-value/ov-usr-fcn.cc,
libinterp/octave-value/ov.cc, libinterp/parse-tree/lex.ll,
libinterp/parse-tree/oct-parse.in.yy, libinterp/parse-tree/pt-binop.cc,
libinterp/parse-tree/pt-eval.cc, libinterp/parse-tree/pt-mat.cc:
doc: Update more docstrings to have one sentence summary as first line.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 03 May 2015 21:52:42 -0700 |
parents | 4197fc428c7d |
children |
comparison
equal
deleted
inserted
replaced
20162:2645f9ef8c88 | 20163:075a5e2e1ba5 |
---|---|
57 @deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs})\n\ | 57 @deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs})\n\ |
58 @deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs}, @var{cmember})\n\ | 58 @deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs}, @var{cmember})\n\ |
59 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} ccolamd (@dots{})\n\ | 59 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} ccolamd (@dots{})\n\ |
60 \n\ | 60 \n\ |
61 Constrained column approximate minimum degree permutation.\n\ | 61 Constrained column approximate minimum degree permutation.\n\ |
62 \n\ | |
62 @code{@var{p} = ccolamd (@var{S})} returns the column approximate minimum\n\ | 63 @code{@var{p} = ccolamd (@var{S})} returns the column approximate minimum\n\ |
63 degree permutation vector for the sparse matrix @var{S}. For a non-symmetric\n\ | 64 degree permutation vector for the sparse matrix @var{S}. For a non-symmetric\n\ |
64 matrix\n\ | 65 matrix @var{S}, @code{@var{S}(:, @var{p})} tends to have sparser\n\ |
65 @var{S},\n\ | 66 LU@tie{}factors than @var{S}.\n\ |
66 @code{@var{S}(:, @var{p})} tends to have sparser LU@tie{}factors than\n\ | 67 @code{chol (@var{S}(:, @var{p})' * @var{S}(:, @var{p}))} also tends to be\n\ |
67 @var{S}. @code{chol (@var{S}(:, @var{p})' * @var{S}(:, @var{p}))} also\n\ | 68 sparser than @code{chol (@var{S}' * @var{S})}.\n\ |
68 tends to be sparser than @code{chol (@var{S}' * @var{S})}. @code{@var{p} =\n\ | 69 @code{@var{p} = ccolamd (@var{S}, 1)} optimizes the ordering for\n\ |
69 ccolamd (@var{S}, 1)} optimizes the ordering for @code{lu (@var{S}(:,\n\ | 70 @code{lu (@var{S}(:, @var{p}))}. The ordering is followed by a column\n\ |
70 @var{p}))}. The ordering is followed by a column elimination tree\n\ | 71 elimination tree post-ordering.\n\ |
71 post-ordering.\n\ | |
72 \n\ | 72 \n\ |
73 @var{knobs} is an optional 1-element to 5-element input vector, with a\n\ | 73 @var{knobs} is an optional 1-element to 5-element input vector, with a\n\ |
74 default value of @code{[0 10 10 1 0]} if not present or empty. Entries not\n\ | 74 default value of @code{[0 10 10 1 0]} if not present or empty. Entries not\n\ |
75 present are set to their defaults.\n\ | 75 present are set to their defaults.\n\ |
76 \n\ | 76 \n\ |
77 @table @code\n\ | 77 @table @code\n\ |
78 @item @var{knobs}(1)\n\ | 78 @item @var{knobs}(1)\n\ |
79 if nonzero, the ordering is optimized for @code{lu (S(:, p))}. It will be a\n\ | 79 if nonzero, the ordering is optimized for @code{lu (S(:, p))}. It will be a\n\ |
80 poor ordering for @code{chol (@var{S}(:, @var{p})' * @var{S}(:,\n\ | 80 poor ordering for @code{chol (@var{S}(:, @var{p})' * @var{S}(:, @var{p}))}.\n\ |
81 @var{p}))}. This is the most important knob for ccolamd.\n\ | 81 This is the most important knob for ccolamd.\n\ |
82 \n\ | 82 \n\ |
83 @item @var{knobs}(2)\n\ | 83 @item @var{knobs}(2)\n\ |
84 if @var{S} is m-by-n, rows with more than @code{max (16, @var{knobs}(2) *\n\ | 84 if @var{S} is m-by-n, rows with more than\n\ |
85 sqrt (n))} entries are ignored.\n\ | 85 @code{max (16, @var{knobs}(2) * sqrt (n))} entries are ignored.\n\ |
86 \n\ | 86 \n\ |
87 @item @var{knobs}(3)\n\ | 87 @item @var{knobs}(3)\n\ |
88 columns with more than @code{max (16, @var{knobs}(3) * sqrt (min (@var{m},\n\ | 88 columns with more than\n\ |
89 @var{n})))} entries are ignored and ordered last in the output permutation\n\ | 89 @code{max (16, @var{knobs}(3) * sqrt (min (@var{m}, @var{n})))} entries are\n\ |
90 ignored and ordered last in the output permutation\n\ | |
90 (subject to the cmember constraints).\n\ | 91 (subject to the cmember constraints).\n\ |
91 \n\ | 92 \n\ |
92 @item @var{knobs}(4)\n\ | 93 @item @var{knobs}(4)\n\ |
93 if nonzero, aggressive absorption is performed.\n\ | 94 if nonzero, aggressive absorption is performed.\n\ |
94 \n\ | 95 \n\ |
342 @deftypefn {Loadable Function} {@var{p} =} csymamd (@var{S})\n\ | 343 @deftypefn {Loadable Function} {@var{p} =} csymamd (@var{S})\n\ |
343 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs})\n\ | 344 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs})\n\ |
344 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs}, @var{cmember})\n\ | 345 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs}, @var{cmember})\n\ |
345 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} csymamd (@dots{})\n\ | 346 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} csymamd (@dots{})\n\ |
346 \n\ | 347 \n\ |
347 For a symmetric positive definite matrix @var{S}, returns the permutation\n\ | 348 For a symmetric positive definite matrix @var{S}, return the permutation\n\ |
348 vector @var{p} such that @code{@var{S}(@var{p},@var{p})} tends to have a\n\ | 349 vector @var{p} such that @code{@var{S}(@var{p},@var{p})} tends to have a\n\ |
349 sparser Cholesky@tie{}factor than @var{S}. Sometimes @code{csymamd} works\n\ | 350 sparser Cholesky@tie{}factor than @var{S}.\n\ |
350 well for symmetric indefinite matrices too. The matrix @var{S} is assumed\n\ | 351 \n\ |
351 to be symmetric; only the strictly lower triangular part is referenced.\n\ | 352 Sometimes @code{csymamd} works well for symmetric indefinite matrices too. \n\ |
352 @var{S} must be square. The ordering is followed by an elimination tree\n\ | 353 The matrix @var{S} is assumed to be symmetric; only the strictly lower\n\ |
353 post-ordering.\n\ | 354 triangular part is referenced. @var{S} must be square. The ordering is\n\ |
355 followed by an elimination tree post-ordering.\n\ | |
354 \n\ | 356 \n\ |
355 @var{knobs} is an optional 1-element to 3-element input vector, with a\n\ | 357 @var{knobs} is an optional 1-element to 3-element input vector, with a\n\ |
356 default value of @code{[10 1 0]} if present or empty. Entries not\n\ | 358 default value of @code{[10 1 0]}. Entries not present are set to their\n\ |
357 present are set to their defaults.\n\ | 359 defaults.\n\ |
358 \n\ | 360 \n\ |
359 @table @code\n\ | 361 @table @code\n\ |
360 @item @var{knobs}(1)\n\ | 362 @item @var{knobs}(1)\n\ |
361 If @var{S} is n-by-n, then rows and columns with more than\n\ | 363 If @var{S} is n-by-n, then rows and columns with more than\n\ |
362 @code{max(16,@var{knobs}(1)*sqrt(n))} entries are ignored, and ordered\n\ | 364 @code{max(16,@var{knobs}(1)*sqrt(n))} entries are ignored, and ordered\n\ |
375 in constraint set @var{c} (@var{c} must be in the range 1 to n). In the\n\ | 377 in constraint set @var{c} (@var{c} must be in the range 1 to n). In the\n\ |
376 output permutation @var{p}, rows/columns in set 1 appear first, followed\n\ | 378 output permutation @var{p}, rows/columns in set 1 appear first, followed\n\ |
377 by all rows/columns in set 2, and so on. @code{@var{cmember} = ones (1,n)}\n\ | 379 by all rows/columns in set 2, and so on. @code{@var{cmember} = ones (1,n)}\n\ |
378 if not present or empty. @code{csymamd (@var{S},[],1:n)} returns @code{1:n}.\n\ | 380 if not present or empty. @code{csymamd (@var{S},[],1:n)} returns @code{1:n}.\n\ |
379 \n\ | 381 \n\ |
380 @code{@var{p} = csymamd (@var{S})} is about the same as @code{@var{p} =\n\ | 382 @code{@var{p} = csymamd (@var{S})} is about the same as\n\ |
381 symamd (@var{S})}. @var{knobs} and its default values differ.\n\ | 383 @code{@var{p} = symamd (@var{S})}. @var{knobs} and its default values\n\ |
384 differ.\n\ | |
382 \n\ | 385 \n\ |
383 @code{@var{stats}(4:7)} provide information if CCOLAMD was able to\n\ | 386 @code{@var{stats}(4:7)} provide information if CCOLAMD was able to\n\ |
384 continue. The matrix is OK if @code{@var{stats}(4)} is zero, or 1 if\n\ | 387 continue. The matrix is OK if @code{@var{stats}(4)} is zero, or 1 if\n\ |
385 invalid. @code{@var{stats}(5)} is the rightmost column index that is\n\ | 388 invalid. @code{@var{stats}(5)} is the rightmost column index that is\n\ |
386 unsorted or contains duplicate entries, or zero if no such column exists.\n\ | 389 unsorted or contains duplicate entries, or zero if no such column exists.\n\ |