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\