Maple (software)
Maple interface
 
Developer(s)  Waterloo Maple (Maplesoft) 

Initial release  1982 
Stable release  2018
/ 21 March 2018

Written in  C, Java, Maple 
Platform  Windows (7, 8 and 10), macOS, Linux 
Available in  English, Japanese, and limited support in additional languages^{[1]} 
Type  Computer algebra system, Numeric computation 
License  Proprietary commercial software 
Website  www.maplesoft.com/products/maple/ 
Maple is a symbolic and numeric computing environment, and is also a multiparadigm programming language.
Developed by Maplesoft, Maple also covers other aspects of technical computing, including visualization, data analysis, matrix computation, and connectivity.
A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.
Contents
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 dynamically typed imperativestyle programming language which resembles Pascal.^{[2]} The language permits variables of lexical scope. There are also interfaces to other languages (C, C#, Fortran, Java, MATLAB, and Visual Basic). There is also an interface to Excel.
Maple supports MathML 2.0, a W3C format for representing and interpreting mathematical expressions, including their display in Web pages.^{[3]}
Architecture
Maple is based on a small kernel, written in C, which provides the Maple language. Most functionality is provided by libraries, which come from a variety of sources. Most of the libraries are written in the Maple language; these have viewable source code. Many numerical computations are performed by the NAG Numerical Libraries, ATLAS libraries, or GMP libraries.
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 November 1980 at the University of Waterloo. Researchers at the university wished to purchase a computer powerful enough to run Macsyma. Instead, it was decided that they would develop their own computer algebra system that would be able to run on lower cost computers. The first limited version appearing in December 1980 with Maple demonstrated first at conferences beginning in 1982. The name is a reference to Maple's Canadian heritage. By the end of 1983, over 50 universities had copies of Maple installed on their machines.
In 1984, the research group arranged with Watcom Products Inc to license and distribute the first commercially available version, Maple 3.3.^{[4]} In 1988 Waterloo Maple Inc. was founded. The company’s original goal was to manage the distribution of the software. Eventually, the company evolved to have an R&D department where most of Maple's development is done today with the rest done at university research labs worldwide including: the Symbolic Computation Laboratory at the University of Waterloo and the Ontario Research Centre for Computer Algebra at the University of Western Ontario^{[who?]}.
In 1989, the first graphical user interface for Maple was developed and included with version 4.3 for the Macintosh. X11 and Windows versions of the new interface followed in 1990 with Maple V. In 1992, Maple V Release 2 introduced the Maple "worksheet" that combined text, graphics, and input and typeset output.^{[5]} In 1994 a special issue of a newsletter created by Maple developers called MapleTech was published.^{[6]}
In 1999, with the release of Maple 6, Maple included some of the NAG Numerical Libraries.^{[7]} In 2003, the current "standard" interface was introduced with Maple 9. This interface is primarily written in Java (although portions, such as the rules for typesetting mathematical formulae, are written in the Maple language). The Java interface was criticized for being slow;^{[8]} improvements have been made in later versions, although the Maple 11 documentation^{[9]} recommends the previous ("classic") interface for users with less than 500 MB of physical memory.
Between the mid 1995 and 2005 Maple lost significant market share to competitors due to a weaker user interface.^{[10]} In 2005, Maple 10 introduced a new "document mode", as part of the standard interface that it has been further developed over the following years.
In September 2009 Maple and Maplesoft were acquired by the Japanese software retailer Cybernet Systems.
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^{[11]}
 Maple 13.01: July, 2009
 Maple 13.02: October, 2009
 Maple 14: April 29, 2010^{[12]}
 Maple 14.01: October 28, 2010
 Maple 15: April 13, 2011^{[13]}
 Maple 15.01: June 21, 2011
 Maple 16: March 28, 2012^{[14]}
 Maple 16.01: May 16, 2012
 Maple 17: March 13, 2013^{[15]}
 Maple 17.01: July, 2013
 Maple 18: Mar 5, 2014^{[16]}
 Maple 18.01: May, 2014
 Maple 18.01a: July, 2014
 Maple 18.02: Nov, 2014
 Maple 2015.0: Mar 4, 2015^{[17]}
 Maple 2015.1: Nov, 2015
 Maple 2016.0: March 2, 2016^{[18]}
 Maple 2016.1: April 20, 2016
 Maple 2016.1a: April 27, 2016
 Maple 2017.0: May 25, 2017^{[19]}
 Maple 2017.1: June 28, 2017
 Maple 2017.2: August 2, 2017
 Maple 2017.3: October 3, 2017
 Maple 2018.0: March 21, 2018^{[20]}
Features
Features of Maple include:^{[21]}
 Support for symbolic and numeric computation with arbitrary precision
 Elementary and special mathematical function libraries
 Complex numbers and interval arithmetic
 Arithmetic, greatest common divisors and factorization for multivariate polynomials over the rationals, finite fields, algebraic number fields, and algebraic function fields
 Limits, series and asymptotic expansions
 Groebner bases
 Differential Algebra
 Matrix manipulation tools including support for sparse arrays
 Mathematical function graphing and animation tools
 Solvers for systems of equations, diophantine equations, ODEs, PDEs, DAEs, DDEs and recurrence relations
 Numeric and symbolic tools for discrete and continuous calculus including definite and indefinite integration, definite and indefinite summation, automatic differentiation and continuous and discrete integral transforms
 Constrained and unconstrained local and global optimization
 Statistics including model fitting, hypothesis testing, and probability distributions
 Tools for data manipulation, visualization and analysis
 Tools for probability and combinatoric problems
 Support for timeseries 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 text mining including regular expressions
 Tools for signal processing and linear and nonlinear 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 objectoriented constructs
 Tools for adding user interfaces to calculations and applications
 Tools for connecting to SQL, Java, .NET, C++, Fortran and http
 Tools for generating code for C, C#, Fortran, Java, JavaScript, Julia, Matlab, Perl, Python, R, and Visual Basic
 Tools for parallel programming
Examples of Maple code
Sample imperative programming constructs:
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);
Answer:
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 equation numerically
High order polynomial equation
f := x^5388*x^53*x5 = 0
fsolve(f)
1.097486315, .5226535640, 1.099074017
Solve equation set
f := (cos(x+y))^2 + exp(x)*y+cot(xy)+cosh(z+x) = 0:
g := x^5  8*y = 2:
h := x+3*y77*z=55;
fsolve( {f,g,h} );
{x = 1.543352313, y = 1.344549481, z = .7867142955}
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 = .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);
 Flythrough animation of 3D plots.^{[22]}
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/(sa),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 Maplesoft:
 Moebius, DigitalEd’s online testing suite, uses Maple to algorithmically generate questions and grade student responses.
 MapleNet allows users to create JSP pages and Java Applets. MapleNet 12 and above also allow users to upload and work with Maple worksheets containing interactive components.
 MapleSim, an engineering simulation tool.^{[23]}
