Mercurial > hg > octave-lyh
comparison src/DLD-FUNCTIONS/ccolamd.cc @ 9064:7c02ec148a3c
Check grammar on all .cc files
Same check as previously done on .m files
Attempt to enforce some conformity in documentation text for rules
such as two spaces after a period, commas around latin abbreviations, etc.
author | Rik <rdrider0-list@yahoo.com> |
---|---|
date | Sat, 28 Mar 2009 13:57:22 -0700 |
parents | eb63fbe60fab |
children | 40dfc0c99116 |
comparison
equal
deleted
inserted
replaced
9063:a6cf0ad87eee | 9064:7c02ec148a3c |
---|---|
56 @deftypefn {Loadable Function} {@var{p} =} ccolamd (@var{s})\n\ | 56 @deftypefn {Loadable Function} {@var{p} =} ccolamd (@var{s})\n\ |
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. @code{@var{p} =\n\ | 61 Constrained column approximate minimum degree permutation. @code{@var{p} =\n\ |
62 ccolamd (@var{s})} returns the column approximate minimum degree permutation\n\ | 62 ccolamd (@var{s})} returns the column approximate minimum degree permutation\n\ |
63 vector for the sparse matrix @var{s}. For a non-symmetric matrix @var{s},\n\ | 63 vector for the sparse matrix @var{s}. For a non-symmetric matrix @var{s},\n\ |
64 @code{@var{s} (:, @var{p})} tends to have sparser LU factors than @var{s}.\n\ | 64 @code{@var{s} (:, @var{p})} tends to have sparser LU factors than @var{s}.\n\ |
65 @code{chol (@var{s} (:, @var{p})' * @var{s} (:, @var{p}))} also tends to be\n\ | 65 @code{chol (@var{s} (:, @var{p})' * @var{s} (:, @var{p}))} also tends to be\n\ |
66 sparser than @code{chol (@var{s}' * @var{s})}. @code{@var{p} = ccolamd\n\ | 66 sparser than @code{chol (@var{s}' * @var{s})}. @code{@var{p} = ccolamd\n\ |
67 (@var{s}, 1)} optimizes the ordering for @code{lu (@var{s} (:, @var{p}))}.\n\ | 67 (@var{s}, 1)} optimizes the ordering for @code{lu (@var{s} (:, @var{p}))}.\n\ |
68 The ordering is followed by a column elimination tree post-ordering.\n\ | 68 The ordering is followed by a column elimination tree post-ordering.\n\ |
69 \n\ | 69 \n\ |
70 @var{knobs} is an optional one- to five-element input vector, with a default\n\ | 70 @var{knobs} is an optional one- to five-element input vector, with a default\n\ |
71 value of @code{[0 10 10 1 0]} if not present or empty. Entries not present\n\ | 71 value of @code{[0 10 10 1 0]} if not present or empty. Entries not present\n\ |
72 are set to their defaults.\n\ | 72 are set to their defaults.\n\ |
73 \n\ | 73 \n\ |
74 @table @code\n\ | 74 @table @code\n\ |
75 @item @var{knobs}(1)\n\ | 75 @item @var{knobs}(1)\n\ |
76 if nonzero, the ordering is optimized for @code{lu (S (:, p))}. It will be a\n\ | 76 if nonzero, the ordering is optimized for @code{lu (S (:, p))}. It will be a\n\ |
77 poor ordering for @code{chol (@var{s} (:, @var{p})' * @var{s} (:,\n\ | 77 poor ordering for @code{chol (@var{s} (:, @var{p})' * @var{s} (:,\n\ |
78 @var{p}))}. This is the most important knob for ccolamd.\n\ | 78 @var{p}))}. This is the most important knob for ccolamd.\n\ |
79 \n\ | 79 \n\ |
80 @item @var{knob}(2)\n\ | 80 @item @var{knob}(2)\n\ |
81 if @var{s} is m-by-n, rows with more than @code{max (16, @var{knobs} (2) *\n\ | 81 if @var{s} is m-by-n, rows with more than @code{max (16, @var{knobs} (2) *\n\ |
82 sqrt (n))} entries are ignored.\n\ | 82 sqrt (n))} entries are ignored.\n\ |
83 \n\ | 83 \n\ |
101 first, followed by all columns in set 2, and so on. @code{@var{cmember} =\n\ | 101 first, followed by all columns in set 2, and so on. @code{@var{cmember} =\n\ |
102 ones(1,n)} if not present or empty. @code{ccolamd (@var{s}, [], 1 :\n\ | 102 ones(1,n)} if not present or empty. @code{ccolamd (@var{s}, [], 1 :\n\ |
103 @var{n})} returns @code{1 : @var{n}}\n\ | 103 @var{n})} returns @code{1 : @var{n}}\n\ |
104 \n\ | 104 \n\ |
105 @code{@var{p} = ccolamd (@var{s})} is about the same as @code{@var{p} =\n\ | 105 @code{@var{p} = ccolamd (@var{s})} is about the same as @code{@var{p} =\n\ |
106 colamd (@var{s})}. @var{knobs} and its default values differ. @code{colamd}\n\ | 106 colamd (@var{s})}. @var{knobs} and its default values differ. @code{colamd}\n\ |
107 always does aggressive absorption, and it finds an ordering suitable for\n\ | 107 always does aggressive absorption, and it finds an ordering suitable for\n\ |
108 both @code{lu (@var{s} (:, @var{p}))} and @code{chol (@var{S} (:, @var{p})'\n\ | 108 both @code{lu (@var{s} (:, @var{p}))} and @code{chol (@var{S} (:, @var{p})'\n\ |
109 * @var{s} (:, @var{p}))}; it cannot optimize its ordering for\n\ | 109 * @var{s} (:, @var{p}))}; it cannot optimize its ordering for\n\ |
110 @code{lu (@var{s} (:, @var{p}))} to the extent that\n\ | 110 @code{lu (@var{s} (:, @var{p}))} to the extent that\n\ |
111 @code{ccolamd (@var{s}, 1)} can.\n\ | 111 @code{ccolamd (@var{s}, 1)} can.\n\ |
112 \n\ | 112 \n\ |
113 @var{stats} is an optional 20-element output vector that provides data\n\ | 113 @var{stats} is an optional 20-element output vector that provides data\n\ |
114 about the ordering and the validity of the input matrix @var{s}. Ordering\n\ | 114 about the ordering and the validity of the input matrix @var{s}. Ordering\n\ |
115 statistics are in @code{@var{stats} (1 : 3)}. @code{@var{stats} (1)} and\n\ | 115 statistics are in @code{@var{stats} (1 : 3)}. @code{@var{stats} (1)} and\n\ |
116 @code{@var{stats} (2)} are the number of dense or empty rows and columns\n\ | 116 @code{@var{stats} (2)} are the number of dense or empty rows and columns\n\ |
117 ignored by CCOLAMD and @code{@var{stats} (3)} is the number of garbage\n\ | 117 ignored by CCOLAMD and @code{@var{stats} (3)} is the number of garbage\n\ |
118 collections performed on the internal data structure used by CCOLAMD\n\ | 118 collections performed on the internal data structure used by CCOLAMD\n\ |
119 (roughly of size @code{2.2 * nnz (@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\ | 119 (roughly of size @code{2.2 * nnz (@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\ |
120 integers).\n\ | 120 integers).\n\ |
121 \n\ | 121 \n\ |
122 @code{@var{stats} (4 : 7)} provide information if CCOLAMD was able to\n\ | 122 @code{@var{stats} (4 : 7)} provide information if CCOLAMD was able to\n\ |
123 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ | 123 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ |
124 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ | 124 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ |
125 unsorted or contains duplicate entries, or zero if no such column exists.\n\ | 125 unsorted or contains duplicate entries, or zero if no such column exists.\n\ |
126 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ | 126 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ |
127 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ | 127 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ |
128 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ | 128 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ |
129 or out-of-order row indices. @code{@var{stats} (8 : 20)} is always zero in\n\ | 129 or out-of-order row indices. @code{@var{stats} (8 : 20)} is always zero in\n\ |
130 the current version of CCOLAMD (reserved for future use).\n\ | 130 the current version of CCOLAMD (reserved for future use).\n\ |
131 \n\ | 131 \n\ |
132 The authors of the code itself are S. Larimore, T. Davis (Uni of Florida)\n\ | 132 The authors of the code itself are S. Larimore, T. Davis (Uni of Florida)\n\ |
133 and S. Rajamanickam in collaboration with J. Bilbert and E. Ng. Supported\n\ | 133 and S. Rajamanickam in collaboration with J. Bilbert and E. Ng. Supported\n\ |
134 by the National Science Foundation (DMS-9504974, DMS-9803599, CCR-0203270),\n\ | 134 by the National Science Foundation (DMS-9504974, DMS-9803599, CCR-0203270),\n\ |
135 and a grant from Sandia National Lab. See\n\ | 135 and a grant from Sandia National Lab. See\n\ |
136 @url{http://www.cise.ufl.edu/research/sparse} for ccolamd, csymamd, amd,\n\ | 136 @url{http://www.cise.ufl.edu/research/sparse} for ccolamd, csymamd, amd,\n\ |
137 colamd, symamd, and other related orderings.\n\ | 137 colamd, symamd, and other related orderings.\n\ |
138 @seealso{colamd, csymamd}\n\ | 138 @seealso{colamd, csymamd}\n\ |
338 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{s}, @var{knobs}, @var{cmember})\n\ | 338 @deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{s}, @var{knobs}, @var{cmember})\n\ |
339 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} csymamd (@dots{})\n\ | 339 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} csymamd (@dots{})\n\ |
340 \n\ | 340 \n\ |
341 For a symmetric positive definite matrix @var{s}, returns the permutation\n\ | 341 For a symmetric positive definite matrix @var{s}, returns the permutation\n\ |
342 vector @var{p} such that @code{@var{s}(@var{p},@var{p})} tends to have a\n\ | 342 vector @var{p} such that @code{@var{s}(@var{p},@var{p})} tends to have a\n\ |
343 sparser Cholesky factor than @var{s}. Sometimes @code{csymamd} works well\n\ | 343 sparser Cholesky factor than @var{s}. Sometimes @code{csymamd} works well\n\ |
344 for symmetric indefinite matrices too. The matrix @var{s} is assumed to\n\ | 344 for symmetric indefinite matrices too. The matrix @var{s} is assumed to\n\ |
345 be symmetric; only the strictly lower triangular part is referenced.\n\ | 345 be symmetric; only the strictly lower triangular part is referenced.\n\ |
346 @var{s} must be square. The ordering is followed by an elimination tree\n\ | 346 @var{s} must be square. The ordering is followed by an elimination tree\n\ |
347 post-ordering.\n\ | 347 post-ordering.\n\ |
348 \n\ | 348 \n\ |
349 @var{knobs} is an optional one- to three-element input vector, with a\n\ | 349 @var{knobs} is an optional one- to three-element input vector, with a\n\ |
350 default value of @code{[10 1 0]} if present or empty. Entries not\n\ | 350 default value of @code{[10 1 0]} if present or empty. Entries not\n\ |
351 present are set to their defaults.\n\ | 351 present are set to their defaults.\n\ |
363 If nonzero, statistics and knobs are printed.\n\ | 363 If nonzero, statistics and knobs are printed.\n\ |
364 \n\ | 364 \n\ |
365 @end table\n\ | 365 @end table\n\ |
366 \n\ | 366 \n\ |
367 @var{cmember} is an optional vector of length n. It defines the constraints\n\ | 367 @var{cmember} is an optional vector of length n. It defines the constraints\n\ |
368 on the ordering. If @code{@var{cmember}(j) = @var{s}}, then row/column j is\n\ | 368 on the ordering. If @code{@var{cmember}(j) = @var{s}}, then row/column j is\n\ |
369 in constraint set @var{c} (@var{c} must be in the range 1 to n). In the\n\ | 369 in constraint set @var{c} (@var{c} must be in the range 1 to n). In the\n\ |
370 output permutation @var{p}, rows/columns in set 1 appear first, followed\n\ | 370 output permutation @var{p}, rows/columns in set 1 appear first, followed\n\ |
371 by all rows/columns in set 2, and so on. @code{@var{cmember} = ones(1,n)}\n\ | 371 by all rows/columns in set 2, and so on. @code{@var{cmember} = ones(1,n)}\n\ |
372 if not present or empty. @code{csymamd(@var{s},[],1:n)} returns @code{1:n}.\n\ | 372 if not present or empty. @code{csymamd(@var{s},[],1:n)} returns @code{1:n}.\n\ |
373 \n\ | 373 \n\ |
374 @code{@var{p} = csymamd(@var{s})} is about the same as @code{@var{p} =\n\ | 374 @code{@var{p} = csymamd(@var{s})} is about the same as @code{@var{p} =\n\ |
375 symamd(@var{s})}. @var{knobs} and its default values differ.\n\ | 375 symamd(@var{s})}. @var{knobs} and its default values differ.\n\ |
376 \n\ | 376 \n\ |
377 @code{@var{stats} (4:7)} provide information if CCOLAMD was able to\n\ | 377 @code{@var{stats} (4:7)} provide information if CCOLAMD was able to\n\ |
378 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ | 378 continue. The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\ |
379 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ | 379 invalid. @code{@var{stats} (5)} is the rightmost column index that is\n\ |
380 unsorted or contains duplicate entries, or zero if no such column exists.\n\ | 380 unsorted or contains duplicate entries, or zero if no such column exists.\n\ |
381 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ | 381 @code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\ |
382 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ | 382 index in the column index given by @code{@var{stats} (5)}, or zero if no\n\ |
383 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ | 383 such row index exists. @code{@var{stats} (7)} is the number of duplicate\n\ |
384 or out-of-order row indices. @code{@var{stats} (8:20)} is always zero in\n\ | 384 or out-of-order row indices. @code{@var{stats} (8:20)} is always zero in\n\ |
385 the current version of CCOLAMD (reserved for future use).\n\ | 385 the current version of CCOLAMD (reserved for future use).\n\ |
386 \n\ | 386 \n\ |
387 The authors of the code itself are S. Larimore, T. Davis (Uni of Florida)\n\ | 387 The authors of the code itself are S. Larimore, T. Davis (Uni of Florida)\n\ |
388 and S. Rajamanickam in collaboration with J. Bilbert and E. Ng. Supported\n\ | 388 and S. Rajamanickam in collaboration with J. Bilbert and E. Ng. Supported\n\ |
389 by the National Science Foundation (DMS-9504974, DMS-9803599, CCR-0203270),\n\ | 389 by the National Science Foundation (DMS-9504974, DMS-9803599, CCR-0203270),\n\ |
390 and a grant from Sandia National Lab. See\n\ | 390 and a grant from Sandia National Lab. See\n\ |
391 @url{http://www.cise.ufl.edu/research/sparse} for ccolamd, csymamd, amd,\n\ | 391 @url{http://www.cise.ufl.edu/research/sparse} for ccolamd, csymamd, amd,\n\ |
392 colamd, symamd, and other related orderings.\n\ | 392 colamd, symamd, and other related orderings.\n\ |
393 @seealso{symamd, ccolamd}\n\ | 393 @seealso{symamd, ccolamd}\n\ |