Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Maxima (software)

From Wikipedia, the free encyclopedia
Computer algebra system
Maxima
Screenshot of Maxima, plotting the 2D graph of a function with the gnuplot-x11 package running on Ubuntu Linux
DevelopersMacsyma group atProject MAC and volunteer contributors
Initial release1982; 44 years ago (1982)
Stable release
5.48.1[1] Edit this on Wikidata / 6 August 2025; 6 months ago (6 August 2025)
Written inCommon Lisp
Operating systemCross-platform
TypeMathematical software
LicenseGPL
Websitemaxima.sourceforge.io
Repository

Maxima (/ˈmæksɪmə/) is a software package for performingcomputer algebra calculations in mathematics and the physical sciences. It is written inCommon Lisp and runs on allPOSIX platforms such asmacOS,Unix,BSD, andLinux, as well as underMicrosoft Windows andAndroid. It isfree software released under the terms of theGNU General Public License (GPL).

History

[edit]

Maxima is based on a 1982 version ofMacsyma, which was developed atMIT with funding from theUnited States Department of Energy and other government agencies. A version of Macsyma was maintained byBill 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 inGoogle Summer of Code in 2019 underInternational Neuroinformatics Coordinating Facility.[2]

Symbolic calculations

[edit]

Like most computer algebra systems, Maxima supports a variety of ways of reorganizing symbolic algebraic expressions, such aspolynomial 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 symbolicantiderivatives ("indefinite integrals"),definite integrals, andlimits. It can derive closed-formseries expansions as well as terms ofTaylor-Maclaurin-Laurent series. It can perform matrix manipulations with symbolic entries.

Maxima is a general-purpose system, and special-case calculations such asfactorization of large numbers, manipulation of extremely largepolynomials, etc. are sometimes better done in specialized systems.

Numeric calculations

[edit]

Maxima specializes insymbolic operations, but it also offers numerical capabilities[3] such asarbitrary-precisioninteger,rational number, andfloating-point numbers, limited only by space and time constraints.

Programming

[edit]

Maxima includes a complete programming language withALGOL-like syntax butLisp-likesemantics. It is written inCommon Lisp and can be accessed programmatically and extended, as the underlying Lisp can be called from Maxima. It usesgnuplot for drawing.

For calculations using floating point and arrays heavily, Maxima has translators from the Maxima language to other programming languages (notablyFortran), which may execute more efficiently.

Interfaces

[edit]
Screenshot of the wxMaxima interface for Maxima

Variousgraphical user interfaces (GUIs) for Maxima are:

  • wxMaxima[4] is high-quality graphical front-end using thewxWidgets 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 forProject Jupyter, a flexible,notebook-style GUI written inPython.[5]
  • Cantor, usingQt, can interface with Maxima (along withSageMath,R, andKAlgebra)[6]
  • TheGNU TeXmacs andLyX 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 anEmacs andXEmacs interaction mode which is activated by Imaxima.
  • Climaxima[7] is aCLIM-based front-end.[8]

Examples of Maxima code

[edit]

Basic operations

[edit]

Arbitrary-precision arithmetic

[edit]
bfloat(sqrt(2)),fpprec=40;

Function

[edit]
f(x):=x^3$f(4);

64{\displaystyle 64}

Expand

[edit]
expand((a-b)^3);

b3+3ab23a2b+a3{\displaystyle -b^{3}+3ab^{2}-3a^{2}b+a^{3}}

Factor

[edit]
factor(x^2-1);

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

Solving equations

[edit]

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

solve(x^2+a*x+1,x);

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

Solving equations numerically

[edit]

cosx=x{\displaystyle \cos x=x}

find_root(cos(x)=x,x,0,1);

0.7390851332151607{\displaystyle 0.7390851332151607}

bf_find_root(cos(x)=x,x,0,1),fpprec=50;

7.3908513321516064165531208767387340401341175890076101{\displaystyle 7.3908513321516064165531208767387340401341175890076\cdot 10^{-1}}

