411 REFERENCE · Wikibooks
What is Maxima and what is it useful for
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Maxima belongs to the category of computer software applications known as computer algebra systems - or CAS.
Within this category of applications, it is "general purpose" in that it is not dedicated to any specific mathematical topic of study or application. However, within that general-purpose category there is a sense in which it is a special-purpose application in that, while significant numerical computational capabilities are possible, the primary emphasis is on processing "symbolic" mathematical expressions using syntax for expression composition for input that conforms to that which Maxima can parse, interpret, and process.
So, to state it briefly, Maxima is primarily an application for processing symbolic mathematical expressions according to the purpose of the user using syntax Maxima can parse and interpret.
In general, Maxima expressions fall into three categories:
Mathematical expressions
Object expressions
Programming expressions
Mathematical expressions are for doing things that simply are essentially of a mathematical nature. Object expressions are used to create data structures for storage. Programming expressions provide the capability for some types of imperative or functional programming instructions.
Thus, Maxima is not strictly a programming language like Python, Julia, Java, C, and so forth. The differences between Maxima as a CAS, and other programming languages should become evident from the contents of this document and, even better, with the actual experience of using Maxima to accomplish specific mathematical tasks.
Getting started using Maxima will be much easier if the user begins with a particular frame of mind. Almost everything Maxima is an expression of some type. Expressions are what Maxima is all about - especially mathematical symbolic expressions. If numbers can be considered as represented symbolically by numeration (integers, fractions, decimal or floating point literals) then it is not an exaggeration to characterize everything Maxima can do as symbolic processing.
The following is a list of a few examples (certainly not all) of what Maxima can be used for:
Solve algebraic equations symbolically or numerically
Solve ordinary differential equations
Matrix creation and operations
Calculus - limits, differentiation, integration
Expansion, factoring, and simplification of expressions
Rational numbers as fractions, and "big" floating point numbers to specified precision
Complex numbers
Trigonometric expressions
Plotting - 2D and 3D with some animation