Listed below are thirdparty commercial products that no longer use the Maple engine:
 Versions of Mathcad released between 1994 and 2006 included a Maplederived 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).^{[24]}
 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
 ^ "International Language Support in Maple". Maplesoft. Retrieved 2 June 2016.
 ^ Power of two Bitwise Magazine
 ^ http://www.maplesoft.com/standards/MathML/info.html
 ^ History of Maple Alexander F. Walz, 1998
 ^ Maple V Release 2 Notes Maplesoft
 ^ MapleTech Special Issue, BirkhäuserBoston, (1994)
 ^ Maple 6.0 Macworld, Feb 2001
 ^ Capturing knowledge with pure maths, Scientific Computing World.
 ^ Maple 11 Installation Guide Maplesoft
 ^ Interview with Gaston Gonnet, cocreator of Maple Archived 20071229 at the Wayback Machine., SIAM History of Numerical Analysis and Computing, 16 March 2005
 ^ "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.
 ^ Maple Product Features Page
 ^ Using the New Flythrough Feature in Maple 13 Maplesoft
 ^ Mahmud, Khizir; Town, Graham E. (June 2016). "A review of computer tools for modeling electric vehicle energy requirements and their impact on power distribution networks". Applied Energy. 172: 337–359. doi:10.1016/j.apenergy.2016.03.100.
 ^ "Release Notes for Symbolic Math Toolbox". MathWorks. Retrieved 10 July 2014.
External links
Wikimedia Commons has media related to Maple (software). 
Wikibooks has a book on the topic of: Maple 
 Maplesoft, division of Waterloo Maple, Inc. – official website
 Maple Online Help – online documentation
 MaplePrimes – a community website for Maple users
 MapleCloud – an online Maple application viewer
 C software
 Computational notebook
 Computer algebra system software for Linux
 Computer algebra system software for MacOS
 Computer algebra system software for Windows
 Crossplatform software
 Data visualization software
 Datacentric programming languages
 Econometrics software
 Functional languages
 IRIX software
 Linear algebra
 Maplesoft
 Mathematical optimization software
 Mathematical software
 Numerical analysis software for Linux
 Numerical analysis software for MacOS
 Numerical analysis software for Windows
 Numerical programming languages
 Numerical software
 Parallel computing
 Physics software
 Plotting software
 Products introduced in 1982
 Proprietary commercial software for Linux
 Proprietary crossplatform software
 Regression and curve fitting software
 Software modeling language
 Statistical programming languages