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       -l lisp, --lisp=lisp
53              Use  Lisp  implementation lisp. Use --list-avail to see the list
54              of possible values.
55
56       --list-avail
57              List the available Lisp and Maxima versions.
58
59       -p lisp_file, --preload-lisp=lisp_file
60              Preload lisp_file.
61
62       -q, --quiet
63              Suppress Maxima start-up message.
64
65       -r string, --run-string=string
66              Process string in interactive mode.
67
68       -s port, --server=port
69              Start Maxima server on port.
70
71       -u version, --use-version=version
72              Launch Maxima version version. Use --list-avail to see the  list
73              of possible values.
74
75       -v, --verbose
76              Print extra information from the Maxima wrapper script.
77
78       --version
79              Print the (default) installed version.
80
81       --very-quiet
82              Suppress expression labels and the Maxima start-up message.
83
84

INTRODUCTORY INSTRUCTIONS

86       Upon  initialization,  maxima  prints a startup message, then a command
87       line prompt:
88
89       (%i1)
90
91       All Maxima commands must be concluded with either:
92
93       1)     a semicolon (in which case the result of the command  is  echoed
94              on a display line, prefaced by %o with an appended sequence num‐
95              ber), or
96
97       2)     a dollar sign (which suppresses printing of a display line).
98

EXAMPLE

100       (%i1) diff(sin(x),x);
101
102       (%o1)                         cos(x)
103
104       (%i2) integrate(%o1,x);
105
106       (%o2)                         sin(x)
107
108       The user types in commands which create Maxima objects (such  as  func‐
109       tions and system variables) and which manipulate these objects.
110
111       On  UNIX  it may be preferable to run Maxima under Gnu Emacs or XEmacs.
112       You can do this by invoking shell mode in emacs, and then invoking max‐
113       ima.   Preferably,  install maxima.el from the distribution and use the
114       command:
115
116              M-x maxima
117
118       The main advantage of working inside emacs is that it provides  a  com‐
119       plete history of input/output.  If you execute the command
120
121              display2d: false
122
123       you  will  be  able  to use your output as input, by simply killing and
124       yanking.
125
126       Lisp is built into Maxima.  The  function  to_lisp()  enters  the  Lisp
127       read-eval-print  loop. The Lisp function (run) may be used to return to
128       Maxima. Alternatively, single Lisp commands may be invoked by  starting
129       a command line with :lisp.
130

BUILT-IN HELP

132       The  reference  manual can be accessed from the Maxima input prompt.  A
133       description of a given command can be obtained by typing the command
134
135       describe(command);
136
137       or, simply,
138
139        ? command
140
141       searches the list of functions for the string  command.   Demonstration
142       files provide complete examples of problems solved with Maxima, and may
143       be accessed with the command demo(command);.  A  library  of  user-con‐
144       tributed  command  files is also provided (the share library), directed
145       toward a variety of problems.
146

OTHER DOCUMENTATION

148       The reference manual is provided in both info and html formats.
149

COMMAND PRIMER

151       This list includes only commands which the beginner might  find  useful
152       to know about prior to studying the reference manual and other texts.
153
154       batch("myfile");
155              Execute the contents of file myfile, which is assumed to contain
156              Maxima commands.
157
158       closefile("myfile");
159              Close session file opened by a writefile command (see below).
160
161       demo("myfile");
162              Execute the contents of file myfile, which is assumed to contain
163              Maxima commands, one line at a time.
164
165       ev(infolists);
166              Print the contents of all of the available information lists.
167
168       functions;
169              Print a list of the names of currently defined functions.
170
171       infolists;
172              Print a list of the various available information lists.
173
174       kill(objectlist);
175              Eliminate  the object(s) contained within parentheses; kill(all)
176              Delete all objects created by the user, restoring Maxima to  its
177              initial state.
178
179       quit();
180              Leave Maxima.
181
182       reset();
183              Reset all Maxima control parameters to their default states.
184
185       values;
186              Print a list of the names of currently assigned scalar values.
187
188       writefile("myfile");
189              Write  record of session to file myfile; only one file at a time
190              can be open, and the closefile command must be invoked prior  to
191              leaving Maxima to flush the buffer.
192

PLOTTING COMMANDS

194       Maxima  is  capable  of producing 2- and 3-dimensional plots. Here is a
195       simple 2-dimensional example
196
197       plot2d (sin(x), [x, -2*%pi, 2*%pi]);
198
199       and a simple 3-dimensional example
200
201       plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
202
203       By default plots are made by the gnuplot plotting package.   Plots  can
204       be  made  by  other  means; see "? plot_options".  For more information
205       about plotting, see "? plot".
206

FILES

