Fix bug #1848: taytorat leaks internal gensyms from multivar expansions
[maxima.git] / doc / info / Help.texi
blob954bf8672f34c2142c191f16c7655638e02b3a50
1 @menu       
2 * Documentation::               
3 * Functions and Variables for Help::        
4 @end menu
6 @c -----------------------------------------------------------------------------
7 @node Documentation, Functions and Variables for Help, Help, Help
8 @section Documentation
9 @c -----------------------------------------------------------------------------
11 @c SHOULD TALK ABOUT OTHER FORMS OF DOCUMENTATION ASIDE FROM ON-LINE MANUAL.
13 The Maxima on-line user's manual can be viewed in different forms.  From the
14 Maxima interactive prompt, the user's manual is viewed as plain text by the
15 @mref{?} command (i.e., the @mref{describe} function).  The user's manual is
16 viewed as @code{info} hypertext by the @code{info} viewer program and as a
17 web page by any ordinary web browser.
19 @mref{example} displays examples for many Maxima functions.  For example,
21 @example
22 (%i1) example (integrate);
23 @end example
25 yields
27 @example
28 (%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
29 (%o2) test(f) := block([u], u : integrate(f, x),
30                                          ratsimp(f - diff(u, x)))
31 (%i3) test(sin(x))
32 (%o3)                           0
33 (%i4) test(1/(x+1))
34 (%o4)                           0
35 (%i5) test(1/(x^2+1))
36 (%o5)                           0
37 @end example
39 and additional output.
41 @opencatbox{Categories:}
42 @category{Console interaction}
43 @closecatbox
45 @c -----------------------------------------------------------------------------
46 @node Functions and Variables for Help,  , Documentation, Help
47 @section Functions and Variables for Help
48 @c -----------------------------------------------------------------------------
50 @c -----------------------------------------------------------------------------
51 @anchor{apropos}
52 @deffn {Function} apropos (@var{name})
54 Searches for Maxima names which have @var{name} appearing anywhere
55 within them; @var{name} must be a string or symbol. Thus, @code{apropos
56 (exp)} returns a list of all the flags and functions which have
57 @code{exp} as part of their names, such as @code{expand}, @code{exp},
58 and @code{exponentialize}. So, if you can only remember part of the name
59 of a Maxima command or variable, you can use this command to find the
60 rest of the name. Similarly, you can type @code{apropos (tr_)} to find
61 a list of many of the switches relating to the translator, most of which
62 begin with @code{tr_}.
64 @code{apropos("")} returns a list with all Maxima names.
66 @code{apropos} returns the empty list @code{[]}, if no name is found.
68 Example:
70 Show all Maxima symbols which have @code{gamma} in the name:
72 @c ===beg===
73 @c apropos("gamma");
74 @c apropos(gamma);
75 @c length(apropos(""));
76 @c ===end===
77 @example
78 @group
79 (%i1) apropos("gamma");
80 (%o1) [%gamma, Gamma, gamma_expand, gammalim, makegamma, 
81 prefer_gamma_incomplete, gamma, gamma-incomplete, gamma_incomplete, 
82 gamma_incomplete_generalized, gamma_incomplete_generalized_regularized, 
83 gamma_incomplete_lower, gamma_incomplete_regularized, log_gamma]
84 @end group
86 The same example, using the symbol @code{gamma}, rather than the string:
87 @group
88 (%i2) apropos(gamma);
89 (%o2) [%gamma, Gamma, gamma_expand, gammalim, makegamma, 
90 prefer_gamma_incomplete, gamma, gamma-incomplete, gamma_incomplete, 
91 gamma_incomplete_generalized, gamma_incomplete_generalized_regularized, 
92 gamma_incomplete_lower, gamma_incomplete_regularized, log_gamma]
93 @end group
95 The number of symbols in the current Maxima session. This will vary.
96 @group
97 (%i3) length(apropos(""));
98 (%o3)                                2338
99 @end group
100 @end example
102 @opencatbox{Categories:}
103 @category{Help}
104 @closecatbox
105 @end deffn
107 @c -----------------------------------------------------------------------------
108 @anchor{demo}
109 @deffn {Function} demo (@var{filename})
111 Evaluates Maxima expressions in @var{filename} and displays the results.
112 @code{demo} pauses after evaluating each expression and continues after the
113 user enters a carriage return.  (If running in Xmaxima, @code{demo} may need
114 to see a semicolon @code{;} followed by a carriage return.)
116 @code{demo} searches the list of directories @mref{file_search_demo} to find
117 @code{filename}.  If the file has the suffix @code{dem}, the suffix may be
118 omitted.  See also @mrefdot{file_search}
120 @code{demo} evaluates its argument.
121 @code{demo} returns the name of the demonstration file.
123 Example:
125 @example
126 (%i1) demo ("disol");
128 batching /home/wfs/maxima/share/simplification/disol.dem
129  At the _ prompt, type ';' followed by enter to get next demo
130 (%i2)                      load("disol")
133 (%i3)           exp1 : a (e (g + f) + b (d + c))
134 (%o3)               a (e (g + f) + b (d + c))
137 (%i4)                disolate(exp1, a, b, e)
138 (%t4)                         d + c
140 (%t5)                         g + f
142 (%o5)                   a (%t5 e + %t4 b)
145 @end example
147 @opencatbox{Categories:}
148 @category{Help}
149 @category{Console interaction}
150 @category{File input}
151 @closecatbox
152 @end deffn
154 @c -----------------------------------------------------------------------------
155 @anchor{describe}
156 @fnindex Help
157 @deffn  {Function} describe @
158 @fname{describe} (@var{string}) @
159 @fname{describe} (@var{string}, exact) @
160 @fname{describe} (@var{string}, inexact)
162 @code{describe(@var{string})} is equivalent to
163 @code{describe(@var{string}, exact)}.
165 @code{describe(@var{string}, exact)} finds an item with title equal
166 (case-insensitive) to @var{string}, if there is any such item.
168 @code{describe(@var{string}, inexact)} finds all documented items which contain
169 @var{string} in their titles.  If there is more than one such item, Maxima asks
170 the user to select an item or items to display.
172 At the interactive prompt, @code{? foo} (with a space between @code{?} and
173 @code{foo}) is equivalent to @code{describe("foo", exact)}, and @code{?? foo}
174 is equivalent to @code{describe("foo", inexact)}.
176 @code{describe("", inexact)} yields a list of all topics documented in the
177 on-line manual.
179 @code{describe} quotes its argument.  @code{describe} returns @code{true} if
180 some documentation is found, otherwise @code{false}.
182 See also @ref{Documentation}.
184 Example:
186 @example
187 (%i1) ?? integ
188  0: Functions and Variables for Elliptic Integrals
189  1: Functions and Variables for Integration
190  2: Introduction to Elliptic Functions and Integrals
191  3: Introduction to Integration
192  4: askinteger  (Functions and Variables for Simplification)
193  5: integerp  (Functions and Variables for Miscellaneous Options)
194  6: integer_partitions  (Functions and Variables for Sets)
195  7: integrate  (Functions and Variables for Integration)
196  8: integrate_use_rootsof  (Functions and Variables for
197     Integration)
198  9: integration_constant_counter  (Functions and Variables for
199     Integration)
200  10: nonnegintegerp  (Functions and Variables for linearalgebra)
201 Enter space-separated numbers, `all' or `none': 7 8
203  -- Function: integrate (<expr>, <x>)
204  -- Function: integrate (<expr>, <x>, <a>, <b>)
205      Attempts to symbolically compute the integral of <expr> with
206      respect to <x>.  `integrate (<expr>, <x>)' is an indefinite
207      integral, while `integrate (<expr>, <x>, <a>, <b>)' is a
208      definite integral, [...]
209      
210  -- Option variable: integrate_use_rootsof
211      Default value: `false'
213      When `integrate_use_rootsof' is `true' and the denominator of
214      a rational function cannot be factored, `integrate' returns
215      the integral in a form which is a sum over the roots (not yet
216      known) of the denominator.
217      [...]
218 @end example
220 In this example, items 7 and 8 were selected (output is shortened as indicated
221 by @code{[...]}).  All or none of the items could have been selected by entering
222 @code{all} or @code{none}, which can be abbreviated @code{a} or @code{n},
223 respectively.
225 @opencatbox{Categories:}
226 @category{Help}
227 @category{Console interaction}
228 @closecatbox
229 @end deffn
231 @c -----------------------------------------------------------------------------
232 @anchor{example}
233 @deffn  {Function} example @
234 @fname{example} (@var{topic}) @
235 @fname{example} ()
237 @code{example (@var{topic})} displays some examples of @var{topic}, which is a
238 symbol or a string.  To get examples for operators like @code{if}, @code{do},
239 or @code{lambda} the argument must be a string, e.g. @code{example ("do")}.
240 @code{example} is not case sensitive.  Most topics are function names.
242 @code{example ()} returns the list of all recognized topics.
244 The name of the file containing the examples is given by the global option 
245 variable @mrefcomma{manual_demo} which defaults to @code{"manual.demo"}.
247 @code{example} quotes its argument.  @code{example} returns @code{done} unless
248 no examples are found or there is no argument, in which case @code{example}
249 returns the list of all recognized topics.
251 Examples:
253 @c ===beg===
254 @c example(append);
255 @c example("lambda");
256 @c ===end===
257 @example
258 @group
259 (%i1) example(append);
260 (%i2) append([y+x,0,-3.2],[2.5e+20,x])
261 (%o2)             [y + x, 0, - 3.2, 2.5e+20, x]
262 (%o2)                         done
263 @end group
264 (%i3) example("lambda");
265 (%i4) lambda([x,y,z],x^2+y^2+z^2)
266                                     2    2    2
267 (%o4)            lambda([x, y, z], x  + y  + z )
268 (%i5) %(1,2,a)
269                               2
270 (%o5)                        a  + 5
271 (%i6) 1+2+a
272 (%o6)                         a + 3
273 (%o6)                         done
274 @end example
276 @opencatbox{Categories:}
277 @category{Help}
278 @category{Console interaction}
279 @closecatbox
280 @end deffn
282 @c -----------------------------------------------------------------------------
283 @anchor{manual_demo}
284 @defvr {Option variable} manual_demo
285 Default value: @code{"manual.demo"}
287 @code{manual_demo} specifies the name of the file containing the examples for 
288 the function @code{example}.  See @mrefdot{example}
290 @opencatbox{Categories:}
291 @category{Help}
292 @category{Global variables}
293 @closecatbox
294 @end defvr