1 .TH MAXIMA 1 "2022-07-18"
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.
107 \fB\-\-no\-init\fR, \fB\-\-norc\fR
108 Do not load the init file(s) on startup.
110 .SH INTRODUCTORY INSTRUCTIONS
113 prints a startup message, then a command line prompt:
117 All Maxima commands must be concluded with either:
120 a semicolon (in which case the result of the command is echoed on a display
123 with an appended sequence number), or
126 a dollar sign (which suppresses printing of a display line).
130 (%i1) diff(sin(x),x);
134 (%i2) integrate(%o1,x);
138 The user types in commands which create
140 (such as functions and system variables) and which manipulate these objects.
142 On UNIX it may be preferable to run Maxima under Gnu Emacs or XEmacs.
143 You can do this by invoking shell mode in
150 distribution and use the command:
154 The main advantage of working inside
156 is that it provides a complete history of input/output.
157 If you execute the command
161 you will be able to use your output as input,
162 by simply killing and yanking.
164 \*(Li is built into Maxima.
165 The function to_lisp() enters the Lisp read-eval-print loop. The
166 \*(Li function (run) may be used to return to Maxima. Alternatively,
167 single \*(Li commands may be invoked by starting a command line with
170 The reference manual can be accessed from the Maxima input prompt.
171 A description of a given command can be obtained by typing the command
173 \fBdescribe(command);\fR
183 searches the list of functions for the string \fIcommand\fR and prints matching functions.
185 Demonstration files provide complete examples of problems solved with Maxima,
186 and may be accessed with the command
187 \fBdemo(command);\fR.
188 A library of user-contributed command files is also provided (the
189 .IR "share library" ),
190 directed toward a variety of problems.
191 .SH OTHER DOCUMENTATION
192 The reference manual is provided in both info and html formats.
195 This list includes only commands which the beginner might find
196 useful to know about prior to studying the reference manual
200 Execute the contents of file
202 which is assumed to contain Maxima commands.
204 .B closefile("myfile");
205 Close session file opened by a writefile command (see below).
208 Execute the contents of file
210 which is assumed to contain Maxima
211 commands, one line at a time.
214 Print the contents of all of the available information lists.
217 Print a list of the names of currently defined functions.
220 Print a list of the various available information lists.
223 Eliminate the object(s) contained within parentheses;
225 Delete all objects created by the user, restoring Maxima
226 to its initial state.
232 Reset all Maxima control parameters to their default states.
235 Print a list of the names of currently assigned scalar values.
237 .B writefile("myfile");
238 Write record of session to file
240 only one file at a time can be open, and the
242 command must be invoked prior to leaving Maxima
244 .SH PLOTTING COMMANDS
245 Maxima is capable of producing 2- and 3-dimensional plots. Here is a
246 simple 2-dimensional example
248 .B plot2d (sin(x), [x, -2*%pi, 2*%pi]);
250 and a simple 3-dimensional example
252 .B plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
254 By default plots are made by the
258 Plots can be made by other means; see "? plot_options".
259 For more information about plotting, see "? plot".
262 .I \*(Pr/lib/maxima/\*(Vr/binary-\fIlisp\fR
263 Compiled files for lisp implementation \fIlisp\fR
266 primary documentation directory, containing info files which
267 are used for the 'describe' command, and also for viewing under emacs
268 or other info viewer.
270 .I \*(Pr/share/maxima/\*(Vr/doc/html
271 HTML version of info documentation.
273 .I \*(Pr/share/maxima/\*(Vr/demo
276 .I \*(Pr/share/maxima/\*(Vr/emacs
277 Elisp files for use with Emacs or XEmacs.
279 .I \*(Pr/share/maxima/\*(Vr/share
280 Contributed external packages.
282 .I \*(Pr/share/maxima/\*(Vr/doc/share
283 Documentation for contributed external packages.
285 .I \*(Pr/share/maxima/\*(Vr/src
286 Complete Maxima source.
288 .I \*(Pr/share/maxima/\*(Vr/tests
291 .I \*(Pr/share/maxima/\*(Vr/xmaxima
292 Xmaxima support files.
294 .I \*(Pr/libexec/maxima/\*(Vr/
295 Maxima utility scripts.
296 .SH ENVIRONMENT VARIABLES
299 Points to a directory for user customization files. Maxima's default search
300 paths include \fBMAXIMA_USERDIR\fR. Default value: \fB$HOME/.maxima\fR.
303 Maxima looks for its input files in the directory configured at
304 compile time, \*(Pr. Maxima can be relocated to a different directory
307 script maintains the same relative position with
308 respect to the Maxima input files. If, for some reason, the
310 script needs to be relocated independently, \fBMAXIMA_PREFIX\fR needs to be
311 set to point to the top of the tree holding the input files.
313 \fBMAXIMA_DIRECTORY\fR
314 \fBMAXIMA_DIRECTORY\fR is equivalent to \fBMAXIMA_PREFIX\fR. It is
315 included only for backward compatibility with older versions of Maxima.
317 Maxima uses several other environment variables for communication
320 script and the lisp image. All such variables start
321 with \fIMAXIMA_\fR. They should not need to be modified by the user.
322 .SH CUSTOMIZATION FILES
325 \fBmaximarc\fR is sourced by the
327 script at startup. It should
328 be located in \fB$MAXIMA_USERDIR\fR (see above). \fBmaximarc\fR can be
329 used, \fIe.g.\fR, to change the user's default lisp implementation
330 choice to CMUCL by including the line "MAXIMA_LISP=cmucl".
332 \fBmaxima-init.lisp\fR
333 At startup, Maxima will load the lisp file \fBmaxima-init.lisp\fR if
334 it is found in the search path. For user customization,
335 \fBmaxima-init.lisp\fR should be placed in the \fB$MAXIMA_USERDIR\fR
336 (see above). Since Maxima typically has a system
337 \fBmaxima-init.lisp\fR in the Maxima share directory, the user may
338 want to copy the contents of the system \fBmaxima-init.lisp\fR into
340 Alternatively, the user can load a Lisp initialization file with
341 another name or location by means of the \fB\-\-init-lisp\fR or \fB\-\-init\fR
342 command-line options.
344 \fBmaxima-init.mac\fR
345 At startup, Maxima will load the file \fBmaxima-init.mac\fR if
346 it is found in the search path. For user customization,
347 \fBmaxima-init.mac\fR should be placed in the \fB$MAXIMA_USERDIR\fR
349 Alternatively, the user can load a Maxima initialization file with
350 another name or location by means of the \fB\-\-init-mac\fR or \fB\-\-init\fR
351 command-line options.
354 Here Xmaxima stores personal settings.
356 \fB~/.xmaxima_history\fR
357 Here Xmaxima stores the command history.
361 .I "MACSYMA Reference Manual"
364 Laboratory for Computer Science, MIT.
369 .I https://maxima.sourceforge.io
371 Maxima is a complex system. It includes both known and unknown bugs.
372 Use at your own risk. The Maxima bug database is available at
374 https://sourceforge.net/p/maxima/bugs/
376 New bug reports are always appreciated. Please include the output of
377 the Maxima function "build_info()" with the report.
380 MACSYMA (Project MAC's SYmbolic MAnipulation System) was developed by
381 the Mathlab group of the MIT Laboratory for Computer Science
382 (originally known as Project MAC), during the years 1969-1972. Their
383 work was supported by grants NSG 1323 of the National Aeronautics and
384 Space Administration, N00014-77-C-0641 of the Office of Naval
385 Research, ET-78-C-02-4687 of the U.S. Department of Energy, and
386 F49620-79-C-020 of the U.S. Air Force. MACSYMA was further modified
387 for use under the UNIX operating system (for use on DEC VAX computers
388 and Sun workstations), by Richard Fateman and colleagues at the
389 University of California at Berkeley; this version of MACSYMA is known
390 as VAXIMA. The present version stems from a re-working of the public
391 domain MIT MACSYMA for GNU Common Lisp, prepared by William Schelter, University
392 of Texas at Austin until his passing away in 2001. It contains
393 numerous additions, extensions and enhancements of the original. The
394 original version of this manual page was written by R. P. C. Rodgers,
395 UCSF School of Pharmacy, San Francisco, CA 94143
396 (rodgers@maxwell.mmwb.ucsf.edu) in 1989. It was extensively revised by
397 James Amundson in 2002.
399 Maxima is now developed and maintained by the Maxima project at <https://maxima.sourceforge.io>.