1 .TH MAXIMA 1 "2020-03-23"
7 Maxima \- Common Lisp version of MACSYMA symbolic mathematics package
8 released under the GNU Public License
10 rmaxima \- A version of Maxima that supports command autocompletion
12 Xmaxima \- A graphical version of Maxima
23 Maxima is a version of the MIT-developed MACSYMA system, modified to run under
24 Common Lisp. It is an interactive expert system and programming environment
25 for symbolic and numerical mathematical manipulation. Written in
26 \*(Li, it allows differentiation, integration, solution of linear or
27 polynomial equations, factoring of polynomials, expansion of functions
28 in Laurent or Taylor series, computation of Poisson series, matrix and
29 tensor manipulations, and two- and three-dimensional graphics.
30 Procedures may be written using an ALGOL-like syntax, and both
31 \*(Li-like functions and pattern matching facilities are provided.
32 Files containing Maxima
33 objects may be read from and written to disk files. Pre-written
34 Maxima commands may be read from a file and executed, allowing batch-mode
38 \fB\-b\fR \fIfile\fR, \fB\-\-batch=\fR\fIfile\fR
39 Process \fIfile\fR in noninteractive mode.
41 \fB\-\-batch-lisp=\fR\fIfile\fR
42 Process Lisp file \fIfile\fR in noninteractive mode.
44 \fB\-\-batch-string=\fR\fIstring\fR
45 Process \fIstring\fR in noninteractive mode.
47 \fB\-d\fR, \fB\-\-directories\fR
48 Display Maxima directory information.
50 \fB\-\-disable\-readline\fR
51 Disable readline support.
53 \fB\-g\fR, \fB\-\-enable\-lisp\-debugger\fR
56 \fB\-h\fR, \fB\-\-help\fR
57 Display a brief usage summary.
59 \fB\-\-init=\fR\fIstring\fR
60 Load the Maxima and Lisp initialization files \fR\fIstring\fR.mac and \fR\fIstring\fR.lisp at startup.
62 \fB\-\-init-mac=\fR\fIfile\fR
63 Load the Maxima initialization file \fR\fIfile\fR at startup.
65 \fB\-\-init-lisp=\fR\fIfile\fR
66 Load the Lisp initialization file \fR\fIfile\fR at startup.
68 \fB\-l\fR \fIlisp\fR, \fB\-\-lisp=\fR\fIlisp\fR
69 Use Lisp implementation \fIlisp\fR. Use \fB\-\-list-avail\fR to see the
70 list of possible values.
73 List the available Lisp and Maxima versions.
75 \fB\-p\fR \fIlisp_file\fR, \fB\-\-preload-lisp=\fR\fIlisp_file\fR
76 Preload \fIlisp_file\fR.
78 \fB\-q\fR, \fB\-\-quiet\fR
79 Suppress Maxima start-up message.
81 \fB\-r\fR \fIstring\fR, \fB\-\-run-string=\fR\fIstring\fR
82 Process \fIstring\fR in interactive mode.
84 \fB\-s\fR \fIport\fR, \fB\-\-server=\fR\fIport\fR
85 Connect Maxima to server on \fIport\fR.
86 Note that this does not create a Maxima server; Maxima is the client.
88 \fB\-u\fR \fIversion\fR, \fB\-\-use-version=\fR\fIversion\fR
89 Launch Maxima version \fIversion\fR. Use \fB\-\-list-avail\fR to see
90 the list of possible values.
92 \fB\-\-userdir=\fR\fIdirectory\fR
93 Use \fIdirectory\fR for user directory (default is %USERPROFILE%/maxima for Windows, $HOME/.maxima for others)
95 \fB\-v\fR, \fB\-\-verbose\fR
96 Print extra information from the Maxima wrapper script.
99 Print the (default) installed version.
101 \fB\-\-very\-quiet\fR
102 Suppress expression labels and the Maxima start-up message.
104 \fB\-X\fR \fILisp options\fR, \fB\-\-lisp-options=\fR\fILisp options\fR
105 Options to be given to the underlying Lisp.
106 .SH INTRODUCTORY INSTRUCTIONS
109 prints a startup message, then a command line prompt:
113 All Maxima commands must be concluded with either:
116 a semicolon (in which case the result of the command is echoed on a display
119 with an appended sequence number), or
122 a dollar sign (which suppresses printing of a display line).
126 (%i1) diff(sin(x),x);
130 (%i2) integrate(%o1,x);
134 The user types in commands which create
136 (such as functions and system variables) and which manipulate these objects.
138 On UNIX it may be preferable to run Maxima under Gnu Emacs or XEmacs.
139 You can do this by invoking shell mode in
146 distribution and use the command:
150 The main advantage of working inside
152 is that it provides a complete history of input/output.
153 If you execute the command
157 you will be able to use your output as input,
158 by simply killing and yanking.
160 \*(Li is built into Maxima.
161 The function to_lisp() enters the Lisp read-eval-print loop. The
162 \*(Li function (run) may be used to return to Maxima. Alternatively,
163 single \*(Li commands may be invoked by starting a command line with
166 The reference manual can be accessed from the Maxima input prompt.
167 A description of a given command can be obtained by typing the command
169 \fBdescribe(command);\fR
179 searches the list of functions for the string \fIcommand\fR and prints matching functions.
181 Demonstration files provide complete examples of problems solved with Maxima,
182 and may be accessed with the command
183 \fBdemo(command);\fR.
184 A library of user-contributed command files is also provided (the
185 .IR "share library" ),
186 directed toward a variety of problems.
187 .SH OTHER DOCUMENTATION
188 The reference manual is provided in both info and html formats.
191 This list includes only commands which the beginner might find
192 useful to know about prior to studying the reference manual
196 Execute the contents of file
198 which is assumed to contain Maxima commands.
200 .B closefile("myfile");
201 Close session file opened by a writefile command (see below).
204 Execute the contents of file
206 which is assumed to contain Maxima
207 commands, one line at a time.
210 Print the contents of all of the available information lists.
213 Print a list of the names of currently defined functions.
216 Print a list of the various available information lists.
219 Eliminate the object(s) contained within parentheses;
221 Delete all objects created by the user, restoring Maxima
222 to its initial state.
228 Reset all Maxima control parameters to their default states.
231 Print a list of the names of currently assigned scalar values.
233 .B writefile("myfile");
234 Write record of session to file
236 only one file at a time can be open, and the
238 command must be invoked prior to leaving Maxima
240 .SH PLOTTING COMMANDS
241 Maxima is capable of producing 2- and 3-dimensional plots. Here is a
242 simple 2-dimensional example
244 .B plot2d (sin(x), [x, -2*%pi, 2*%pi]);
246 and a simple 3-dimensional example
248 .B plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
250 By default plots are made by the
254 Plots can be made by other means; see "? plot_options".
255 For more information about plotting, see "? plot".
258 .I \*(Pr/lib/maxima/\*(Vr/binary-\fIlisp\fR
259 Compiled files for lisp implementation \fIlisp\fR
262 primary documentation directory, containing info files which
263 are used for the 'describe' command, and also for viewing under emacs
264 or other info viewer.
266 .I \*(Pr/share/maxima/\*(Vr/doc/html
267 HTML version of info documentation.
269 .I \*(Pr/share/maxima/\*(Vr/demo
272 .I \*(Pr/share/maxima/\*(Vr/emacs
273 Elisp files for use with Emacs or XEmacs.
275 .I \*(Pr/share/maxima/\*(Vr/share
276 Contributed external packages.
278 .I \*(Pr/share/maxima/\*(Vr/doc/share
279 Documentation for contributed external packages.
281 .I \*(Pr/share/maxima/\*(Vr/src
282 Complete Maxima source.
284 .I \*(Pr/share/maxima/\*(Vr/tests
287 .I \*(Pr/share/maxima/\*(Vr/xmaxima
288 Xmaxima support files.
290 .I \*(Pr/libexec/maxima/\*(Vr/
291 Maxima utility scripts.
292 .SH ENVIRONMENT VARIABLES
295 Points to a directory for user customization files. Maxima's default search
296 paths include \fBMAXIMA_USERDIR\fR. Default value: \fB$HOME/.maxima\fR.
299 Maxima looks for its input files in the directory configured at
300 compile time, \*(Pr. Maxima can be relocated to a different directory
303 script maintains the same relative position with
304 respect to the Maxima input files. If, for some reason, the
306 script needs to be relocated independently, \fBMAXIMA_PREFIX\fR needs to be
307 set to point to the top of the tree holding the input files.
309 \fBMAXIMA_DIRECTORY\fR
310 \fBMAXIMA_DIRECTORY\fR is equivalent to \fBMAXIMA_PREFIX\fR. It is
311 included only for backward compatibility with older versions of Maxima.
313 Maxima uses several other environment variables for communication
316 script and the lisp image. All such variables start
317 with \fIMAXIMA_\fR. They should not need to be modified by the user.
318 .SH CUSTOMIZATION FILES
321 \fBmaximarc\fR is sourced by the
323 script at startup. It should
324 be located in \fB$MAXIMA_USERDIR\fR (see above). \fBmaximarc\fR can be
325 used, \fIe.g.\fR, to change the user's default lisp implementation
326 choice to CMUCL by including the line "MAXIMA_LISP=cmucl".
328 \fBmaxima-init.lisp\fR
329 At startup, Maxima will load the lisp file \fBmaxima-init.lisp\fR if
330 it is found in the search path. For user customization,
331 \fBmaxima-init.lisp\fR should be placed in the \fB$MAXIMA_USERDIR\fR
332 (see above). Since Maxima typically has a system
333 \fBmaxima-init.lisp\fR in the Maxima share directory, the user may
334 want to copy the contents of the system \fBmaxima-init.lisp\fR into
336 Alternatively, the user can load a Lisp initialization file with
337 another name or location by means of the \fB\-\-init-lisp\fR or \fB\-\-init\fR
338 command-line options.
340 \fBmaxima-init.mac\fR
341 At startup, Maxima will load the file \fBmaxima-init.mac\fR if
342 it is found in the search path. For user customization,
343 \fBmaxima-init.mac\fR should be placed in the \fB$MAXIMA_USERDIR\fR
345 Alternatively, the user can load a Maxima initialization file with
346 another name or location by means of the \fB\-\-init-mac\fR or \fB\-\-init\fR
347 command-line options.
350 Here Xmaxima stores personal settings.
352 \fB~/.xmaxima_history\fR
353 Here Xmaxima stores the command history.
357 .I "MACSYMA Reference Manual"
360 Laboratory for Computer Science, MIT.
365 .I https://maxima.sourceforge.io
367 Maxima is a complex system. It includes both known and unknown bugs.
368 Use at your own risk. The Maxima bug database is available at
370 https://sourceforge.net/p/maxima/bugs/
372 New bug reports are always appreciated. Please include the output of
373 the Maxima function "build_info()" with the report.
376 MACSYMA (Project MAC's SYmbolic MAnipulation System) was developed by
377 the Mathlab group of the MIT Laboratory for Computer Science
378 (originally known as Project MAC), during the years 1969-1972. Their
379 work was supported by grants NSG 1323 of the National Aeronautics and
380 Space Administration, N00014-77-C-0641 of the Office of Naval
381 Research, ET-78-C-02-4687 of the U.S. Department of Energy, and
382 F49620-79-C-020 of the U.S. Air Force. MACSYMA was further modified
383 for use under the UNIX operating system (for use on DEC VAX computers
384 and Sun workstations), by Richard Fateman and colleagues at the
385 University of California at Berkeley; this version of MACSYMA is known
386 as VAXIMA. The present version stems from a re-working of the public
387 domain MIT MACSYMA for GNU Common Lisp, prepared by William Schelter, University
388 of Texas at Austin until his passing away in 2001. It contains
389 numerous additions, extensions and enhancements of the original. The
390 original version of this manual page was written by R. P. C. Rodgers,
391 UCSF School of Pharmacy, San Francisco, CA 94143
392 (rodgers@maxwell.mmwb.ucsf.edu) in 1989. It was extensively revised by
393 James Amundson in 2002.
395 Maxima is now developed and maintained by the Maxima project at <https://maxima.sourceforge.io>.