208       /usr/lib/maxima/5.14.0/binary-lisp
209                 Compiled files for lisp implementation lisp
210
211       /usr/info primary documentation directory, containing info files  which
212                 are  used  for  the  'describe' command, and also for viewing
213                 under emacs or other info viewer.
214
215       /usr/share/maxima/5.14.0/doc/html
216                 HTML version of info documentation.
217
218       /usr/share/maxima/5.14.0/demo
219                 Maxima demo files.
220
221       /usr/share/maxima/5.14.0/emacs
222                 Elisp files for use with Emacs or XEmacs.
223
224       /usr/share/maxima/5.14.0/share
225                 Contributed external packages.
226
227       /usr/share/maxima/5.14.0/doc/share
228                 Documentation for contributed external packages.
229
230       /usr/share/maxima/5.14.0/src
231                 Complete Maxima source.
232
233       /usr/share/maxima/5.14.0/tests
234                 Test suite.
235
236       /usr/share/maxima/5.14.0/xmaxima
237                 Xmaxima support files.
238
239       /usr/libexec/maxima/5.14.0/
240                 Maxima utility scripts.
241

ENVIRONMENT VARIABLES

243       MAXIMA_USERDIR
244              Points to a directory for  user  customization  files.  Maxima's
245              default  search  paths  include  MAXIMA_USERDIR.  Default value:
246              $HOME/.maxima.
247
248       MAXIMA_PREFIX
249              Maxima looks for its input files in the directory configured  at
250              compile  time,  /usr.  Maxima  can  be  relocated to a different
251              directory as long as the maxima script maintains the same  rela‐
252              tive  position  with  respect to the Maxima input files. If, for
253              some reason, the maxima script needs to  be  relocated  indepen‐
254              dently, MAXIMA_PREFIX needs to be set to point to the top of the
255              tree holding the input files.
256
257       MAXIMA_DIRECTORY
258              MAXIMA_DIRECTORY is equivalent to MAXIMA_PREFIX. It is  included
259              only for backward compatibility with older versions of Maxima.
260
261       Maxima  uses  several  other  environment  variables  for communication
262       between the maxima script and the lisp image. All such variables  start
263       with MAXIMA_. They should not need to be modified by the user.
264

CUSTOMIZATION FILES

266       maximarc
267              maximarc  is  sourced by the maxima script at startup. It should
268              be located in $MAXIMA_USERDIR (see above). maximarc can be used,
269              e.g., to change the user's default lisp implementation choice to
270              CMUCL by including the line "MAXIMA_LISP=cmucl".
271
272       maxima-init.lisp
273              At startup, Maxima will load the lisp file  maxima-init.lisp  if
274              it  is found in the search path. For user customization, maxima-
275              init.lisp should be placed in the $MAXIMA_USERDIR  (see  above).
276              Since Maxima typically has a system maxima-init.lisp in the Max‐
277              ima share directory, the user may want to copy the  contents  of
278              the system maxima-init.lisp into his/her custom file.
279
280       maxima-init.mac
281              At  startup,  Maxima will load the file maxima-init.mac if it is
282              found in the  search  path.   For  user  customization,  maxima-
283              init.mac should be placed in the $MAXIMA_USERDIR (see above).
284

REFERENCES

286       Old Reference: MACSYMA Reference Manual (volumes 1 and 2).  The Mathlab
287       Group, Laboratory for Computer  Science,  MIT.   Version  10.   January
288       1983.
289
290       Newer references: http://maxima.sourceforge.net
291

BUGS

293       Maxima  is  a  complex system. It includes both known and unknown bugs.
294       Use at your own risk. The Maxima bug database is available at
295
296       http://sourceforge.net/tracker/?atid=104933&group_id=4933&func=browse
297
298       New bug reports are always appreciated. Please include  the  output  of
299       the Maxima function "build_info()" with the report.
300

AUTHORS

302       MACSYMA  (Project  MAC's SYmbolic MAnipulation System) was developed by
303       the Mathlab group of the MIT Laboratory for  Computer  Science  (origi‐
304       nally  known  as  Project MAC), during the years 1969-1972.  Their work
305       was supported by grants NSG 1323 of the National Aeronautics and  Space
306       Administration,  N00014-77-C-0641  of  the  Office  of  Naval Research,
307       ET-78-C-02-4687 of the U.S. Department of Energy,  and  F49620-79-C-020
308       of  the U.S. Air Force.  MACSYMA was further modified for use under the
309       UNIX operating system (for use on DEC VAX computers  and  Sun  worksta‐
310       tions), by Richard Fateman and colleagues at the University of Califor‐
311       nia at Berkeley; this version of  MACSYMA  is  known  as  VAXIMA.   The
312       present  version  stems from a re-working of the public domain MIT MAC‐
313       SYMA for GNU Common Lisp, prepared by William Schelter,  University  of
314       Texas  at  Austin until his passing away in 2001.  It contains numerous
315       additions, extensions and enhancements of the original.   The  original
316       version  of  this  manual  page  was  written by R. P. C. Rodgers, UCSF
317       School   of   Pharmacy,   San   Francisco,   CA   94143   (rodgers@max‐
318       well.mmwb.ucsf.edu) in 1989. It was extensively revised by James Amund‐
319       son in 2002.
320
321       Maxima is now  developed  and  maintained  by  the  Maxima  project  at
322       <http://maxima.sourcforge.net>.
323
324
325
326                              September 10, 2005                    MAXIMA(1L)
Impressum