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 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima 5.47.0 Manual: Relational operators</title>
<meta name="description" content="Maxima 5.47.0 Manual: Relational operators">
<meta name="keywords" content="Maxima 5.47.0 Manual: Relational operators">
<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="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_423.html#Function-and-Variable-Index" rel="index" title="Function and Variable Index">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_34.html#Operators" rel="up" title="Operators">
<link href="maxima_38.html#Logical-operators" rel="next" title="Logical operators">
<link href="maxima_36.html#Arithmetic-operators" rel="previous" title="Arithmetic operators">
<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}
body {color: black; background: white; margin-left: 8%; margin-right: 13%;
font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
font-family: sans-serif}
div.synopsisbox {
border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}
-->
</style>
<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Relational-operators"></a>
<div class="header">
<p>
Next: <a href="maxima_38.html#Logical-operators" accesskey="n" rel="next">Logical operators</a>, Previous: <a href="maxima_36.html#Arithmetic-operators" accesskey="p" rel="previous">Arithmetic operators</a>, Up: <a href="maxima_34.html#Operators" accesskey="u" rel="up">Operators</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Relational-operators-1"></a>
<h3 class="section">7.3 Relational operators</h3>
<a name="g_t_003c"></a><a name="g_t_003c_003d"></a><a name="g_t_003e_003d"></a><a name="g_t_003e"></a><a name="index-Less-than"></a>
<a name="index-Less-than-or-equal"></a>
<a name="index-Greater-than-or-equal"></a>
<a name="index-Greater-than"></a>
<a name="Item_003a-Operators_002fdeffn_002f_003c"></a><dl>
<dt><a name="index-_003c"></a>Operator: <strong><</strong></dt>
<dd><a name="Item_003a-Operators_002fdeffn_002f_003c_003d"></a></dd><dt><a name="index-_003c_003d"></a>Operator: <strong><=</strong></dt>
<dd><a name="Item_003a-Operators_002fdeffn_002f_003e_003d"></a></dd><dt><a name="index-_003e_003d"></a>Operator: <strong>>=</strong></dt>
<dd><a name="Item_003a-Operators_002fdeffn_002f_003e"></a></dd><dt><a name="index-_003e"></a>Operator: <strong>></strong></dt>
<dd>
<p>The symbols <code><</code> <code><=</code> <code>>=</code> and <code>></code> represent less than, less
than or equal, greater than or equal, and greater than, respectively. The names
of these operators are <code>"<"</code> <code>"<="</code> <code>">="</code> and <code>">"</code>, which
may appear where the name of a function or operator is required.
</p>
<p>These relational operators are all binary operators; constructs such as
<code>a < b < c</code> are not recognized by Maxima.
</p>
<p>Relational expressions are evaluated to Boolean values by the functions
<code><a href="maxima_63.html#is">is</a></code> and <code><a href="maxima_63.html#maybe">maybe</a></code>, and the programming constructs
<code><a href="maxima_175.html#if">if</a></code>, <code><a href="maxima_175.html#while">while</a></code>, and <code><a href="maxima_175.html#unless">unless</a></code>. Relational expressions
are not otherwise evaluated or simplified to Boolean values, although the
arguments of relational expressions are evaluated (when evaluation is not
otherwise prevented by quotation).
</p>
<p>When a relational expression cannot be evaluated to <code>true</code> or <code>false</code>,
the behavior of <code>is</code> and <code>if</code> are governed by the global flag
<code><a href="maxima_175.html#prederror">prederror</a></code>. When <code>prederror</code> is <code>true</code>, <code>is</code> and
<code>if</code> trigger an error. When <code>prederror</code> is <code>false</code>, <code>is</code>
returns <code>unknown</code>, and <code>if</code> returns a partially-evaluated conditional
expression.
</p>
<p><code>maybe</code> always behaves as if <code>prederror</code> were <code>false</code>, and
<code>while</code> and <code>unless</code> always behave as if <code>prederror</code> were
<code>true</code>.
</p>
<p>Relational operators do not distribute over lists or other aggregates.
</p>
<p>See also <code><a href="maxima_39.html#g_t_003d">=</a></code>, <code><a href="maxima_39.html#g_t_0023">#</a></code>, <code><a href="maxima_64.html#equal">equal</a></code>, and <code><a href="maxima_64.html#notequal">notequal</a></code>.
</p>
<p>Examples:
</p>
<p>Relational expressions are evaluated to Boolean values by some functions and
programming constructs.
</p>
<div class="example">
<pre class="example">(%i1) [x, y, z] : [123, 456, 789];
(%o1) [123, 456, 789]
(%i2) is (x < y);
(%o2) true
(%i3) maybe (y > z);
(%o3) false
(%i4) if x >= z then 1 else 0;
(%o4) 0
(%i5) block ([S], S : 0, for i:1 while i <= 100 do S : S + i,
return (S));
(%o5) 5050
</pre></div>
<p>Relational expressions are not otherwise evaluated or simplified to Boolean
values, although the arguments of relational expressions are evaluated.
</p>
<div class="example">
<pre class="example">(%o1) [123, 456, 789]
(%i2) [x < y, y <= z, z >= y, y > z];
(%o2) [123 < 456, 456 <= 789, 789 >= 456, 456 > 789]
(%i3) map (is, %);
(%o3) [true, true, true, false]
</pre></div>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Operators">Operators</a>
·</div></dd></dl>
<a name="Item_003a-Operators_002fnode_002fLogical-operators"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_38.html#Logical-operators" accesskey="n" rel="next">Logical operators</a>, Previous: <a href="maxima_36.html#Arithmetic-operators" accesskey="p" rel="previous">Arithmetic operators</a>, Up: <a href="maxima_34.html#Operators" accesskey="u" rel="up">Operators</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|