1MAXIMA(1L) MAXIMA(1L)
2
3
4
6 Maxima - Common Lisp version of MACSYMA symbolic mathematics package
7 released under the GNU Public License
8
9 Xmaxima - A graphical version of Maxima
10
12 maxima [options]
13
14 xmaxima [options]
15
17 Maxima is a version of the MIT-developed MACSYMA system, modified to
18 run under Common Lisp. It is an interactive expert system and program‐
19 ming environment for symbolic and numerical mathematical manipulation.
20 Written in Lisp, it allows differentiation, integration, solution of
21 linear or polynomial equations, factoring of polynomials, expansion of
22 functions in Laurent or Taylor series, computation of Poisson series,
23 matrix and tensor manipulations, and two- and three-dimensional graph‐
24 ics. Procedures may be written using an ALGOL-like syntax, and both
25 Lisp-like functions and pattern matching facilities are provided.
26 Files containing Maxima objects may be read from and written to disk
27 files. Pre-written Maxima commands may be read from a file and exe‐
28 cuted, allowing batch-mode use.
29
31 -b file, --batch=file
32 Process file in noninteractive mode.
33
34 --batch-lisp=file
35 Process Lisp file file in noninteractive mode.
36
37 --batch-string=string
38 Process string in noninteractive mode.
39
40 -d, --directories
41 Display Maxima directory information.
42
43 --disable-readline
44 Disable readline support.
45
46 -g, --enable-lisp-debugger
47 Enable Lisp debugger.
48
49 -h, --help
50 Display a brief usage summary.
51
52 --init=string
53 Load the Maxima and Lisp initialization files string.mac and
54 string.lisp at startup.
55
56 --init-mac=file
57 Load the Maxima initialization file file at startup.
58
59 --init-lisp=file
60 Load the Lisp initialization file file at startup.
61
62 -l lisp, --lisp=lisp
63 Use Lisp implementation lisp. Use --list-avail to see the list
64 of possible values.
65
66 --list-avail
67 List the available Lisp and Maxima versions.
68
69 -p lisp_file, --preload-lisp=lisp_file
70 Preload lisp_file.
71
72 -q, --quiet
73 Suppress Maxima start-up message.
74
75 -r string, --run-string=string
76 Process string in interactive mode.
77
78 -s port, --server=port
79 Connect Maxima to server on port. Note that this does not cre‐
80 ate a Maxima server; Maxima is the client.
81
82 -u version, --use-version=version
83 Launch Maxima version version. Use --list-avail to see the list
84 of possible values.
85
86 --userdir=directory
87 Use directory for user directory (default is $HOME/maxima for
88 Windows, $HOME/.maxima for others)
89
90 -v, --verbose
91 Print extra information from the Maxima wrapper script.
92
93 --version
94 Print the (default) installed version.
95
96 --very-quiet
97 Suppress expression labels and the Maxima start-up message.
98
99 -X Lisp options, --lisp-options=Lisp options
100 Options to be given to the underlying Lisp.
101
103 Upon initialization, maxima prints a startup message, then a command
104 line prompt:
105
106 (%i1)
107
108 All Maxima commands must be concluded with either:
109
110 1) a semicolon (in which case the result of the command is echoed
111 on a display line, prefaced by %o with an appended sequence num‐
112 ber), or
113
114 2) a dollar sign (which suppresses printing of a display line).
115
117 (%i1) diff(sin(x),x);
118
119 (%o1) cos(x)
120
121 (%i2) integrate(%o1,x);
122
123 (%o2) sin(x)
124
125 The user types in commands which create Maxima objects (such as func‐
126 tions and system variables) and which manipulate these objects.
127
128 On UNIX it may be preferable to run Maxima under Gnu Emacs or XEmacs.
129 You can do this by invoking shell mode in emacs, and then invoking max‐
130 ima. Preferably, install maxima.el from the distribution and use the
131 command:
132
133 M-x maxima
134
135 The main advantage of working inside emacs is that it provides a com‐
136 plete history of input/output. If you execute the command
137
138 display2d: false
139
140 you will be able to use your output as input, by simply killing and
141 yanking.
142
143 Lisp is built into Maxima. The function to_lisp() enters the Lisp
144 read-eval-print loop. The Lisp function (run) may be used to return to
145 Maxima. Alternatively, single Lisp commands may be invoked by starting
146 a command line with :lisp.
147
149 The reference manual can be accessed from the Maxima input prompt. A
150 description of a given command can be obtained by typing the command
151
152 describe(command);
153
154 or, simply,
155
156 ? command
157
158 searches the list of functions for the string command. Demonstration
159 files provide complete examples of problems solved with Maxima, and may
160 be accessed with the command demo(command);. A library of user-con‐
161 tributed command files is also provided (the share library), directed
162 toward a variety of problems.
163
165 The reference manual is provided in both info and html formats.
166
168 This list includes only commands which the beginner might find useful
169 to know about prior to studying the reference manual and other texts.
170
171 batch("myfile");
172 Execute the contents of file myfile, which is assumed to contain
173 Maxima commands.
174
175 closefile("myfile");
176 Close session file opened by a writefile command (see below).
177
178 demo("myfile");
179 Execute the contents of file myfile, which is assumed to contain
180 Maxima commands, one line at a time.
181
182 ev(infolists);
183 Print the contents of all of the available information lists.
184
185 functions;
186 Print a list of the names of currently defined functions.
187
188 infolists;
189 Print a list of the various available information lists.
190
191 kill(objectlist);
192 Eliminate the object(s) contained within parentheses; kill(all)
193 Delete all objects created by the user, restoring Maxima to its
194 initial state.
195
196 quit();
197 Leave Maxima.
198
199 reset();
200 Reset all Maxima control parameters to their default states.
201
202 values;
203 Print a list of the names of currently assigned scalar values.
204
205 writefile("myfile");
206 Write record of session to file myfile; only one file at a time
207 can be open, and the closefile command must be invoked prior to
208 leaving Maxima to flush the buffer.
209
211 Maxima is capable of producing 2- and 3-dimensional plots. Here is a
212 simple 2-dimensional example
213
214 plot2d (sin(x), [x, -2*%pi, 2*%pi]);
215
216 and a simple 3-dimensional example
217
218 plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
219
220 By default plots are made by the gnuplot plotting package. Plots can
221 be made by other means; see "? plot_options". For more information
222 about plotting, see "? plot".
223
225 /usr/lib/maxima/5.23.2/binary-lisp
226 Compiled files for lisp implementation lisp
227
228 /usr/info primary documentation directory, containing info files which
229 are used for the 'describe' command, and also for viewing
230 under emacs or other info viewer.
231
232 /usr/share/maxima/5.23.2/doc/html
233 HTML version of info documentation.
234
235 /usr/share/maxima/5.23.2/demo
236 Maxima demo files.
237
238 /usr/share/maxima/5.23.2/emacs
239 Elisp files for use with Emacs or XEmacs.
240
241 /usr/share/maxima/5.23.2/share
242 Contributed external packages.
243
244 /usr/share/maxima/5.23.2/doc/share
245 Documentation for contributed external packages.
246
247 /usr/share/maxima/5.23.2/src
248 Complete Maxima source.
249
250 /usr/share/maxima/5.23.2/tests
251 Test suite.
252
253 /usr/share/maxima/5.23.2/xmaxima
254 Xmaxima support files.
255
256 /usr/libexec/maxima/5.23.2/
257 Maxima utility scripts.
258
260 MAXIMA_USERDIR
261 Points to a directory for user customization files. Maxima's
262 default search paths include MAXIMA_USERDIR. Default value:
263 $HOME/.maxima.
264
265 MAXIMA_PREFIX
266 Maxima looks for its input files in the directory configured at
267 compile time, /usr. Maxima can be relocated to a different
268 directory as long as the maxima script maintains the same rela‐
269 tive position with respect to the Maxima input files. If, for
270 some reason, the maxima script needs to be relocated indepen‐
271 dently, MAXIMA_PREFIX needs to be set to point to the top of the
272 tree holding the input files.
273
274 MAXIMA_DIRECTORY
275 MAXIMA_DIRECTORY is equivalent to MAXIMA_PREFIX. It is included
276 only for backward compatibility with older versions of Maxima.
277
278 Maxima uses several other environment variables for communication
279 between the maxima script and the lisp image. All such variables start
280 with MAXIMA_. They should not need to be modified by the user.
281
283 maximarc
284 maximarc is sourced by the maxima script at startup. It should
285 be located in $MAXIMA_USERDIR (see above). maximarc can be used,
286 e.g., to change the user's default lisp implementation choice to
287 CMUCL by including the line "MAXIMA_LISP=cmucl".
288
289 maxima-init.lisp
290 At startup, Maxima will load the lisp file maxima-init.lisp if
291 it is found in the search path. For user customization, maxima-
292 init.lisp should be placed in the $MAXIMA_USERDIR (see above).
293 Since Maxima typically has a system maxima-init.lisp in the Max‐
294 ima share directory, the user may want to copy the contents of
295 the system maxima-init.lisp into his/her custom file. Alterna‐
296 tively, the user can load a Lisp initialization file with
297 another name or location by means of the --init-lisp or --init
298 command-line options.
299
300 maxima-init.mac
301 At startup, Maxima will load the file maxima-init.mac if it is
302 found in the search path. For user customization, maxima-
303 init.mac should be placed in the $MAXIMA_USERDIR (see above).
304 Alternatively, the user can load a Maxima initialization file
305 with another name or location by means of the --init-mac or
306 --init command-line options.
307
309 Old Reference: MACSYMA Reference Manual (volumes 1 and 2). The Mathlab
310 Group, Laboratory for Computer Science, MIT. Version 10. January
311 1983.
312
313 Newer references: http://maxima.sourceforge.net
314
316 Maxima is a complex system. It includes both known and unknown bugs.
317 Use at your own risk. The Maxima bug database is available at
318
319 http://sourceforge.net/tracker/?atid=104933&group_id=4933&func=browse
320
321 New bug reports are always appreciated. Please include the output of
322 the Maxima function "build_info()" with the report.
323
325 MACSYMA (Project MAC's SYmbolic MAnipulation System) was developed by
326 the Mathlab group of the MIT Laboratory for Computer Science (origi‐
327 nally known as Project MAC), during the years 1969-1972. Their work
328 was supported by grants NSG 1323 of the National Aeronautics and Space
329 Administration, N00014-77-C-0641 of the Office of Naval Research,
330 ET-78-C-02-4687 of the U.S. Department of Energy, and F49620-79-C-020
331 of the U.S. Air Force. MACSYMA was further modified for use under the
332 UNIX operating system (for use on DEC VAX computers and Sun worksta‐
333 tions), by Richard Fateman and colleagues at the University of Califor‐
334 nia at Berkeley; this version of MACSYMA is known as VAXIMA. The
335 present version stems from a re-working of the public domain MIT MAC‐
336 SYMA for GNU Common Lisp, prepared by William Schelter, University of
337 Texas at Austin until his passing away in 2001. It contains numerous
338 additions, extensions and enhancements of the original. The original
339 version of this manual page was written by R. P. C. Rodgers, UCSF
340 School of Pharmacy, San Francisco, CA 94143 (rodgers@max‐
341 well.mmwb.ucsf.edu) in 1989. It was extensively revised by James Amund‐
342 son in 2002.
343
344 Maxima is now developed and maintained by the Maxima project at
345 <http://maxima.sourceforge.net>.
346
347
348
349 September 10, 2005 MAXIMA(1L)