1MAXIMA(1L)                                                          MAXIMA(1L)
2
3
4

NAME

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

SYNOPSIS

12       maxima [options]
13
14       xmaxima [options]
15

DESCRIPTION

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

OPTIONS

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

INTRODUCTORY INSTRUCTIONS

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

EXAMPLE

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

BUILT-IN HELP

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

OTHER DOCUMENTATION

165       The reference manual is provided in both info and html formats.
166

COMMAND PRIMER

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

PLOTTING COMMANDS

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

FILES

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

ENVIRONMENT VARIABLES

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

CUSTOMIZATION FILES

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

REFERENCES

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

BUGS

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

AUTHORS

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)
Impressum