/usr/share/doc/octave/octave.html/Creating-Permutation-Matrices.html is in octave-doc 4.2.2-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Creating Permutation Matrices (GNU Octave)</title>
<meta name="description" content="Creating Permutation Matrices (GNU Octave)">
<meta name="keywords" content="Creating Permutation Matrices (GNU Octave)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Basic-Usage.html#Basic-Usage" rel="up" title="Basic Usage">
<link href="Explicit-and-Implicit-Conversions.html#Explicit-and-Implicit-Conversions" rel="next" title="Explicit and Implicit Conversions">
<link href="Creating-Diagonal-Matrices.html#Creating-Diagonal-Matrices" rel="prev" title="Creating Diagonal Matrices">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<a name="Creating-Permutation-Matrices"></a>
<div class="header">
<p>
Next: <a href="Explicit-and-Implicit-Conversions.html#Explicit-and-Implicit-Conversions" accesskey="n" rel="next">Explicit and Implicit Conversions</a>, Previous: <a href="Creating-Diagonal-Matrices.html#Creating-Diagonal-Matrices" accesskey="p" rel="prev">Creating Diagonal Matrices</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Creating-Permutation-Matrices-1"></a>
<h4 class="subsection">21.1.2 Creating Permutation Matrices</h4>
<p>For creating permutation matrices, Octave does not introduce a new function,
but rather overrides an existing syntax: permutation matrices can be
conveniently created by indexing an identity matrix by permutation vectors.
That is, if <var>q</var> is a permutation vector of length <var>n</var>, the expression
</p>
<div class="example">
<pre class="example"> P = eye (n) (:, q);
</pre></div>
<p>will create a permutation matrix - a special matrix object.
</p>
<div class="example">
<pre class="example">eye (n) (q, :)
</pre></div>
<p>will also work (and create a row permutation matrix), as well as
</p>
<div class="example">
<pre class="example">eye (n) (q1, q2).
</pre></div>
<p>For example:
</p>
<div class="example">
<pre class="example"> eye (4) ([1,3,2,4],:)
⇒
Permutation Matrix
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
eye (4) (:,[1,3,2,4])
⇒
Permutation Matrix
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
</pre></div>
<p>Mathematically, an identity matrix is both diagonal and permutation matrix.
In Octave, <code>eye (n)</code> returns a diagonal matrix, because a matrix
can only have one class. You can convert this diagonal matrix to a permutation
matrix by indexing it by an identity permutation, as shown below.
This is a special property of the identity matrix; indexing other diagonal
matrices generally produces a full matrix.
</p>
<div class="example">
<pre class="example"> eye (3)
⇒
Diagonal Matrix
1 0 0
0 1 0
0 0 1
eye(3)(1:3,:)
⇒
Permutation Matrix
1 0 0
0 1 0
0 0 1
</pre></div>
<p>Some other built-in functions can also return permutation matrices. Examples
include
<em>inv</em> or <em>lu</em>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Explicit-and-Implicit-Conversions.html#Explicit-and-Implicit-Conversions" accesskey="n" rel="next">Explicit and Implicit Conversions</a>, Previous: <a href="Creating-Diagonal-Matrices.html#Creating-Diagonal-Matrices" accesskey="p" rel="prev">Creating Diagonal Matrices</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|