File: Empty-Matrices.html

package info (click to toggle)
octave 3.8.2-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 84,396 kB
  • ctags: 45,547
  • sloc: cpp: 293,356; ansic: 42,041; fortran: 23,669; sh: 13,629; objc: 7,890; yacc: 7,093; lex: 3,442; java: 2,125; makefile: 1,589; perl: 1,009; awk: 974; xml: 34
file content (132 lines) | stat: -rw-r--r-- 5,559 bytes parent folder | download | duplicates (3)
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: Empty Matrices</title>

<meta name="description" content="GNU Octave: Empty Matrices">
<meta name="keywords" content="GNU Octave: Empty Matrices">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<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="Matrices.html#Matrices" rel="up" title="Matrices">
<link href="Ranges.html#Ranges" rel="next" title="Ranges">
<link href="Matrices.html#Matrices" rel="prev" title="Matrices">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
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.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Empty-Matrices"></a>
<div class="header">
<p>
Up: <a href="Matrices.html#Matrices" accesskey="u" rel="up">Matrices</a> &nbsp; [<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="Empty-Matrices-1"></a>
<h4 class="subsection">4.1.1 Empty Matrices</h4>

<p>A matrix may have one or both dimensions zero, and operations on empty
matrices are handled as described by Carl de Boor in <cite>An Empty
Exercise</cite>, SIGNUM, Volume 25, pages 2-6, 1990 and C. N. Nett and W. M.
Haddad, in <cite>A System-Theoretic Appropriate Realization of the Empty
Matrix Concept</cite>, IEEE Transactions on Automatic Control, Volume 38,
Number 5, May 1993.
Briefly, given a scalar <var>s</var>, an <var>m</var> by
<var>n</var> matrix <code>M(mxn)</code>, and an <var>m</var> by <var>n</var> empty matrix
<code>[](mxn)</code> (with either one or both dimensions equal to zero), the
following are true:
</p>
<div class="example">
<pre class="example">s * [](mxn) = [](mxn) * s = [](mxn)

    [](mxn) + [](mxn) = [](mxn)

    [](0xm) *  M(mxn) = [](0xn)

     M(mxn) * [](nx0) = [](mx0)

    [](mx0) * [](0xn) =  0(mxn)
</pre></div>


<p>By default, dimensions of the empty matrix are printed along with the
empty matrix symbol, &lsquo;<samp>[]</samp>&rsquo;.  The built-in variable
<code>print_empty_dimensions</code> controls this behavior.
</p>
<a name="XREFprint_005fempty_005fdimensions"></a><dl>
<dt><a name="index-print_005fempty_005fdimensions"></a>Built-in Function: <em><var>val</var> =</em> <strong>print_empty_dimensions</strong> <em>()</em></dt>
<dt><a name="index-print_005fempty_005fdimensions-1"></a>Built-in Function: <em><var>old_val</var> =</em> <strong>print_empty_dimensions</strong> <em>(<var>new_val</var>)</em></dt>
<dt><a name="index-print_005fempty_005fdimensions-2"></a>Built-in Function: <em></em> <strong>print_empty_dimensions</strong> <em>(<var>new_val</var>, &quot;local&quot;)</em></dt>
<dd><p>Query or set the internal variable that controls whether the
dimensions of empty matrices are printed along with the empty matrix
symbol, &lsquo;<samp>[]</samp>&rsquo;.  For example, the expression
</p>
<div class="example">
<pre class="example">zeros (3, 0)
</pre></div>

<p>will print
</p>
<div class="example">
<pre class="example">ans = [](3x0)
</pre></div>

<p>When called from inside a function with the <code>&quot;local&quot;</code> option, the
variable is changed locally for the function and any subroutines it calls.  
The original variable value is restored when exiting the function.
</p>
<p><strong>See also:</strong> <a href="Terminal-Output.html#XREFformat">format</a>.
</p></dd></dl>


<p>Empty matrices may also be used in assignment statements as a convenient
way to delete rows or columns of matrices.
See <a href="Assignment-Ops.html#Assignment-Ops">Assignment Expressions</a>.
</p>
<p>When Octave parses a matrix expression, it examines the elements of the
list to determine whether they are all constants.  If they are, it
replaces the list with a single matrix constant.
</p>
<hr>
<div class="header">
<p>
Up: <a href="Matrices.html#Matrices" accesskey="u" rel="up">Matrices</a> &nbsp; [<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>