1MAXIMA(1)                   General Commands Manual                  MAXIMA(1)
2
3
4

NAME

6       Maxima  -  Common  Lisp version of MACSYMA symbolic mathematics package
7       released under the GNU Public License
8
9       rmaxima - A version of maxima that supports command autocompletion
10
11       Xmaxima - A graphical version of Maxima
12

SYNOPSIS

14       maxima [options]
15
16       rmaxima [options]
17
18       xmaxima [options]
19

DESCRIPTION

21       Maxima is a version of the MIT-developed MACSYMA  system,  modified  to
22       run under Common Lisp.  It is an interactive expert system and program‐
23       ming environment for symbolic and numerical mathematical  manipulation.
24       Written  in  Lisp,  it allows differentiation, integration, solution of
25       linear or polynomial equations, factoring of polynomials, expansion  of
26       functions  in  Laurent or Taylor series, computation of Poisson series,
27       matrix and tensor manipulations, and two- and three-dimensional  graph‐
28       ics.   Procedures  may  be written using an ALGOL-like syntax, and both
29       Lisp-like functions  and  pattern  matching  facilities  are  provided.
30       Files  containing  Maxima  objects may be read from and written to disk
31       files. Pre-written Maxima commands may be read from  a  file  and  exe‐
32       cuted, allowing batch-mode use.
33

OPTIONS

35       -b file, --batch=file
36              Process file in noninteractive mode.
37
38       --batch-lisp=file
39              Process Lisp file file in noninteractive mode.
40
41       --batch-string=string
42              Process string in noninteractive mode.
43
44       -d, --directories
45              Display Maxima directory information.
46
47       --disable-readline
48              Disable readline support.
49
50       -g, --enable-lisp-debugger
51              Enable Lisp debugger.
52
53       -h, --help
54              Display a brief usage summary.
55
56       --init=string
57              Load  the  Maxima  and  Lisp initialization files string.mac and
58              string.lisp at startup.
59
60       --init-mac=file
61              Load the Maxima initialization file file at startup.
62
63       --init-lisp=file
64              Load the Lisp initialization file file at startup.
65
66       -l lisp, --lisp=lisp
67              Use Lisp implementation lisp. Use --list-avail to see  the  list
68              of possible values.
69
70       --list-avail
71              List the available Lisp and Maxima versions.
72
73       -p lisp_file, --preload-lisp=lisp_file
74              Preload lisp_file.
75
76       -q, --quiet
77              Suppress Maxima start-up message.
78
79       -r string, --run-string=string
80              Process string in interactive mode.
81
82       -s port, --server=port
83              Connect  Maxima to server on port.  Note that this does not cre‐
84              ate a Maxima server; Maxima is the client.
85
86       -u version, --use-version=version
87              Launch Maxima version version. Use --list-avail to see the  list
88              of possible values.
89
90       --userdir=directory
91              Use  directory  for  user directory (default is $HOME/maxima for
92              Windows, $HOME/.maxima for others)
93
94       -v, --verbose
95              Print extra information from the Maxima wrapper script.
96
97       --version
98              Print the (default) installed version.
99
100       --very-quiet
101              Suppress expression labels and the Maxima start-up message.
102
103       -X Lisp options, --lisp-options=Lisp options
104              Options to be given to the underlying Lisp.
105

INTRODUCTORY INSTRUCTIONS

107       Upon initialization, maxima prints a startup message,  then  a  command
108       line prompt:
109
110       (%i1)
111
112       All Maxima commands must be concluded with either:
113
114       1)     a  semicolon  (in which case the result of the command is echoed
115              on a display line, prefaced by %o with an appended sequence num‐
116              ber), or
117
118       2)     a dollar sign (which suppresses printing of a display line).
119

EXAMPLE

121       (%i1) diff(sin(x),x);
122
123       (%o1)                         cos(x)
124
125       (%i2) integrate(%o1,x);
126
127       (%o2)                         sin(x)
128
129       The  user  types in commands which create Maxima objects (such as func‐
130       tions and system variables) and which manipulate these objects.
131
132       On UNIX it may be preferable to run Maxima under Gnu Emacs  or  XEmacs.
133       You can do this by invoking shell mode in emacs, and then invoking max‐
134       ima.  Preferably, install maxima.el from the distribution and  use  the
135       command:
136
137              M-x maxima
138
139       The  main  advantage of working inside emacs is that it provides a com‐
140       plete history of input/output.  If you execute the command
141
142              display2d: false
143
144       you will be able to use your output as input,  by  simply  killing  and
145       yanking.
146
147       Lisp  is  built  into  Maxima.   The function to_lisp() enters the Lisp
148       read-eval-print loop. The Lisp function (run) may be used to return  to
149       Maxima.  Alternatively, single Lisp commands may be invoked by starting
150       a command line with :lisp.
151

