diff libinterp/corefcn/dmperm.cc @ 28754:86dc599fff0f

doc: spellcheck documentation. * aspell-octave.en.pws: Add new words to Octave-specific dictionary. * dmperm.cc, memory.m: Fix spelling.
author Rik <rik@octave.org>
date Thu, 17 Sep 2020 11:30:53 -0700
parents 4bb892170ebb
children 7854d5752dd2
line wrap: on
line diff
--- a/libinterp/corefcn/dmperm.cc	Thu Sep 17 11:07:19 2020 -0700
+++ b/libinterp/corefcn/dmperm.cc	Thu Sep 17 11:30:53 2020 -0700
@@ -129,17 +129,16 @@
 Perform a @nospell{Dulmage-Mendelsohn} permutation of the sparse matrix
 @var{A}.
 
-With a single output argument @code{dmperm} return a maximum matching
-@var{p} such that @code{p(j) = i} if column @var{j}
-is matched to row @var{i}, or 0 if column @var{j} is unmatched.  If
-@var{A} is square and full structural rank, @var{p} is a row permutation
-and @code{A(p,:)} has a zero-free diagonal.  The structural
-rank of @var{A} is @code{sprank(A) = sum(p>0)}.
+With a single output argument @code{dmperm}, return a maximum matching @var{p}
+such that @code{p(j) = i} if column @var{j} is matched to row @var{i}, or 0 if
+column @var{j} is unmatched.  If @var{A} is square and full structural rank,
+@var{p} is a row permutation and @code{A(p,:)} has a zero-free diagonal.  The
+structural rank of @var{A} is @code{sprank(A) = sum(p>0)}.
 
-Called with two or more output arguments, return the Dulmage-Mendelsohn
-decomposition of @var{A}.  @var{p} and @var{q} are permutation vectors.
-@var{cc} and @var{rr} are vectors of length 5.  @code{c = A(p,q)} is
-split into a 4-by-4 set of coarse blocks:
+Called with two or more output arguments, return the
+@nospell{Dulmage-Mendelsohn} decomposition of @var{A}.  @var{p} and @var{q} are
+permutation vectors.  @var{cc} and @var{rr} are vectors of length 5.
+@code{c = A(p,q)} is split into a 4-by-4 set of coarse blocks:
 
 @example
 @group
@@ -152,33 +151,32 @@
 
 @noindent
 where @code{A12}, @code{A23}, and @code{A34} are square with zero-free
-diagonals.  The columns of @code{A11} are the unmatched columns, and the
-rows of @code{A44} are the unmatched rows.  Any of these blocks can be
-empty.  In the "coarse" decomposition, the (i,j)-th block is
+diagonals.  The columns of @code{A11} are the unmatched columns, and the rows
+of @code{A44} are the unmatched rows.  Any of these blocks can be empty.  In
+the "coarse" decomposition, the (i,j)-th block is
 @code{C(rr(i):rr(i+1)-1,cc(j):cc(j+1)-1)}.  In terms of a linear system,
 @code{[A11 A12]} is the underdetermined part of the system (it is always
-rectangular and with more columns and rows, or 0-by-0), @code{A23} is
-the well-determined part of the system (it is always square), and
-@code{[A34 ; A44]} is the over-determined part of the system (it is
-always rectangular with more rows than columns, or 0-by-0).
+rectangular and with more columns and rows, or 0-by-0), @code{A23} is the
+well-determined part of the system (it is always square), and
+@code{[A34 ; A44]} is the over-determined part of the system (it is always
+rectangular with more rows than columns, or 0-by-0).
 
-The structural rank of @var{A} is @code{sprank (A) = rr(4)-1}, which is
-an upper bound on the numerical rank of @var{A}.
+The structural rank of @var{A} is @code{sprank (A) = rr(4)-1}, which is an
+upper bound on the numerical rank of @var{A}.
 @code{sprank(A) = rank(full(sprand(A)))} with probability 1 in exact
 arithmetic.
 
-The @code{A23} submatrix is further subdivided into block upper
-triangular form via the "fine" decomposition (the strongly-connected
-components of @code{A23}).  If @var{A} is square and structurally
-non-singular, @code{A23} is the entire matrix.
+The @code{A23} submatrix is further subdivided into block upper triangular form
+via the "fine" decomposition (the strongly-connected components of @code{A23}).
+If @var{A} is square and structurally non-singular, @code{A23} is the entire
+matrix.
 
-@code{C(r(i):r(i+1)-1,s(j):s(j+1)-1)} is the (i,j)-th block of
-the fine decomposition.  The (1,1) block is the rectangular block
-@code{[A11 A12]}, unless this block is 0-by-0.  The (b,b) block is the
-rectangular block @code{[A34 ; A44]}, unless this block is 0-by-0, where
-@code{b = length(r)-1}.  All other blocks of the form
-@code{C(r(i):r(i+1)-1,s(i):s(i+1)-1)} are diagonal blocks of
-@code{A23}, and are square with a zero-free diagonal.
+@code{C(r(i):r(i+1)-1,s(j):s(j+1)-1)} is the (i,j)-th block of the fine
+decomposition.  The (1,1) block is the rectangular block @code{[A11 A12]},
+unless this block is 0-by-0.  The (b,b) block is the rectangular block
+@code{[A34 ; A44]}, unless this block is 0-by-0, where @code{b = length(r)-1}.
+All other blocks of the form @code{C(r(i):r(i+1)-1,s(i):s(i+1)-1)} are diagonal
+blocks of @code{A23}, and are square with a zero-free diagonal.
 
 The method used is described in: @nospell{A. Pothen & C.-J. Fan.}
 @cite{Computing the Block Triangular Form of a Sparse Matrix}.