Maple (software)
Developer(s) | Waterloo Maple (Maplesoft) |
---|---|
Initial release | 1982 |
Stable release | 2024 (6 March 2024[±]^{[1]}
) |
Written in | Numeric computation |
License | Proprietary commercial software |
Website | www |
Maple is a
Maple's capacity for symbolic computing include those of a general-purpose computer algebra system. For instance, it can manipulate mathematical expressions and find symbolic solutions to certain problems, such as those arising from ordinary and partial
Maple is developed commercially by the Canadian software company
Overview
Core functionality
Users can enter mathematics in traditional mathematical notation. Custom user interfaces can also be created. There is support for numeric computations, to arbitrary precision, as well as symbolic computation and visualization. Examples of symbolic computations are given below.
Maple incorporates a
Maple supports
Architecture
Maple is based on a small
Different functionality in Maple requires numerical data in different formats. Symbolic expressions are stored in memory as directed acyclic graphs. The standard interface and calculator interface are written in Java.
History
The first concept of Maple arose from a meeting in late 1980 at the University of Waterloo.^{[5]} Researchers at the university wished to purchase a computer powerful enough to run the Lisp-based computer algebra system Macsyma. Instead, they opted to develop their own computer algebra system, named Maple, that would run on lower cost computers. Aiming for portability, they began writing Maple in programming languages from the BCPL family (initially using a subset of B and C, and later on only C).^{[5]} A first limited version appeared after three weeks, and fuller versions entered mainstream use beginning in 1982.^{[6]} By the end of 1983, over 50 universities had copies of Maple installed on their machines.^{[citation needed]}
In 1984, the research group arranged with
In 1989, the first graphical user interface for Maple was developed and included with version 4.3 for the
In 1999, with the release of Maple 6, Maple included some of the
Between 1995 and 2005 Maple lost significant market share to competitors due to a weaker user interface.^{}[13] With Maple 10 in 2005, Maple introduced a new "document mode" interface, which has since been further developed across several releases.
In September 2009 Maple and Maplesoft were acquired by the Japanese software retailer Cybernet Systems.^{[14]}
Version history
- Maple 1.0: January, 1982
- Maple 1.1: January, 1982
- Maple 2.0: May, 1982
- Maple 2.1: June, 1982
- Maple 2.15: August, 1982
- Maple 2.2: December, 1982
- Maple 3.0: May, 1983
- Maple 3.1: October, 1983
- Maple 3.2: April, 1984
- Maple 3.3: March, 1985 (first public available version)
- Maple 4.0: April, 1986
- Maple 4.1: May, 1987
- Maple 4.2: December, 1987
- Maple 4.3: March, 1989
- Maple V: August, 1990
- Maple V R2: November 1992
- Maple V R3: March 15, 1994
- Maple V R4: January, 1996
- Maple V R5: November 1, 1997
- Maple 6: December 6, 1999
- Maple 7: July 1, 2001
- Maple 8: April 16, 2002
- Maple 9: June 30, 2003
- Maple 9.5: April 15, 2004
- Maple 10: May 10, 2005
- Maple 11: February 21, 2007
- Maple 11.01: July, 2007
- Maple 11.02: November, 2007
- Maple 12: May, 2008
- Maple 12.01: October, 2008
- Maple 12.02: December, 2008
- Maple 13: April 28, 2009^{[15]}
- Maple 13.01: July, 2009
- Maple 13.02: October, 2009
- Maple 14: April 29, 2010^{[16]}
- Maple 14.01: October 28, 2010
- Maple 15: April 13, 2011^{[17]}
- Maple 15.01: June 21, 2011
- Maple 16: March 28, 2012^{[18]}
- Maple 16.01: May 16, 2012
- Maple 17: March 13, 2013^{[19]}
- Maple 17.01: July, 2013
- Maple 18: Mar 5, 2014^{[20]}
- Maple 18.01: May, 2014
- Maple 18.01a: July, 2014
- Maple 18.02: Nov, 2014
- Maple 2015.0: Mar 4, 2015^{[21]}
- Maple 2015.1: Nov, 2015
- Maple 2016.0: March 2, 2016^{[22]}
- Maple 2016.1: April 20, 2016
- Maple 2016.1a: April 27, 2016
- Maple 2017.0: May 25, 2017^{[23]}
- Maple 2017.1: June 28, 2017
- Maple 2017.2: August 2, 2017
- Maple 2017.3: October 3, 2017
- Maple 2018.0: March 21, 2018^{[24]}
- Maple 2019.0: March 14, 2019^{[25]}
- Maple 2020.0: March 12, 2020^{[26]}
- Maple 2021.0: March 10, 2021^{[27]}
- Maple 2022.0: March 15, 2022^{[28]}
- Maple 2023.0: March 9, 2023^{[29]}
Features
Features of Maple include:^{[30]}
- Support for symbolic and numeric computation with arbitrary precision
- Elementary and special mathematical function libraries
- Complex numbers and interval arithmetic
- Arithmetic, multivariate polynomials over the rationals, finite fields, algebraic number fields, and algebraic function fields
- Limits, series and asymptotic expansions
- Gröbner basis
- Differential Algebra
- sparse arrays
- Mathematical function graphingand animation tools
- Solvers for DAEs, DDEs and recurrence relations
- Numeric and symbolic tools for discrete and continuous indefinite integration, definite and indefinite summation, automatic differentiation and continuous and discrete integral transforms
- Constrained and unconstrained local and global optimization
- hypothesis testing, and probability distributions
- Tools for data manipulation, visualization and analysis
- Tools for probability and combinatoricproblems
- Support for time-series and unit based data
- Connection to online collection of financial and economic data
- Tools for financial calculations including bonds, annuities, derivatives, options etc.
- Calculations and simulations on random processes
- Tools for regular expressions
- Tools for signal processing and linear and non-linear control systems
- Discrete math tools including number theory
- Tools for visualizing and analysing directed and undirected graphs
- Group theory including permutation and finitely presented groups
- Symbolic tensor functions
- Import and export filters for data, image, sound, CAD, and document formats
- Technical word processing including formula editing
- Programming language supporting procedural, functional and object-oriented constructs
- Tools for adding user interfaces to calculations and applications
- Tools for connecting to http
- Tools for generating code for
- Tools for parallel programming
Examples of Maple code
The following code, which computes the factorial of a nonnegative integer, is an example of an imperative programming construct within Maple:
myfac := proc(n::nonnegint)
local out, i;
out := 1;
for i from 2 to n do
out := out * i
end do;
out
end proc;
Simple functions can also be defined using the "maps to" arrow notation:
myfac := n -> product(i, i = 1..n);
Integration
Find
- .
int(cos(x/a), x);
Output:
Determinant
Compute the determinant of a matrix.
M := Matrix([[1,2,3], [a,b,c], [x,y,z]]); # example Matrix
LinearAlgebra:-Determinant(M);
Series expansion
series(tanh(x), x = 0, 15)
Solve equations numerically
The following code numerically calculates the roots of a high-order polynomial:
f := x^53-88*x^5-3*x-5 = 0
fsolve(f)
-1.097486315, -.5226535640, 1.099074017
The same command can also solve systems of equations:
f := (cos(x+y))^2 + exp(x)*y+cot(x-y)+cosh(z+x) = 0:
g := x^5 - 8*y = 2:
h := x+3*y-77*z=55;
fsolve( {f,g,h} );
{x = -2.080507182, y = -5.122547821, z = -0.9408850733}
Plotting of function of single variable
Plot with ranging from -10 to 10:
plot(x*sin(x), x = -10..10);
Plotting of function of two variables
Plot with and ranging from -1 to 1:
plot3d(x^2+y^2, x = -1..1, y = -1..1);
Animation of functions
- Animation of function of two variables
plots:-animate(subs(k = 0.5, f), x=-30..30, t=-10..10, numpoints=200, frames=50, color=red, thickness=3);
- Animation of functions of three variables
plots:-animate3d(cos(t*x)*sin(3*t*y), x=-Pi..Pi, y=-Pi..Pi, t=1..2);
- Fly-through animation of 3-D plots.^{[31]}
M := Matrix([[400,400,200], [100,100,-400], [1,1,1]], datatype=float[8]):
plot3d(1, x=0..2*Pi, y=0..Pi, axes=none, coords=spherical, viewpoint=[path=M]);
Laplace transform
f := (1+A*t+B*t^2)*exp(c*t);
inttrans:-laplace(f, t, s);
- inverse Laplace transform
inttrans:-invlaplace(1/(s-a), s, x);
Fourier transform
inttrans:-fourier(sin(x), x, w)
Integral equations
Find functions that satisfy the integral equation
- .
eqn:= f(x)-3*Int((x*y+x^2*y^2)*f(y), y=-1..1) = h(x):
intsolve(eqn,f(x));
Use of the Maple engine
The Maple engine is used within several other products from
- MapleNet allows users to create Applets. MapleNet 12 and above also allow users to upload and work with Maple worksheetscontaining interactive components.
- MapleSim, an engineering simulation tool.^{[32]}
- Maple Quantum Chemistry Package from RDMChem computes and visualizes the electronic energies and properties of molecules.^{[33]}
Listed below are third-party commercial products that no longer use the Maple engine:
- Versions of Mathcad released between 1994 and 2006 included a Maple-derived algebra engine (MKM, aka Mathsoft Kernel Maple), though subsequent versions use MuPAD.
- Symbolic Math Toolbox in MATLAB contained a portion of the Maple 10 engine, but now uses MuPAD (starting with MATLAB R2007b+ release).^{[34]}
- Older versions of the mathematical editor Scientific Workplace included Maple as a computational engine, though current versions include MuPAD.
See also
- Comparison of computer algebra systems
- Comparison of numerical-analysis software
- Comparison of programming languages
- Comparison of statistical packages
- List of computer algebra systems
- List of computer simulation software
- List of graphing software
- List of numerical-analysis software
- Mathematical software
- SageMath (an open source algebra program)
References
- ^ "Maplesoft Media Releases". www.maplesoft.com. Retrieved 2024-05-12.
- Maplesoft. Retrieved 2 June 2016.
- ^ Power of two Archived 2010-07-06 at the Wayback Machine Bitwise Magazine
- ^ "Welcome to the Maplesoft MathML Home Page". www.maplesoft.com.
- ^ PMID 30174551.
- ^ ^{a} ^{b} "History of Maple". 1998-12-15. Retrieved 2020-04-06.
- ^ Two such university labs are the Symbolic Computation Group at the University of Waterloo and the Ontario Research Centre for Computer Algebra at the University of Western Ontario
- ^ Maple V Release 2 Notes Maplesoft
- ^ "MTN Special Issue 1994". web.mit.edu.
- ^ Maple 6.0 Archived 2008-06-18 at the Wayback Machine Macworld, Feb 2001
- ^ Capturing knowledge with pure maths, Scientific Computing World.
- ^ Maple 11 Installation Guide Maplesoft
- ^ Interview with Gaston Gonnet, co-creator of Maple Archived 2007-12-29 at the Wayback Machine, SIAM History of Numerical Analysis and Computing, 16 March 2005
- ^ "Maplesoft Media Releases". www.maplesoft.com.
- ^ "MaplePrimes Blog - Maple 13 and MapleSim 2 now available". Retrieved 28 Apr 2009.
- ^ "MaplePrimes Blog - Announcing Maple 14 and MapleSim 4". Retrieved 29 Apr 2010.
- ^ "MaplePrimes Blog - Introducing Maple 15". Retrieved 11 Apr 2011.
- ^ "MaplePrimes Blog - Maple 16 is here". Retrieved 28 Mar 2012.
- ^ "MaplePrimes Blog - Introducing Maple 17". Retrieved 13 Mar 2013.
- ^ "MaplePrimes Blog - Announcing Maple 18". Retrieved 5 Mar 2014.
- ^ "MaplePrimes Blog - Maple 2015 is now available!". Retrieved 4 Mar 2015.
- ^ "MaplePrimes Blog - Announcing Maple 2016". Retrieved 2 Mar 2016.
- ^ "MaplePrimes Blog - Announcing Maple 2017". Retrieved 25 May 2017.
- ^ "MaplePrimes Blog - Maple 2018 is here!". Retrieved 21 Mar 2018.
- ^ "MaplePrimes Blog - Announcing Maple 2019". Retrieved 14 Mar 2019.
- ^ "MaplePrimes Blog - Maple 2020 has launched!". Retrieved 20 Mar 2020.
- ^ "MaplePrimes Blog - Unveiling Maple 2021". Retrieved 2 Mar 2024.
- ^ "MaplePrimes Blog - Unboxing Maple 2022". Retrieved 2 Mar 2024.
- ^ "MaplePrimes Blog - Maple 2023 is here!". Retrieved 2 Mar 2024.
- ^ "What is Maple: Product Features - Math & Engineering Software - Maplesoft". www.maplesoft.com.
- ^ Using the New Fly-through Feature in Maple 13 Maplesoft
- .
- ^ "MaplePrimes Blog - Introducing the Maple Quantum Chemistry Toolbox". Retrieved 6 May 2019.
- ^ "Release Notes for Symbolic Math Toolbox". MathWorks. Retrieved 10 July 2014.
External links
- Maplesoft, division of Waterloo Maple, Inc. – official website