BUILT-IN HELP

153       The reference manual can be accessed from the Maxima input  prompt.   A
154       description of a given command can be obtained by typing the command
155
156       describe(command);
157
158       or, simply,
159
160        ? command
161
162       searches  the  list of functions for the string command.  Demonstration
163       files provide complete examples of problems solved with Maxima, and may
164       be  accessed  with  the command demo(command);.  A library of user-con‐
165       tributed command files is also provided (the share  library),  directed
166       toward a variety of problems.
167

OTHER DOCUMENTATION

169       The reference manual is provided in both info and html formats.
170

COMMAND PRIMER

172       This  list  includes only commands which the beginner might find useful
173       to know about prior to studying the reference manual and other texts.
174
175       batch("myfile");
176              Execute the contents of file myfile, which is assumed to contain
177              Maxima commands.
178
179       closefile("myfile");
180              Close session file opened by a writefile command (see below).
181
182       demo("myfile");
183              Execute the contents of file myfile, which is assumed to contain
184              Maxima commands, one line at a time.
185
186       ev(infolists);
187              Print the contents of all of the available information lists.
188
189       functions;
190              Print a list of the names of currently defined functions.
191
192       infolists;
193              Print a list of the various available information lists.
194
195       kill(objectlist);
196              Eliminate the object(s) contained within parentheses;  kill(all)
197              Delete  all objects created by the user, restoring Maxima to its
198              initial state.
199
200       quit();
201              Leave Maxima.
202
203       reset();
204              Reset all Maxima control parameters to their default states.
205
206       values;
207              Print a list of the names of currently assigned scalar values.
208
209       writefile("myfile");
210              Write record of session to file myfile; only one file at a  time
211              can  be open, and the closefile command must be invoked prior to
212              leaving Maxima to flush the buffer.
213

PLOTTING COMMANDS

215       Maxima is capable of producing 2- and 3-dimensional plots.  Here  is  a
216       simple 2-dimensional example
217
218       plot2d (sin(x), [x, -2*%pi, 2*%pi]);
219
220       and a simple 3-dimensional example
221
222       plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
223
224       By  default  plots are made by the gnuplot plotting package.  Plots can
225       be made by other means; see "?  plot_options".   For  more  information
226       about plotting, see "? plot".
227

FILES

229       /usr/lib/maxima/5.42.1/binary-lisp
230                 Compiled files for lisp implementation lisp
231
232       /usr/info primary  documentation directory, containing info files which
233                 are used for the 'describe' command,  and  also  for  viewing
234                 under emacs or other info viewer.
235
236       /usr/share/maxima/5.42.1/doc/html
237                 HTML version of info documentation.
238
239       /usr/share/maxima/5.42.1/demo
240                 Maxima demo files.
241
242       /usr/share/maxima/5.42.1/emacs
243                 Elisp files for use with Emacs or XEmacs.
244
245       /usr/share/maxima/5.42.1/share
246                 Contributed external packages.
247
248       /usr/share/maxima/5.42.1/doc/share
249                 Documentation for contributed external packages.
250
251       /usr/share/maxima/5.42.1/src
252                 Complete Maxima source.
253
254       /usr/share/maxima/5.42.1/tests
255                 Test suite.
256
257       /usr/share/maxima/5.42.1/xmaxima
258                 Xmaxima support files.
259
260       /usr/libexec/maxima/5.42.1/
261                 Maxima utility scripts.
262

ENVIRONMENT VARIABLES

