MAXIMA(1)
π MAXIMA(1) β General Commands Manual π
okay bestie, sit DOWN, because this is the Maxima manual and it's a whole moment. The manual name up top is MAXIMA(1) β general commands manual, one section, iconic behavior only. Let's get into it β¨
πΈ NAME πΈ
Maxima β the Common Lisp version of the MACSYMA symbolic mathematics package, released under the GNU Public License. yes, that GNU Public License, the real one π«Ά
rmaxima β a version of Maxima that supports command autocompletion. it literally finishes your sentences for you, main character energy fr fr β¨οΈβ¨
Xmaxima β a graphical version of Maxima. pretty windows, buttons, the whole aesthetic π
β¨ SYNOPSIS β¨
maxima [options]
rmaxima [options]
xmaxima [options]
three ways in, all of them valid, pick your fighter π
π¦ DESCRIPTION π¦
So here's the tea. Maxima is a version of the MIT-developed MACSYMA system, modified so it runs under Common Lisp. It's an interactive expert system and a programming environment for symbolic and numerical mathematical manipulation. she does both. no cap.
Written in Lisp, she lets you do:
- differentiation
- integration
- solution of linear or polynomial equations
- factoring of polynomials
- expansion of functions in Laurent or Taylor series
- computation of Poisson series
- matrix and tensor manipulations
- two- and three-dimensional graphics
and that's not even the whole list, that's just the vibe check π₯
Procedures may be written using an ALGOL-like syntax, and both Lisp-like functions and pattern matching facilities are provided. Files containing Maxima objects may be read from and written to disk files. Pre-written Maxima commands may be read from a file and executed, allowing batch-mode use. batch mode bestie, set it and forget it π
π OPTIONS π
-bfile,--batch=file β Process file in noninteractive mode. she reads, she computes, she does not ask you questions.--batch-lisp=file β Process Lisp file file in noninteractive mode.--batch-string=string β Process string in noninteractive mode.-d,--directoriesβ Display Maxima directory information. where does everything live? this tells you.--disable-readlineβ Disable readline support. no fancy line editing for you.-g,--enable-lisp-debuggerβ Enable Lisp debugger. for when you want the raw, unfiltered truth π-h,--helpβ Display a brief usage summary. the lil cheat sheet.--init=string β Load the Maxima and Lisp initialization filesstring.macandstring.lispat startup.--init-mac=file β Load the Maxima initialization file file at startup.--init-lisp=file β Load the Lisp initialization file file at startup.-llisp,--lisp=lisp β Use Lisp implementation lisp. Use--list-availto see the list of possible values.--list-availβ List the available Lisp and Maxima versions. window shopping, but for interpreters ποΈ-plisp_file,--preload-lisp=lisp_file β Preload lisp_file.-q,--quietβ Suppress Maxima start-up message. she enters silently, like a queen π-rstring,--run-string=string β Process string in interactive mode.-sport,--server=port β Connect Maxima to server on port. β οΈ Note that this does not create a Maxima server; Maxima is the client. read that again bestie, she's the one knocking on the door, not the one answering it.-uversion,--use-version=version β Launch Maxima version version. Use--list-availto see the list of possible values.--userdir=directory β Use directory for user directory. Default is%USERPROFILE%/maximafor Windows,$HOME/.maximafor others.-v,--verboseβ Print extra information from the Maxima wrapper script. she's chatty, we love that for her.--versionβ Print the (default) installed version.--very-quietβ Suppress expression labels and the Maxima start-up message. she's not just quiet, she's very quiet. introvert mode activated π-XLisp options,--lisp-options=Lisp options β Options to be given to the underlying Lisp.
π INTRODUCTORY INSTRUCTIONS π
Upon initialization, maxima prints a startup message, then a command line prompt:
(%i1)
and that little prompt is home π π
All Maxima commands must be concluded with either:
- a semicolon β in which case the result of the command is echoed on a display line, prefaced by
%owith an appended sequence number, or - a dollar sign β which suppresses printing of a display line.
semicolon = show me everything. dollar sign = keep it lowkey π€« both are valid, both are correct, choose your energy.
β EXAMPLE β
(%i1) diff(sin(x),x);
(%o1) cos(x)
(%i2) integrate(%o1,x);
(%o2) sin(x)
look at that. she differentiated, then she integrated it right back. circular queen behavior π¦
The user types in commands which create Maxima objects (such as functions and system variables) and which manipulate these objects.
On UNIX it may be preferable to run Maxima under Gnu Emacs or XEmacs. You can do this by invoking shell mode in emacs, and then invoking maxima. Preferably, install maxima.el from the distribution and use the command:
M-x maxima
The main advantage of working inside emacs is that it provides a complete history of input/output. If you execute the command
display2d: false
you will be able to use your output as input, by simply killing and yanking. kill and yank, the original copy-paste π
Lisp is built into Maxima. The function to_lisp() enters the Lisp read-eval-print loop. The Lisp function (run) may be used to return to Maxima. Alternatively, single Lisp commands may be invoked by starting a command line with :lisp.
π BUILT-IN HELP π
The reference manual can be accessed from the Maxima input prompt. A description of a given command can be obtained by typing the command
describe(command);
or, simply,
? command
The command
?? command
searches the list of functions for the string command and prints matching functions. double question mark = she goes searching, she comes back with receipts π΅οΈββοΈβ¨
Demonstration files provide complete examples of problems solved with Maxima, and may be accessed with the command demo(command);. A library of user-contributed command files is also provided (the share library), directed toward a variety of problems.
π OTHER DOCUMENTATION π
The reference manual is provided in both info and html formats. two formats, twice the slay π
π COMMAND PRIMER π
This list includes only commands which the beginner might find useful to know about prior to studying the reference manual and other texts. (translation: the starter pack, no skips, do not come for me)
batch("myfile");β Execute the contents of file myfile, which is assumed to contain Maxima commands.closefile("myfile");β Close session file opened by awritefilecommand (see below).demo("myfile");β Execute the contents of file myfile, which is assumed to contain Maxima commands, one line at a time. one. line. at. a. time. πev(infolists);β Print the contents of all of the available information lists.functions;β Print a list of the names of currently defined functions.infolists;β Print a list of the various available information lists.kill(objectlist);β Eliminate the object(s) contained within parentheses;kill(all)Delete all objects created by the user, restoring Maxima to its initial state. the full factory reset, use with intention πquit();β Leave Maxima. goodbye bestie π«Άreset();β Reset all Maxima control parameters to their default states.values;β Print a list of the names of currently assigned scalar values.writefile("myfile");β Write record of session to file myfile; only one file at a time can be open, and theclosefilecommand must be invoked prior to leaving Maxima to flush the buffer. β οΈ yes really, close the file before you bounce or your buffer does NOT get flushed.
π₯ PLOTTING COMMANDS π₯
Maxima is capable of producing 2- and 3-dimensional plots. Here is a simple 2-dimensional example
plot2d (sin(x), [x, -2*%pi, 2*%pi]);
and a simple 3-dimensional example
plot3d (2^(-u^2 + v^2), [u, -5, 5], [v, -7, 7]);
By default plots are made by the gnuplot plotting package. Plots can be made by other means; see "? plot_options". For more information about plotting, see "? plot".
π FILES π
/usr/lib/maxima/5.45.1/binary-lispβ Compiled files for lisp implementation lisp/usr/infoβ primary documentation directory, containing info files which are used for the'describe'command, and also for viewing under emacs or other info viewer./usr/share/maxima/5.45.1/doc/htmlβ HTML version of info documentation./usr/share/maxima/5.45.1/demoβ Maxima demo files./usr/share/maxima/5.45.1/emacsβ Elisp files for use with Emacs or XEmacs./usr/share/maxima/5.45.1/shareβ Contributed external packages./usr/share/maxima/5.45.1/doc/shareβ Documentation for contributed external packages./usr/share/maxima/5.45.1/srcβ Complete Maxima source./usr/share/maxima/5.45.1/testsβ Test suite./usr/share/maxima/5.45.1/xmaximaβ Xmaxima support files./usr/libexec/maxima/5.45.1/β Maxima utility scripts.
πΈ ENVIRONMENT VARIABLES πΈ
MAXIMA_USERDIRβ Points to a directory for user customization files. Maxima's default search paths includeMAXIMA_USERDIR. Default value:$HOME/.maxima.MAXIMA_PREFIXβ Maxima looks for its input files in the directory configured at compile time,/usr. Maxima can be relocated to a different directory as long as themaximascript maintains the same relative position with respect to the Maxima input files. If, for some reason, themaximascript needs to be relocated independently,MAXIMA_PREFIXneeds to be set to point to the top of the tree holding the input files. β οΈ relocate responsibly, bestie.MAXIMA_DIRECTORYβMAXIMA_DIRECTORYis equivalent toMAXIMA_PREFIX. It is included only for backward compatibility with older versions of Maxima. a legacy icon, we respect her π
Maxima uses several other environment variables for communication between the maxima script and the lisp image. All such variables start with MAXIMA_. They should not need to be modified by the user. hands off, they're internal, don't touch β
π§ CUSTOMIZATION FILES π§
maximarcβmaximarcis sourced by themaximascript at startup. It should be located in$MAXIMA_USERDIR(see above).maximarccan be used, e.g., to change the user's default lisp implementation choice to CMUCL by including the line"MAXIMA_LISP=cmucl".maxima-init.lispβ At startup, Maxima will load the lisp filemaxima-init.lispif it is found in the search path. For user customization,maxima-init.lispshould be placed in the$MAXIMA_USERDIR(see above). Since Maxima typically has a systemmaxima-init.lispin the Maxima share directory, the user may want to copy the contents of the systemmaxima-init.lispinto his/her custom file. Alternatively, the user can load a Lisp initialization file with another name or location by means of the--init-lispor--initcommand-line options.maxima-init.macβ At startup, Maxima will load the filemaxima-init.macif it is found in the search path. For user customization,maxima-init.macshould be placed in the$MAXIMA_USERDIR(see above). Alternatively, the user can load a Maxima initialization file with another name or location by means of the--init-macor--initcommand-line options.
π REFERENCES π
Old Reference: MACSYMA Reference Manual (volumes 1 and 2). The Mathlab Group, Laboratory for Computer Science, MIT. Version 10. January 1983. vintage. archival. she's been doing this since before you were born π°οΈ
Newer references: https://maxima.sourceforge.io
π BUGS π
Maxima is a complex system. It includes both known and unknown bugs. Use at your own risk. π
the bugs are known AND unknown. the unknown ones are the ones that get you. be brave.
The Maxima bug database is available at
https://sourceforge.net/p/maxima/bugs/
New bug reports are always appreciated. Please include the output of the Maxima function "build_info()" with the report. she wants the receipts, bestie, include the build_info() output πβ¨
β¨ AUTHORS β¨
okay so storytime bestie, because the lore here is genuinely iconic π
MACSYMA β that's Project MAC's SYmbolic MAnipulation System β was developed by the Mathlab group of the MIT Laboratory for Computer Science (originally known as Project MAC), during the years 1969-1972. Their work was supported by grants NSG 1323 of the National Aeronautics and Space Administration, N00014-77-C-0641 of the Office of Naval Research, ET-78-C-02-4687 of the U.S. Department of Energy, and F49620-79-C-020 of the U.S. Air Force. Funding slay, honestly π«Ά
MACSYMA was further modified for use under the UNIX operating system (for use on DEC VAX computers and Sun workstations), by Richard Fateman and colleagues at the University of California at Berkeley; this version of MACSYMA is known as VAXIMA. The present version stems from a re-working of the public domain MIT MACSYMA for GNU Common Lisp, prepared by William Schelter, University of Texas at Austin until his passing away in 2001. It contains numerous additions, extensions and enhancements of the original. The original version of this manual page was written by R. P. C. Rodgers, UCSF School of Pharmacy, San Francisco, CA 94143 (rodgers@maxwell.mmwb.ucsf.edu) in 1989. It was extensively revised by James Amundson in 2002.
Maxima is now developed and maintained by the Maxima project at <https://maxima.sourceforge.io>. π
π SEE ALSO π
and that's the whole page, bestie, we made it to the end π this one's the MAXIMA(1) manual page, dated 2020-03-23, and it ate, no cap. go forth and compute, you main character π
β¨
π¦ where this page comes from
- debian bookworm: maxima-sage 5.45.1-2 Β· GPL-2.0-or-later
- debian trixie: maxima-sage 5.45.1-2+b2 Β· GPL-2.0-or-later
- ubuntu jammy: maxima-sage 5.45.1-2 Β· GPL-2.0-or-later
- ubuntu questing: maxima-sage 5.45.1-2build3
- ubuntu resolute: maxima-sage 5.45.1-2build4 Β· GPL-2.0-or-later
- ubuntu stonking: maxima-sage 5.45.1-2build4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms