Maple (software)
Encyclopedia
Maple is a general-purpose commercial computer algebra system
. It was first developed in 1980 by the Symbolic Computation Group at the University of Waterloo
in Waterloo, Ontario
, Canada
.
Since 1988, it has been developed and sold commercially by Waterloo Maple Inc.
(also known as Maplesoft), a Canadian
company also based in Waterloo, Ontario. The current major version is version 15 which was released in April 2011.
Maple incorporates a dynamically typed imperative-style programming language
which resembles Pascal
. 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 with Excel
.
Maple supports MathML
2.0, a W3C format for representing and interpreting mathematical expressions, including their display in Web pages.
, which provides the Maple language. Most functionality is provided by libraries, which come from a variety of sources. Many numerical computations are performed by the NAG Numerical Libraries
, ATLAS
libraries, or GMP
libraries. Most of the libraries are written in the Maple language; these have viewable source code.
Different functionality in Maple requires numerical data in different formats. Symbolic expressions are stored in memory as directed acyclic graph
s. The standard interface and calculator interface are written in Java
. The classic interface is written in C
.
constructs:
Simple functions can also be defined using the "maps to" arrow notation:
myfac := n -> product( i, i=1..n );
int(cos(x/a), x);
Answer:
----
dsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=0, D(y)(0)=2}, y(x) );
Answer:
----
evalf[75](RootOf(exp(x)=x^2+2,x,-1));
Answer:
----
solve({x-y > 6, (x+y)^5 = 9}, [x, y])[];
Answer:
----
M:= Matrix(1,2,3], [a,b,c], [x,y,z ); # example Matrix
Computer algebra system
A computer algebra system is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form.-Symbolic manipulations:...
. It was first developed in 1980 by the Symbolic Computation Group at the University of Waterloo
University of Waterloo
The University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...
in Waterloo, Ontario
Waterloo, Ontario
Waterloo is a city in Southern Ontario, Canada. It is the smallest of the three cities in the Regional Municipality of Waterloo, and is adjacent to the city of Kitchener....
, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...
.
Since 1988, it has been developed and sold commercially by Waterloo Maple Inc.
Waterloo Maple
Waterloo Maple Inc. is a Canadian software company, headquartered in Waterloo, Ontario. It operates under the trading name Maplesoft and is best known as the manufacturer of the Maple computer algebra system and MapleSim physical modeling and simulation software.-Corporate history:Waterloo Maple Inc...
(also known as Maplesoft), a Canadian
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...
company also based in Waterloo, Ontario. The current major version is version 15 which was released in April 2011.
Core functionality
Users can enter mathematics in traditional mathematical notation. Custom user interfaces can also be created. There is extensive 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 imperative-style programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
which resembles Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...
. The language permits variables of lexical scope
Scope (programming)
In computer programming, scope is an enclosing context where values and expressions are associated. Various programming languages have various types of scopes. The type of scope determines what kind of entities it can contain and how it affects them—or semantics...
. There are also interfaces to other languages (C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, C#, Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
, and Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
). There is also an interface with Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...
.
Maple supports MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...
2.0, a W3C format for representing and interpreting mathematical expressions, including their display in Web pages.
Architecture
Maple is based on a small kernel, written in CC (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, which provides the Maple language. Most functionality is provided by libraries, which come from a variety of sources. Many numerical computations are performed by the NAG Numerical Libraries
NAG Numerical Libraries
NAG Numerical Libraries is a software product sold by The Numerical Algorithms Group Ltd . The product is a software library of numerical analysis routines. It comprises a collection of 1500 mathematical and statistical algorithms. Areas covered include linear algebra, optimization, quadrature,...
, ATLAS
Automatically Tuned Linear Algebra Software
Automatically Tuned Linear Algebra Software is a software library for linear algebra. It provides a mature open source implementation of BLAS APIs for C and Fortran77....
libraries, or GMP
GNU Multi-Precision Library
The GNU Multiple Precision Arithmetic Library, also known as GMP, is a free library for arbitrary-precision arithmetic, operating on signed integers, rational numbers, and floating point numbers...
libraries. Most of the libraries are written in the Maple language; these have viewable source code.
Different functionality in Maple requires numerical data in different formats. Symbolic expressions are stored in memory as directed acyclic graph
Directed acyclic graph
In mathematics and computer science, a directed acyclic graph , is a directed graph with no directed cycles. That is, it is formed by a collection of vertices and directed edges, each edge connecting one vertex to another, such that there is no way to start at some vertex v and follow a sequence of...
s. The standard interface and calculator interface are written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. The classic interface is written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
.
Examples of Maple code
Sample imperative programmingImperative programming
In computer science, imperative programming is a programming paradigm that describes computation in terms of statements that change a program state...
constructs:
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:
----
Solution of linear differential equations
Compute an exact solution to the linear ordinary differential equation subject to initial conditionsdsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=0, D(y)(0)=2}, y(x) );
Answer:
----
Root finding
Numerically calculate the root of the equation starting at the point ; evaluate the answer to 75 decimal digits.evalf[75](RootOf(exp(x)=x^2+2,x,-1));
Answer:
----
Solving equations and inequalities
Find all solutions of subject to .solve({x-y > 6, (x+y)^5 = 9}, [x, y])[];
Answer:
----
Determinant
Compute the determinant of a matrix.M:= Matrix(
-
LinearAlgebra:-Determinant(M);
Answer:
----
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);
----
System of partial differential equations
Solve the system of partial differential equationPartial differential equationIn mathematics, partial differential equations are a type of differential equation, i.e., a relation involving an unknown function of several independent variables and their partial derivatives with respect to those variables...
s
with .
eqn1:= diff(v(x, t), x) = -u(x,t)*v(x,t):
eqn2:= diff(v(x, t), t) = -v(x,t)*(diff(u(x,t), x))+v(x,t)*u(x,t)^2:
eqn3:= diff(u(x,t), t)+2*u(x,t)*(diff(u(x,t), x))-(diff(diff(u(x,t), x), x)) = 0:
pdsolve({eqn1,eqn2,eqn3,v(x,t)<>0},[u,v]): op(%);
Answer:
----
Integral equations
Find functions that satisfy the integral equationIntegral equationIn mathematics, an integral equation is an equation in which an unknown function appears under an integral sign. There is a close connection between differential and integral equations, and some problems may be formulated either way...
.
eqn:= f(x)-3*Integrate((x*y+x^2*y^2)*f(y), y=-1..1) = h(x):
intsolve(eqn,f(x));
Answer:
----
History
The first concept of Maple arose from a meeting in November 1980 at the University of WaterlooUniversity of WaterlooThe University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...
. Researchers at the university wished to purchase a computer powerful enough to run MacsymaMacsymaMacsyma is a computer algebra system that was originally developed from 1968 to 1982 at MIT as part of Project MAC and later marketed commercially...
. Instead, it was decided that they would develop their own computer algebra system that would be able to run on more reasonably priced 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 heritageFlag of CanadaThe national flag of Canada, also known as the Maple Leaf, and , is a red flag with a white square in its centre, featuring a stylized 11-pointed red maple leaf. Its adoption in 1965 marked the first time a national flag had been officially adopted in Canada to replace the Union Flag...
. 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 IncWatcomWatcom International Corporation was founded in 1981 by three former employees of the Computer Systems Group at the University of Waterloo, in Waterloo, Ontario, Canada...
to license and distribute Maple. In 1988 Waterloo MapleWaterloo MapleWaterloo Maple Inc. is a Canadian software company, headquartered in Waterloo, Ontario. It operates under the trading name Maplesoft and is best known as the manufacturer of the Maple computer algebra system and MapleSim physical modeling and simulation software.-Corporate history:Waterloo Maple Inc...
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 much of Maple's development is done today, but significant development of Maple continues at university research labs including: the Symbolic Computation Laboratory at the University of WaterlooUniversity of WaterlooThe University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...
; the Ontario Research Centre for Computer Algebra at the University of Western OntarioUniversity of Western OntarioThe University of Western Ontario is a public research university located in London, Ontario, Canada. The university's main campus covers of land, with the Thames River cutting through the eastern portion of the main campus. Western administers its programs through 12 different faculties and...
; and labs at other universities worldwide.
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. Maple was used in a number of notable applications in science and mathematics ranging from a demonstration of Fermat's Last TheoremFermat's Last TheoremIn number theory, Fermat's Last Theorem states that no three positive integers a, b, and c can satisfy the equation an + bn = cn for any integer value of n greater than two....
in number theory, to solutions in General RelativityGeneral relativityGeneral relativity or the general theory of relativity is the geometric theory of gravitation published by Albert Einstein in 1916. It is the current description of gravitation in modern physics...
and quantum mechanicsQuantum mechanicsQuantum mechanics, also known as quantum physics or quantum theory, is a branch of physics providing a mathematical description of much of the dual particle-like and wave-like behavior and interactions of energy and matter. It departs from classical mechanics primarily at the atomic and subatomic...
. These were showcased in a special issue of a newsletter created by Maple developers called MapleTech'.
In 1999, with the release of Maple 6, Maple included some of the NAG Numerical LibrariesNAG Numerical LibrariesNAG Numerical Libraries is a software product sold by The Numerical Algorithms Group Ltd . The product is a software library of numerical analysis routines. It comprises a collection of 1500 mathematical and statistical algorithms. Areas covered include linear algebra, optimization, quadrature,...
, and made improvements to arbitrary precision arithmetic.
In 2003, the current "standard" interface was introduced with Maple 9. This interface is primarily written in JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
(although portions, such as the rules for typesetting mathematical formulae, are written in the Maple language). The Java interface was criticized for being slow; improvements have been made in later versions, although the Maple 11 documentation recommends the previous (“classic”) interface for users with less than 500 MB of physical memory. This classic interface is no longer being maintained.
Between the mid 1995 and 2005 Maple lost significant market share to competitors due to a weaker user interface. In 2005, Maple 10 introduced a new “document mode”, as part of the standard interface. The main feature of this mode is that math is entered using two dimensional input, so that it appears similar to formulae in a book. In 2008, Maple 12 added additional user interface features found in Mathematica, including special purpose style sheets, control of headers and footers, bracket matching, auto execution regions, command completion templates, syntax checking and auto-initialization regions. Additional features were added for making Maple easier to use as a MATLAB toolbox.
In September 2009 Maple and Maplesoft were acquired by the Japanese software retailer Cybernet Systems.
Use of the Maple engine
The Maple engine is used within several other products from Maplesoft:- Maple T.A., MaplesoftWaterloo MapleWaterloo Maple Inc. is a Canadian software company, headquartered in Waterloo, Ontario. It operates under the trading name Maplesoft and is best known as the manufacturer of the Maple computer algebra system and MapleSim physical modeling and simulation software.-Corporate history:Waterloo Maple Inc...
’s online testing suite, uses Maple to algorithmically generate questions and grade student responses. - MapleNet allows users to create JSPJavaServer PagesJavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...
pages and JavaJava (programming language)Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
Applets. MapleNet 12 and above also allow users to upload and work with Maple worksheets containing interactive components. - Maple Reader, MaplesoftWaterloo MapleWaterloo Maple Inc. is a Canadian software company, headquartered in Waterloo, Ontario. It operates under the trading name Maplesoft and is best known as the manufacturer of the Maple computer algebra system and MapleSim physical modeling and simulation software.-Corporate history:Waterloo Maple Inc...
’s platform for DRMDigital rights managementDigital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...
-controlled electronic books uses the Standard Maple interface. There are currently no available books using this product. - MapleSimMapleSimMapleSim is a multi-domain modeling and simulation tool developed by Maplesoft. MapleSim generates model equations, runs simulations, and performs analyses using the symbolic and numeric mathematical engine of Maple...
, an engineering simulation tool.
Listed below are third-party commercial products that no longer use the Maple engine:- Versions of MathCadMathCadMathcad is computer software primarily intended for the verification, validation, documentation and re-use of engineering calculations. First introduced in 1986 on DOS, it was the first to introduce live editing of typeset mathematical notation, combined with its automatic computations...
released between 1994 and 2006 included a Maple-derived algebra engine (MKM, aka MathsoftMathsoftMathSoft was founded in 1984 by Allen Razdow and David Blohm to provide mathematical programs to students, teachers, and professionals. The company became most famous for its Mathcad software, a powerful application for solving and visualizing mathematical problems...
Kernel Maple), though subsequent versions use MuPADMuPADMuPAD is a computer algebra system . Originally developed by the MuPAD research group at the University of Paderborn, Germany, development was taken over by the company SciFace Software GmbH & Co...
. - Symbolic Math Toolbox in MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
contained a portion of the Maple 10 engine but now uses MuPADMuPADMuPAD is a computer algebra system . Originally developed by the MuPAD research group at the University of Paderborn, Germany, development was taken over by the company SciFace Software GmbH & Co...
. - Older versions of the mathematical editor Scientific WorkplaceScientific WorkPlaceScientific WorkPlace is a software package for scientific word processing on Microsoft Windows. It is shipped as a WYSIWYG LaTeX-based word processor, together with the LaTeX document preparation system and an optional computer algebra system.Scientific WorkPlace allows one to edit and typeset...
included Maple as a computational engine, though current versions include MuPADMuPADMuPAD is a computer algebra system . Originally developed by the MuPAD research group at the University of Paderborn, Germany, development was taken over by the company SciFace Software GmbH & Co...
.
Versions available
Maplesoft sells student, personal, academic and professional editions of Maple, with a substantial difference in price (US$99, $239cdn, US$1245, and US$2,275, respectively). Later student editions (from version 6 onwards) have not placed computational limitations, but rather come with less printed documentation when purchased as a physical product. There is no difference in the product when purchased as an electronic download. Since Maple 14, all versions include the Maple Toolbox for MATLAB®, which used to be available as a separate product available only for academic and professional users.
Copy protection
Single-user editions of Maple are locked to the hardware of the computer they run on. This means that Maple may refuse to start if certain parts of the computer's hardware are removed or replaced. In this case the customer support has to be called, in order to receive a new licence file for the updated hardware.
See also
- Comparison of computer algebra systems
- List of computer simulation software
- MapleSimMapleSimMapleSim is a multi-domain modeling and simulation tool developed by Maplesoft. MapleSim generates model equations, runs simulations, and performs analyses using the symbolic and numeric mathematical engine of Maple...
- Mathematical softwareMathematical softwareMathematical software is software used to model, analyze or calculate numeric, symbolic or geometric data.-Computer algebra systems:Many mathematical suites are computer algebra systems that use symbolic mathematics. They are designed to solve classical algebra equations and problems in human...
- Waterloo MapleWaterloo MapleWaterloo Maple Inc. is a Canadian software company, headquartered in Waterloo, Ontario. It operates under the trading name Maplesoft and is best known as the manufacturer of the Maple computer algebra system and MapleSim physical modeling and simulation software.-Corporate history:Waterloo Maple Inc...
External links
- Maplesoft, division of Waterloo Maple, Inc. home website
- MaplePrimes - a community website for Maple users
- Comparison of mathematical programs for data analysis ScientificWeb
- Maple T.A., Maplesoft