264       MAXIMA_USERDIR
265              Points  to  a  directory  for user customization files. Maxima's
266              default search  paths  include  MAXIMA_USERDIR.  Default  value:
267              $HOME/.maxima.
268
269       MAXIMA_PREFIX
270              Maxima  looks for its input files in the directory configured at
271              compile time, /usr. Maxima  can  be  relocated  to  a  different
272              directory  as long as the maxima script maintains the same rela‐
273              tive position with respect to the Maxima input  files.  If,  for
274              some  reason,  the  maxima script needs to be relocated indepen‐
275              dently, MAXIMA_PREFIX needs to be set to point to the top of the
276              tree holding the input files.
277
278       MAXIMA_DIRECTORY
279              MAXIMA_DIRECTORY  is equivalent to MAXIMA_PREFIX. It is included
280              only for backward compatibility with older versions of Maxima.
281
282       Maxima uses  several  other  environment  variables  for  communication
283       between  the maxima script and the lisp image. All such variables start
284       with MAXIMA_. They should not need to be modified by the user.
285

CUSTOMIZATION FILES

287       maximarc
288              maximarc is sourced by the maxima script at startup.  It  should
289              be located in $MAXIMA_USERDIR (see above). maximarc can be used,
290              e.g., to change the user's default lisp implementation choice to
291              CMUCL by including the line "MAXIMA_LISP=cmucl".
292
293       maxima-init.lisp
294              At  startup,  Maxima will load the lisp file maxima-init.lisp if
295              it is found in the search path. For user customization,  maxima-
296              init.lisp  should  be placed in the $MAXIMA_USERDIR (see above).
297              Since Maxima typically has a system maxima-init.lisp in the Max‐
298              ima  share  directory, the user may want to copy the contents of
299              the system maxima-init.lisp into his/her custom file.   Alterna‐
300              tively,  the  user  can  load  a  Lisp  initialization file with
301              another name or location by means of the --init-lisp  or  --init
302              command-line options.
303
304       maxima-init.mac
305              At  startup,  Maxima will load the file maxima-init.mac if it is
306              found in the  search  path.   For  user  customization,  maxima-
307              init.mac  should  be  placed in the $MAXIMA_USERDIR (see above).
308              Alternatively, the user can load a  Maxima  initialization  file
309              with  another  name  or  location  by means of the --init-mac or
310              --init command-line options.
311

REFERENCES

313       Old Reference: MACSYMA Reference Manual (volumes 1 and 2).  The Mathlab
314       Group,  Laboratory  for  Computer  Science,  MIT.  Version 10.  January
315       1983.
316
317       Newer references: http://maxima.sourceforge.net
318

BUGS

320       Maxima is a complex system. It includes both known  and  unknown  bugs.
321       Use at your own risk. The Maxima bug database is available at
322
323       https://sourceforge.net/p/maxima/bugs/
324
325       New  bug  reports  are always appreciated. Please include the output of
326       the Maxima function "build_info()" with the report.
327

AUTHORS

329       MACSYMA (Project MAC's SYmbolic MAnipulation System) was  developed  by
330       the  Mathlab  group  of the MIT Laboratory for Computer Science (origi‐
331       nally known as Project MAC), during the years  1969-1972.   Their  work
332       was  supported by grants NSG 1323 of the National Aeronautics and Space
333       Administration, N00014-77-C-0641  of  the  Office  of  Naval  Research,
334       ET-78-C-02-4687  of  the U.S. Department of Energy, and F49620-79-C-020
335       of the U.S. Air Force.  MACSYMA was further modified for use under  the
336       UNIX  operating  system  (for use on DEC VAX computers and Sun worksta‐
337       tions), by Richard Fateman and colleagues at the University of Califor‐
338       nia  at  Berkeley;  this  version  of  MACSYMA is known as VAXIMA.  The
339       present version stems from a re-working of the public domain  MIT  MAC‐
340       SYMA  for  GNU Common Lisp, prepared by William Schelter, University of
341       Texas at Austin until his passing away in 2001.  It  contains  numerous
342       additions,  extensions  and enhancements of the original.  The original
343       version of this manual page was written  by  R.  P.  C.  Rodgers,  UCSF
344       School   of   Pharmacy,   San   Francisco,   CA   94143   (rodgers@max‐
345       well.mmwb.ucsf.edu) in 1989. It was extensively revised by James Amund‐
346       son in 2002.
347
348       Maxima  is  now  developed  and  maintained  by  the  Maxima project at
349       <http://maxima.sourceforge.net>.
350
351
352
353                              September 10, 2005                     MAXIMA(1)
Impressum