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 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
<!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 Manual: Package ineq</title>
<meta name="description" content="Maxima Manual: Package ineq">
<meta name="keywords" content="Maxima Manual: Package ineq">
<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_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" rel="index" title="Указатель функций и переменных">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_234.html#simplification_002dpkg" rel="up" title="simplification-pkg">
<link href="maxima_240.html#Package-rducon" rel="next" title="Package rducon">
<link href="maxima_238.html#Package-functs" rel="previous" title="Package functs">
<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="ru" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Package-ineq"></a>
<div class="header">
<p>
Next: <a href="maxima_240.html#Package-rducon" accesskey="n" rel="next">Package rducon</a>, Previous: <a href="maxima_238.html#Package-functs" accesskey="p" rel="previous">Package functs</a>, Up: <a href="maxima_234.html#simplification_002dpkg" accesskey="u" rel="up">simplification-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Package-ineq-1"></a>
<h3 class="section">67.5 Package ineq</h3>
<p>The <code>ineq</code> package contains simplification rules
for inequalities.
</p>
<p>Example session:
</p>
<div class="example">
<pre class="example">(%i1) load("ineq")$
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
tellsimp: warning: rule will treat '+
' as noncommutative and nonassociative.
</pre><pre class="example">(%i2) a>=4; /* a sample inequality */
(%o2) a >= 4
(%o3) b + a > c + 4
(%o4) 7 x < 7 y
(%o5) - 2 x <= - 6 z
2
(%o6) 1 <= a + 1
(%o8) 2 x < 3 x
(%o9) a >= b
(%o10) a + 3 >= b + 3
(%o11) a >= b
(%o12) a >= c - b
(%o13) b + a >= c
(%o14) (- c) + b + a >= 0
(%o15) c - b - a <= 0
2
(%o16) (z - 1) > - 2 z
2
(%o17) z + 1 > 0
(%o18) true
</pre><pre class="example">(%i19) (b>c)+%; /* add a second, strict inequality */
</pre></div>
<p>Be careful about using parentheses
around the inequalities: when the user types in <code>(A > B) + (C = 5)</code> the
result is <code>A + C > B + 5</code>, but <code>A > B + C = 5</code> is a syntax error,
and <code>(A > B + C) = 5</code> is something else entirely.
</p>
<p>Do <code>disprule (all)</code> to see a complete listing
of the rule definitions.
</p>
<p>The user will be queried if Maxima is
unable to decide the sign of a quantity multiplying an inequality.
</p>
<p>The most common mis-feature is illustrated by:
</p>
<div class="example">
<pre class="example">(%i1) eq: a > b;
(%o1) a > b
</pre><pre class="example">(%i2) 2*eq;
(%o2) 2 (a > b)
</pre><pre class="example">(%i3) % - eq;
(%o3) a > b
</pre></div>
<p>Another problem is 0 times an inequality; the default to have this
turn into 0 has been left alone. However, if you type
<code>X*<var>some_inequality</var></code> and Maxima asks about the sign of <code>X</code> and you
respond <code>zero</code> (or <code>z</code>), the program returns <code>X*<var>some_inequality</var></code>
and not use the information that <code>X</code> is 0. You should do <code>ev (%, x: 0)</code> in such
a case, as the database will only be used for comparison purposes
in decisions, and not for the purpose of evaluating <code>X</code>.
</p>
<p>The user may note a slower response when this package is loaded, as
the simplifier is forced to examine more rules than without the
package, so you might wish to remove the rules after making use of
them. Do <code>kill (rules)</code> to eliminate all of the rules (including any
that you might have defined); or you may be more selective by
killing only some of them; or use <code>remrule</code> on a specific rule.
</p>
<p>Note that if you load this package after defining your own
rules you will clobber your rules that have the same name. The
rules in this package are:
<code>*rule1</code>, ..., <code>*rule8</code>,
<code>+rule1</code>, ..., <code>+rule18</code>,
and you must enclose the rulename in quotes to refer to it, as
in <code>remrule ("+", "+rule1")</code> to specifically remove the first rule on <code>"+"</code>
or <code>disprule ("*rule2")</code> to display the definition of the second multiplicative rule.
</p>
<a name="Item_003a-simplifications_002fnode_002fPackage-rducon"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_240.html#Package-rducon" accesskey="n" rel="next">Package rducon</a>, Previous: <a href="maxima_238.html#Package-functs" accesskey="p" rel="previous">Package functs</a>, Up: <a href="maxima_234.html#simplification_002dpkg" accesskey="u" rel="up">simplification-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|