Indefinite integral

[edit]

x2+cosx dx{\displaystyle \int x^{2}+\cos x\ dx}

integrate(x^2+cos(x),x);

sinx+x33{\displaystyle \sin x+{\frac {x^{3}}{3}}}

Definite integral

[edit]

011x3+1dx{\displaystyle \int _{0}^{1}{\frac {1}{x^{3}+1}}\,dx}

integrate(1/(x^3+1),x,0,1),ratsimp;

3log2+π332{\displaystyle {\frac {{\sqrt {3}}\log 2+\pi }{3^{\frac {3}{2}}}}}

Numerical integral

[edit]

02sin(sin(x))dx{\displaystyle \int _{0}^{2}\sin(\sin(x))\,dx}

quad_qags(sin(sin(x)),x,0,2)[1];

1.247056058244003{\displaystyle 1.247056058244003}

Derivative

[edit]

d3dx3cos2x{\displaystyle {d^{3} \over dx^{3}}\cos ^{2}x}

diff(cos(x)^2,x,3);

8cosxsinx{\displaystyle 8\cos {x}\sin {x}}

Limit

[edit]

limx1+sinhxex{\displaystyle \lim _{x\to \infty }{\frac {1+\sinh {x}}{e^{x}}}}

limit((1+sinh(x))/exp(x),x,inf);

12{\displaystyle {\frac {1}{2}}}

Number theory

[edit]
primes(10,20);

[11,13,17,19]{\displaystyle [11,13,17,19]}

fib(10);

55{\displaystyle 55}

Series

[edit]

x=11x2{\displaystyle \sum _{x=1}^{\infty }{\frac {1}{x^{2}}}}

sum(1/x^2,x,1,inf),simpsum;

π26{\displaystyle {\frac {\pi ^{2}}{6}}}

Series expansion

[edit]
taylor(sin(x),x,0,9);

xx36+x5120x75040+x9362880{\displaystyle x-{\frac {x^{3}}{6}}+{\frac {x^{5}}{120}}-{\frac {x^{7}}{5040}}+{\frac {x^{9}}{362880}}}

niceindices(powerseries(cos(x),x,0));

i=0(1)ix2i(2i)!{\displaystyle \sum _{i=0}^{\infty }{\frac {(-1)^{i}x^{2i}}{(2i)!}}}

Special functions

[edit]
bessel_j(0,4.5);

0.3205425089851214{\displaystyle -0.3205425089851214}

airy_ai(1.5);

0.07174949700810543{\displaystyle 0.07174949700810543}

See also

[edit]

References

[edit]
  1. ^"Announcing Maxima 5.48.1". 6 August 2025. Retrieved12 November 2025.
  2. ^"GSOC 2019 completed successfully » Belgian Neuroinformatics".
  3. ^Barnes, David J. & Chu, Dominique (2010). "Chapter 5".Introduction to Modeling for Biosciences.Springer.ISBN 978-1-84996-325-1.
  4. ^"wxMaxima, a document based interface for the computer algebra system Maxima". Retrieved2021-11-29.
  5. ^"Maxima-Jupyter".GitHub. 13 October 2021.
  6. ^"Cantor".cantor.kde.org. Retrieved2020-01-15.
  7. ^"Flathub—An app store and build service for Linux".flathub.org. Retrieved2019-09-27.
  8. ^Mårtenson, Elias (2019-08-27),GitHub - lokedhs/maxima-client: Maxima client., retrieved2019-09-27

Further reading

[edit]
  • Timberlake, Todd Keene; Mixon Jr., J. Wilson (2015).Classical Mechanics with Maxima. Springer.ISBN 978-1-4939-3206-1.

External links

[edit]
Wikibooks has a book on the topic of:Maxima
Wikimedia Commons has media related toMaxima (software).
Open-source
Proprietary
Discontinued
Free
Discontinued
Proprietary
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Maxima_(software)&oldid=1331701083"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp