ArticleslgStudy

computer science

Maxima (software)

Maxima (software) is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Maxima (software) rather than just read about it. In short: Maxima () is a free and open source software software package for performing computer algebra calculations in mathematics and the physical sciences. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android.

Maxima (software) — main illustration
Maxima (software) — illustration

Key takeaways

  • Maxima (software) belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Maxima (software) to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Maxima (software) from memory before moving on to harder problems.

Reference excerpt

Maxima () is a free and open source software software package for performing computer algebra calculations in mathematics and the physical sciences. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License (GPL).

History Maxima is based on a 1982 version of Macsyma, which was developed at MIT with funding from the United States Department of Energy and other government agencies. A version of Macsyma was maintained by Bill Schelter from 1982 until his death in 2001. In 1998, Schelter obtained permission from the Department of Energy to release his version under the GPL. That version, now called Maxima, is maintained by an independent group of users and developers. Maxima does not include any of the many modifications and enhancements made to the commercial version of Macsyma during 1982–1999. Though the core functionality remains similar, code depending on these enhancements may not work on Maxima, and bugs which were fixed in Macsyma may still be present in Maxima, and vice versa. Maxima participated in Google Summer of Code in 2019 under International Neuroinformatics Coordinating Facility.

Symbolic calculations Like most computer algebra systems, Maxima supports a variety of ways of reorganizing symbolic algebraic expressions, such as polynomial factorization, polynomial greatest common divisor calculation, expansion, separation into real and imaginary parts, and transformation of trigonometric functions to exponential and vice versa. It has a variety of techniques for simplifying algebraic expressions involving trigonometric functions, roots, and exponential functions. It can calculate symbolic antiderivatives ("indefinite integrals"), definite integrals, and limits. It can derive closed-form series expansions as well as terms of Taylor-Maclaurin-Laurent series. It can perform matrix manipulations with symbolic entries. Maxima is a general-purpose system, and special-case calculations such as factorization of large numbers, manipulation of extremely large polynomials, etc. are sometimes better done in specialized systems.

Numeric calculations Maxima specializes in symbolic operations, but it also offers numerical capabilities such as arbitrary-precision integer, rational number, and floating-point numbers, limited only by space and time constraints.

Programming Maxima includes a complete programming language with ALGOL-like syntax but Lisp-like semantics. It is written in Common Lisp and can be accessed programmatically and extended, as the underlying Lisp can be called from Maxima. It uses gnuplot for drawing. For calculations using floating point and arrays heavily, Maxima has translators from the Maxima language to other programming languages (notably Fortran), which may execute more efficiently.

Interfaces

Various graphical user interfaces (GUIs) for Maxima are:

wxMaxima is high-quality graphical front-end using the wxWidgets framework. wxMaxima provides a cell structure similar to the Mathematica notebook as shown in the figure to the right. Sessions in wxMaxima can be saved in a variety of file formats for later use. There is a kernel for Project Jupyter, a flexible, notebook-style GUI written in Python. Cantor, using Qt, can interface with Maxima (along with SageMath, R, and KAlgebra) The GNU TeXmacs and LyX mathematical editor programs can be used to provide an interactive GUI for Maxima, as can SageMath. Other options include the Imaxima front end, as well as an Emacs and XEmacs interaction mode which is activated by Imaxima. Climaxima is a CLIM-based front-end. The online assessment system STACK incorporates Maxima and provides a web interface.

Examples of Maxima code

Basic operations

Arbitrary-precision arithmetic

Function

64 {\displaystyle 64}

Expand

− b 3 + 3 a b 2 − 3 a 2 b + a 3 {\displaystyle -b^{3}+3ab^{2}-3a^{2}b+a^{3}}

Factor

( x − 1 ) ( x + 1 ) {\displaystyle (x-1)(x+1)}

Solving equations

x 2 + a x + 1 = 0 {\displaystyle x^{2}+a\ x+1=0}

[ x = − ( a 2 − 4 + a 2 ) , x = a 2 − 4 − a 2 ] {\displaystyle [x=-{\Biggl (}{\frac {{\sqrt {a^{2}-4}}+a}{2}}{\Biggr )},x={\frac {{\sqrt {a^{2}-4}}-a}{2}}]}

Solving equations numerically

cos ⁡ x = x {\displaystyle \cos x=x}

0.7390851332151607 {\displaystyle 0.7390851332151607}

7.3908513321516064165531208767387340401341175890076 ⋅ 10 − 1 {\displaystyle 7.3908513321516064165531208767387340401341175890076\cdot 10^{-1}}

Indefinite integral

∫ x 2 + cos ⁡ x d x {\displaystyle \int x^{2}+\cos x\ dx}

… excerpt ends here. Continue reading the full article.

Illustrations

Maxima (software) illustration
Maxima (software) illustration
Maxima (software): Screenshot of the wxMaxima interface for Maxima
Screenshot of the wxMaxima interface for Maxima

Worked examples

Example 1 — a first encounter with Maxima (software)

Start with the simplest possible case. Write down what Maxima (software) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Maxima (software) before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Maxima (software) ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Maxima (software)

In research
Maxima (software) appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Maxima (software) in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Maxima (software) is common in secondary-school and first-year university syllabi. It links to neighbouring topics Common Lisp (programming language) software, Computer algebra system software for Linux, Computer algebra system software for Windows, so understanding it makes those chapters shorter.
In everyday life
Look for Maxima (software) outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Maxima (software) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Maxima (software) means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Maxima (software) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Maxima (software) in simple terms?

Maxima () is a free and open source software software package for performing computer algebra calculations in mathematics and the physical sciences. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android.

Why does Maxima (software) matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Maxima (software)?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Maxima (software).

Tags

  • Common Lisp (programming language) software
  • Computer algebra system software for Linux
  • Computer algebra system software for Windows
  • Computer algebra system software for macOS
  • Computer algebra systems
  • Cross-platform free software
  • Free computer algebra systems
  • Free educational software
  • Free software programmed in Lisp
  • Software that uses wxWidgets
  • Software using the GNU General Public License

Keep exploring