Mercurial > octave-nkf
diff doc/interpreter/diagperm.txi @ 19630:0e1f5a750d00
maint: Periodic merge of gui-release to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 20 Jan 2015 10:24:46 -0500 |
parents | 9e5b64b3c1fe 446c46af4b42 |
children | 4197fc428c7d |
line wrap: on
line diff
--- a/doc/interpreter/diagperm.txi Tue Jan 20 09:55:41 2015 -0500 +++ b/doc/interpreter/diagperm.txi Tue Jan 20 10:24:46 2015 -0500 @@ -6,12 +6,12 @@ @c under the terms of the GNU General Public License as published by the @c Free Software Foundation; either version 3 of the License, or (at @c your option) any later version. -@c +@c @c Octave is distributed in the hope that it will be useful, but WITHOUT @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License @c for more details. -@c +@c @c You should have received a copy of the GNU General Public License @c along with Octave; see the file COPYING. If not, see @c <http://www.gnu.org/licenses/>. @@ -33,7 +33,7 @@ @section Creating and Manipulating Diagonal/Permutation Matrices A diagonal matrix is defined as a matrix that has zero entries outside the main -diagonal; that is, +diagonal; that is, @tex $D_{ij} = 0$ if $i \neq j$ @end tex @@ -46,14 +46,14 @@ A permutation matrix is defined as a square matrix that has a single element equal to unity in each row and each column; all other elements are zero. That -is, there exists a permutation (vector) +is, there exists a permutation (vector) @tex $p$ such that $P_{ij}=1$ if $j = p_i$ and -$P_{ij}=0$ otherwise. +$P_{ij}=0$ otherwise. @end tex @ifnottex -@code{p} such that @code{P(i,j) == 1} if @code{j == p(i)} and -@code{P(i,j) == 0} otherwise. +@code{p} such that @code{P(i,j) == 1} if @code{j == p(i)} and +@code{P(i,j) == 0} otherwise. @end ifnottex Octave provides special treatment of real and complex rectangular diagonal @@ -124,7 +124,7 @@ 0 0 3 0 0 0 0 0 0 -@end example +@end example @node Creating Permutation Matrices @subsection Creating Permutation Matrices @@ -142,11 +142,11 @@ will create a permutation matrix - a special matrix object. @example -eye (n) (q, :) +eye (n) (q, :) @end example @noindent -will also work (and create a row permutation matrix), as well as +will also work (and create a row permutation matrix), as well as @example eye (n) (q1, q2). @@ -250,7 +250,7 @@ Assume @var{D} is a diagonal matrix. If @var{M} is a full matrix, then @code{D*M} will scale the rows of @var{M}. That means, if @code{S = D*M}, then for each pair of indices -i,j it holds +i,j it holds @tex $$S_{ij} = D_{ii} M_{ij}$$ @end tex @@ -271,8 +271,8 @@ @end example @noindent -i.e., trailing @code{n-m} rows of @var{M} are ignored. If @code{m > n}, -then @code{D*M} is equivalent to +i.e., trailing @code{n-m} rows of @var{M} are ignored. If @code{m > n}, +then @code{D*M} is equivalent to @example [D(1:n,n) * M; zeros(m-n, columns (M))], @@ -290,7 +290,7 @@ a rectangular diagonal matrix is again a rectangular diagonal matrix with swapped dimensions, where each nonzero diagonal element is replaced by its reciprocal. -The matrix division algorithms do, in fact, use division rather than +The matrix division algorithms do, in fact, use division rather than multiplication by reciprocals for better numerical accuracy; otherwise, they honor the above definition. Note that a diagonal matrix is never truncated due to ill-conditioning; otherwise, it would not be of much use for scaling. This @@ -309,9 +309,9 @@ @example @group D1 + D2 -D1 - D2 -D1 * D2 -D1 / D2 +D1 - D2 +D1 * D2 +D1 / D2 D1 \ D2 @end group @end example @@ -323,7 +323,7 @@ Also, a diagonal matrix @var{D} can be multiplied or divided by a scalar, or raised to a scalar power if it is square, producing diagonal matrix result in -all cases. +all cases. A diagonal matrix can also be transposed or conjugate-transposed, giving the expected result. Extracting a leading submatrix of a diagonal matrix, i.e., @@ -351,7 +351,7 @@ If @var{P} is a permutation matrix and @var{M} a matrix, the expression @code{P*M} will permute the rows of @var{M}. Similarly, @code{M*P} will -yield a column permutation. +yield a column permutation. Matrix division @code{P\M} and @code{M/P} can be used to do inverse permutation. The previously described syntax for creating permutation matrices can actually @@ -414,7 +414,7 @@ when given a diagonal matrix, as well as @dfn{cond}. The following mapper functions can be applied to a diagonal matrix without converting it to a full one: -@dfn{abs}, @dfn{real}, @dfn{imag}, @dfn{conj}, @dfn{sqrt}. +@dfn{abs}, @dfn{real}, @dfn{imag}, @dfn{conj}, @dfn{sqrt}. A diagonal matrix can also be returned from the @dfn{balance} and @dfn{svd} functions. The @dfn{sparse} function will convert a diagonal matrix efficiently to a @@ -522,7 +522,7 @@ (diagonal, triangular) or a sparsity pattern; its value is usually not stored explicitly anywhere, but is implied by the underlying data structure. -The primary distinction is that an assumed zero, when multiplied +The primary distinction is that an assumed zero, when multiplied by any number, or divided by any nonzero number, yields *always* a zero, even when, e.g., multiplied by @code{Inf} or divided by @code{NaN}.