Fix bug #1848: taytorat leaks internal gensyms from multivar expansions
[maxima.git] / doc / info / Constants.texi
blob177720e2c34e8a45aee6a21d0f0766dc1bab019d
1 @c -----------------------------------------------------------------------------
2 @page
3 @node Constants, Lists, Strings, Data Types and Structures
4 @section Constants
5 @c -----------------------------------------------------------------------------
7 @menu
8 * Functions and Variables for Constants::
9 @end menu
11 @c -----------------------------------------------------------------------------
12 @node Functions and Variables for Constants,  , Constants, Constants
13 @subsection Functions and Variables for Constants
14 @c -----------------------------------------------------------------------------
16 @c -----------------------------------------------------------------------------
17 @anchor{%e}
18 @defvr {Constant} %e
19 @ifinfo
20 @vrindex e
21 @vrindex Euler's number
22 @vrindex Base of natural logarithm
23 @end ifinfo
25 @code{%e} represents the base of the natural logarithm, also known as Euler's
26 number.  The numeric value of @code{%e} is the double-precision floating-point
27 value 2.718281828459045d0.
29 @opencatbox{Categories:}
30 @category{Constants}
31 @closecatbox
32 @end defvr
34 @c -----------------------------------------------------------------------------
35 @anchor{%i}
36 @defvr {Constant} %i
37 @ifinfo
38 @vrindex i
39 @vrindex Imaginary unit
40 @end ifinfo
42 @code{%i} represents the imaginary unit, @math{sqrt(- 1)}.
44 @opencatbox{Categories:}
45 @category{Constants}
46 @closecatbox
47 @end defvr
49 @c -----------------------------------------------------------------------------
50 @anchor{false}
51 @defvr {Constant} false
53 @code{false} represents the Boolean constant of the same name.
54 Maxima implements @code{false} by the value @code{NIL} in Lisp.
56 @opencatbox{Categories:}
57 @category{Constants}
58 @closecatbox
59 @end defvr
61 @c -----------------------------------------------------------------------------
62 @anchor{%gamma}
63 @defvr {Constant} %gamma
64 @ifinfo
65 @vrindex Euler-Mascheroni constant
66 @end ifinfo
68 The Euler-Mascheroni constant, 0.5772156649015329 ....
69 @c DOUBTLESS THERE IS MORE TO SAY HERE.
71 @opencatbox{Categories:}
72 @category{Constants}
73 @closecatbox
74 @end defvr
76 @c -----------------------------------------------------------------------------
77 @anchor{ind}
78 @defvr {Constant} ind
79 @ifinfo
80 @vrindex Indeterminate
81 @end ifinfo
83 @code{ind} represents a bounded, indefinite result.
85 See also @mrefdot{limit}
87 Example:
89 @c ===beg===
90 @c limit (sin(1/x), x, 0);
91 @c ===end===
92 @example
93 (%i1) limit (sin(1/x), x, 0);
94 (%o1)                          ind
95 @end example
97 @opencatbox{Categories:}
98 @category{Constants}
99 @closecatbox
100 @end defvr
102 @c -----------------------------------------------------------------------------
103 @anchor{inf}
104 @defvr {Constant} inf
105 @ifinfo
106 @vrindex Real infinity
107 @end ifinfo
109 @code{inf} represents real positive infinity.
111 @opencatbox{Categories:}
112 @category{Constants}
113 @closecatbox
114 @end defvr
116 @c -----------------------------------------------------------------------------
117 @anchor{infinity}
118 @defvr {Constant}  infinity
119 @ifinfo
120 @vrindex Complex infinity
121 @end ifinfo
123 @code{infinity} represents complex infinity.
125 @opencatbox{Categories:}
126 @category{Constants}
127 @closecatbox
128 @end defvr
130 @c -----------------------------------------------------------------------------
131 @anchor{minf}
132 @defvr {Constant} minf
133 @ifinfo
134 @vrindex Minus infinity
135 @vrindex Negative infinity
136 @end ifinfo
138 @code{minf} represents real minus (i.e., negative) infinity.
140 @opencatbox{Categories:}
141 @category{Constants}
142 @closecatbox
143 @end defvr
145 @c -----------------------------------------------------------------------------
146 @anchor{%phi}
147 @defvr {Constant} %phi
148 @ifinfo
149 @vrindex phi
150 @vrindex Golden mean
151 @end ifinfo
153 @code{%phi} represents the so-called @i{golden mean}, @math{(1 + sqrt(5))/2}.
154 The numeric value of @code{%phi} is the double-precision floating-point value
155 1.618033988749895d0.
157 @mref{fibtophi} expresses Fibonacci numbers @code{fib(n)} in terms of
158 @code{%phi}.
160 By default, Maxima does not know the algebraic properties of @code{%phi}.
161 After evaluating @code{tellrat(%phi^2 - %phi - 1)} and @code{algebraic: true},
162 @mref{ratsimp} can simplify some expressions containing @code{%phi}.
164 Examples:
166 @code{fibtophi} expresses Fibonacci numbers @code{fib(n)} in terms of @code{%phi}.
168 @c ===beg===
169 @c fibtophi (fib (n));
170 @c fib (n-1) + fib (n) - fib (n+1);
171 @c fibtophi (%);
172 @c ratsimp (%);
173 @c ===end===
174 @example
175 (%i1) fibtophi (fib (n));
176                            n             n
177                        %phi  - (1 - %phi)
178 (%o1)                  -------------------
179                            2 %phi - 1
180 (%i2) fib (n-1) + fib (n) - fib (n+1);
181 (%o2)          - fib(n + 1) + fib(n) + fib(n - 1)
182 (%i3) fibtophi (%);
183             n + 1             n + 1       n             n
184         %phi      - (1 - %phi)        %phi  - (1 - %phi)
185 (%o3) - --------------------------- + -------------------
186                 2 %phi - 1                2 %phi - 1
187                                           n - 1             n - 1
188                                       %phi      - (1 - %phi)
189                                     + ---------------------------
190                                               2 %phi - 1
191 (%i4) ratsimp (%);
192 (%o4)                           0
193 @end example
195 By default, Maxima does not know the algebraic properties of @code{%phi}.
196 After evaluating @code{tellrat (%phi^2 - %phi - 1)} and @code{algebraic: true},
197 @code{ratsimp} can simplify some expressions containing @code{%phi}.
199 @c ===beg===
200 @c e : expand ((%phi^2 - %phi - 1) * (A + 1));
201 @c ratsimp (e);
202 @c tellrat (%phi^2 - %phi - 1);
203 @c algebraic : true;
204 @c ratsimp (e);
205 @c ===end===
206 @example
207 (%i1) e : expand ((%phi^2 - %phi - 1) * (A + 1));
208                  2                      2
209 (%o1)        %phi  A - %phi A - A + %phi  - %phi - 1
210 (%i2) ratsimp (e);
211                   2                     2
212 (%o2)        (%phi  - %phi - 1) A + %phi  - %phi - 1
213 (%i3) tellrat (%phi^2 - %phi - 1);
214                             2
215 (%o3)                  [%phi  - %phi - 1]
216 (%i4) algebraic : true;
217 (%o4)                         true
218 (%i5) ratsimp (e);
219 (%o5)                           0
220 @end example
222 @opencatbox{Categories:}
223 @category{Constants}
224 @closecatbox
225 @end defvr
227 @c -----------------------------------------------------------------------------
228 @anchor{%pi}
229 @defvr {Constant} %pi
230 @ifinfo
231 @vrindex pi
232 @end ifinfo
234 @code{%pi} represents the ratio of the perimeter of a circle to its diameter.
235 The numeric value of @code{%pi} is the double-precision floating-point value
236 3.141592653589793d0.
238 @opencatbox{Categories:}
239 @category{Constants}
240 @closecatbox
241 @end defvr
243 @c -----------------------------------------------------------------------------
244 @anchor{true}
245 @defvr {Constant} true
247 @code{true} represents the Boolean constant of the same name.
248 Maxima implements @code{true} by the value @code{T} in Lisp.
250 @opencatbox{Categories:}
251 @category{Constants}
252 @closecatbox
253 @end defvr
255 @c -----------------------------------------------------------------------------
256 @anchor{und}
257 @defvr {Constant} und
258 @ifinfo
259 @vrindex Undefined
260 @end ifinfo
262 @code{und} represents an undefined result.
264 See also @mrefdot{limit}
266 Example:
268 @c ===beg===
269 @c limit (x*sin(x), x, inf);
270 @c ===end===
271 @example
272 (%i1) limit (x*sin(x), x, inf);
273 (%o1)                          und
274 @end example
276 @opencatbox{Categories:}
277 @category{Constants}
278 @closecatbox
279 @end defvr
281 @c -----------------------------------------------------------------------------
282 @anchor{zeroa}
283 @defvr {Constant} zeroa
285 @code{zeroa} represents an infinitesimal above zero.  @code{zeroa} can be used
286 in expressions.  @code{limit} simplifies expressions which contain
287 infinitesimals.
289 See also @mref{zerob} and @mrefdot{limit}
291 Example:
293 @code{limit} simplifies expressions which contain infinitesimals:
295 @c ===beg===
296 @c limit(zeroa);
297 @c limit(zeroa+x);
298 @c ===end===
299 @example
300 (%i1) limit(zeroa);
301 (%o1)                           0
302 (%i2) limit(x+zeroa);
303 (%o2)                           x
304 @end example
306 @opencatbox{Categories:}
307 @category{Constants}
308 @closecatbox
309 @end defvr
311 @c -----------------------------------------------------------------------------
312 @anchor{zerob}
313 @defvr {Constant} zerob
315 @code{zerob} represents an infinitesimal below zero.  @code{zerob} can be used
316 in expressions.  @code{limit} simplifies expressions which contain
317 infinitesimals.
319 See also @mref{zeroa} and @mrefdot{limit}
321 @opencatbox{Categories:}
322 @category{Constants}
323 @closecatbox
324 @end defvr