Maple (software)
   HOME

TheInfoList



OR:

Maple is a symbolic and numeric computing environment as well as a
multi-paradigm programming language Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language, suc ...
. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation. Maple's capacity for symbolic computing include those of a general-purpose
computer algebra system A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The de ...
. For instance, it can manipulate mathematical expressions and find symbolic solutions to certain problems, such as those arising from ordinary and partial
differential equations In mathematics, a differential equation is an functional equation, equation that relates one or more unknown function (mathematics), functions and their derivatives. In applications, the functions generally represent physical quantities, the der ...
. Maple is developed commercially by the Canadian software company Maplesoft. The name 'Maple' is a reference to the software's Canadian heritage.


Overview


Core functionality

Users can enter mathematics in traditional
mathematical notation Mathematical notation consists of using glossary of mathematical symbols, symbols for representing operation (mathematics), operations, unspecified numbers, relation (mathematics), relations and any other mathematical objects, and assembling the ...
. 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 In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (computer science), type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constru ...
imperative-style
programming language A programming language is a system of notation for writing computer program, computer programs. Most programming languages are text-based formal languages, but they may also be visual programming language, graphical. They are a kind of computer ...
(resembling Pascal), which permits variables of lexical scope. There are also interfaces to other languages ( C, C#, Fortran,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a Proprietary software, proprietary multi-paradigm programming language, multi-paradigm programming language and numerical analysis, numeric computing environment developed by MathWorks. MATLA ...
, and
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (cl ...
), as well as to
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
. Maple supports
MathML Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematics, mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into W ...
2.0, which is a W3C format for representing and interpreting mathematical expressions, including their display in web pages. There is also functionality for converting expressions from traditional mathematical notation to markup suitable for the typesetting system
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a wikt:milky, milky fluid found in 10% of all flowering plants ( ...
.


Architecture

Maple is based on a small
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
, 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 An atlas is a collection of maps; it is typically a bundle of maps of Earth or of a region of Earth. Atlases have traditionally been bound into book form, but today many atlases are in multimedia formats. In addition to presenting geographic ...
libraries, or GMP libraries. Different functionality in Maple requires numerical data in different formats. Symbolic expressions are stored in memory as
directed acyclic graph In mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no Cycle graph#Directed cycle graph, directed cycles. That is, it consists of Vertex (graph theory), vertices and edge (graph ...
s. The standard interface and calculator interface are written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
.


History

The first concept of Maple arose from a meeting in late 1980 at the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public university, public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The univer ...
. Researchers at the university wished to purchase a computer powerful enough to run the Lisp-based computer algebra system
Macsyma Macsyma (; "Project MAC's SYmbolic MAnipulator") is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC. In 1982, Macsyma was licensed to Symbolics and ...
. 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 BCPL ("Basic Combined Programming Language") is a procedural programming, procedural, imperative programming, imperative, and structured programming, structured programming language. Originally intended for writing compilers for other langua ...
family (initially using a subset of B and C, and later on only C). A first limited version appeared after three weeks, and fuller versions entered mainstream use beginning in 1982. 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. In 1988 Waterloo Maple Inc. (Maplesoft) was founded. The company’s original goal was to manage the distribution of the software, but eventually it grew to have its own R&D department, where most of Maple's development takes place today (the remainder being done at various university laboratories). In 1989, the first graphical user interface for Maple was developed and included with version 4.3 for the
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
. 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. In 1994 a special issue of a newsletter created by Maple developers called ''MapleTech'' was published. In 1999, with the release of Maple 6, Maple included some of the NAG Numerical Libraries. In 2003, the current "standard" interface was introduced with Maple 9. This interface is primarily written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
(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. Between 1995 and 2005 Maple lost significant market share to competitors due to a weaker user interface. 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.


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 * Maple 13.01: July, 2009 * Maple 13.02: October, 2009 * Maple 14: April 29, 2010 * Maple 14.01: October 28, 2010 * Maple 15: April 13, 2011 * Maple 15.01: June 21, 2011 * Maple 16: March 28, 2012 * Maple 16.01: May 16, 2012 * Maple 17: March 13, 2013 * Maple 17.01: July, 2013 * Maple 18: Mar 5, 2014 * Maple 18.01: May, 2014 * Maple 18.01a: July, 2014 * Maple 18.02: Nov, 2014 * Maple 2015.0: Mar 4, 2015 * Maple 2015.1: Nov, 2015 * Maple 2016.0: March 2, 2016 * Maple 2016.1: April 20, 2016 * Maple 2016.1a: April 27, 2016 * Maple 2017.0: May 25, 2017 * Maple 2017.1: June 28, 2017 * Maple 2017.2: August 2, 2017 * Maple 2017.3: October 3, 2017 * Maple 2018.0: March 21, 2018 * Maple 2019.0: March 14, 2019 * Maple 2020.0: March 12, 2020


Features

Features of Maple include: * Support for symbolic and numeric computation with arbitrary precision *
Elementary Elementary may refer to: Arts, entertainment, and media Music * ''Elementary'' (Cindy Morgan album), 2001 * ''Elementary'' (The End album), 2007 * ''Elementary'', a Melvin "Wah-Wah Watson" Ragin album, 1977 Other uses in arts, entertainment, a ...
and special mathematical function libraries *
Complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the form a ...
s and interval arithmetic * Arithmetic,
greatest common divisor In mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in mo ...
s and
factorization In mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in ...
for
multivariate polynomial In mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in mo ...
s over the rationals,
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
s, algebraic number fields, and algebraic function fields * Limits, series and
asymptotic expansion In mathematics, an asymptotic expansion, asymptotic series or Poincaré expansion (after Henri Poincaré) is a formal series of functions which has the property that truncation, truncating the series after a finite number of terms provides an approx ...
s * Gröbner basis * Differential Algebra * Matrix manipulation tools including support for sparse arrays * Mathematical function graphing and animation tools * Solvers for systems of equations,
diophantine equation In mathematics, a Diophantine equation is an equation, typically a polynomial equation in two or more unknown (mathematics), unknowns with integer coefficients, such that the only equation solving, solutions of interest are the integer ones. A l ...
s, ODEs, PDEs, DAEs, DDEs and
recurrence relation In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a parameter ...
s * Numeric and symbolic tools for discrete and continuous
calculus Calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the mathematics, mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizati ...
including definite and indefinite integration, definite and indefinite summation, automatic differentiation and continuous and discrete
integral transform In mathematics, an integral transform maps a function (mathematics), function from its original function space into another function space via integral, integration, where some of the properties of the original function might be more easily chara ...
s * Constrained and unconstrained local and global
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
*
Statistics Statistics (from German language, German: ''wikt:Statistik#German, Statistik'', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of ...
including model fitting,
hypothesis testing A statistical hypothesis test is a method of statistical inference Statistical inference is the process of using data analysis to infer properties of an underlying probability distribution, distribution of probability.Upton, G., Cook, I. (200 ...
, and
probability distribution In probability theory and statistics, a probability distribution is the mathematical Function (mathematics), function that gives the probabilities of occurrence of different possible outcomes for an Experiment (probability theory), experiment. ...
s * Tools for data manipulation, visualization and analysis * Tools for probability and combinatoric problems * 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
text mining Text mining, also referred to as ''text data mining'', similar to text analytics, is the process of deriving high-quality information from text. It involves "the discovery by computer of new, previously unknown information, by automatically extra ...
including
regular expressions A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of Character (computing), characters that specifies a pattern matching, search pattern in String (computer science), text. Usually s ...
* Tools for
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing '' signals'', such as sound In physics, sound is a vibration that propagates as an acoustic wave, through a transmission med ...
and linear and non-linear
control system A control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial co ...
s * Discrete math tools including
number theory Number theory (or arithmetic or higher arithmetic in older usage) is a branch of pure mathematics devoted primarily to the study of the integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative intege ...
* 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 Object-oriented programming (OOP) is a programming paradigm based on the concept of "Object (computer science), objects", which can contain data and Computer program, code. The data is in the form of Field (computer science), fields (often kno ...
constructs * Tools for adding
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fr ...
s to calculations and applications * Tools for connecting to SQL,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
.NET The domain name A domain name is a String (computer science), string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Interne ...
,
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language In computer software, a general-purpose programming language (GPL) is a programming language for building software in a wide variety of application Domain (so ...
, Fortran and
http The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
* Tools for generating code for C, C#, Fortran,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and oth ...
, Julia,
Matlab MATLAB (an abbreviation of "MATrix LABoratory") is a Proprietary software, proprietary multi-paradigm programming language, multi-paradigm programming language and numerical analysis, numeric computing environment developed by MathWorks. MATLA ...
,
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offi ...
,
Python Python may refer to: Snakes * Pythonidae The Pythonidae, commonly known as pythons, are a Family (biology), family of Venomous snake, nonvenomous snakes found in Africa, Asia, and Australia. Among its members are some of the largest snakes i ...
, R, and
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET * Visual Basic (cl ...
* Tools for
parallel programming Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...


Examples of Maple code

The following code, which computes the factorial of a nonnegative integer, is an example of an
imperative programming In computer science, imperative programming is a programming paradigm of software that uses Statement (computer science), statements that change a program's state (computer science), state. In much the same way that the imperative mood in natural ...
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\left(\frac\right)dx. int(cos(x/a), x); Output: :a \sin\left(\frac\right)


Determinant

Compute the determinant of a matrix. M := Matrix( 1,2,3 ,b,c ,y,z); # example Matrix : \begin 1 & 2 & 3 \\ a & b & c \\ x & y & z \end LinearAlgebra:-Determinant(M); : bz-cy+3ay-2az+2xc-3xb


Series expansion

series(tanh(x), x = 0, 15) :x-\frac\,x^3+\frac\,x^5-\frac\,x^7 :+\frac\,x^9-\frac\,x^+\frac\,x^+\mathcal\left(x^\right)


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( );


Plotting of function of single variable

Plot x \sin(x) with x ranging from -10 to 10: plot(x*sin(x), x = -10..10);


Plotting of function of two variables

Plot x^2+y^2 with x and y 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 :f := \frac 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. M := Matrix( 400,400,200 00,100,-400 ,1,1, datatype=float : plot3d(1, x=0..2*Pi, y=0..Pi, axes=none, coords=spherical, viewpoint= ath=M;


Laplace transform

*
Laplace transform In mathematics, the Laplace transform, named after its discoverer Pierre-Simon Laplace (), is an integral transform that converts a Function (mathematics), function of a Real number, real Variable (mathematics), variable (usually t, in the ''time ...
f := (1+A*t+B*t^2)*exp(c*t); : \left(1 + A \, t + B \, t^2\right) e^ inttrans:-laplace(f, t, s); :\frac+\frac+\frac * inverse Laplace transform inttrans:-invlaplace(1/(s-a), s, x); : e^


Fourier transform

*
Fourier transform A Fourier transform (FT) is a mathematics, mathematical Integral transform, transform that decomposes function (mathematics), functions into frequency components, which are represented by the output of the transform as a function of frequency. Mo ...
inttrans:-fourier(sin(x), x, w) :\mathrm\pi\,(\mathrm(w+1)-\mathrm(w-1))


Integral equations

Find functions f that satisfy the
integral equation In mathematics, integral equations are equations in which an unknown Function (mathematics), function appears under an integral sign. In mathematical notation, integral equations may thus be expressed as being of the form: f(x_1,x_2,x_3,...,x_n ; ...
:f(x)-3\int_^1(xy+x^2y^2)f(y)dy = h(x). eqn:= f(x)-3*Int((x*y+x^2*y^2)*f(y), y=-1..1) = h(x): intsolve(eqn,f(x)); :f \left( x \right) =\int _^\! \left( -15\,^^-3\,xy \right) h \left( y \right) +h \left( x \right)


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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
Applets. MapleNet 12 and above also allow users to upload and work with Maple worksheets containing interactive components. * MapleSim, an engineering simulation tool. * Maple Quantum Chemistry Package from RDMChem computes and visualizes the electronic energies and properties of molecules. 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 MATLAB (an abbreviation of "MATrix LABoratory") is a Proprietary software, proprietary multi-paradigm programming language, multi-paradigm programming language and numerical analysis, numeric computing environment developed by MathWorks. MATLA ...
contained a portion of the Maple 10 engine, but now uses MuPAD (starting with MATLAB R2007b+ release). * 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 The following tables compare general and technical information for a number of statistical analysis Statistical inference is the process of using data analysis to infer properties of an underlying distribution of probability.Upton, G., Cook, ...
* List of computer algebra systems *
List of computer simulation software The following is a list of notable computer simulation software. Free or open-source * Advanced Simulation Library - open-source hardware accelerated multiphysics simulation software. * ASCEND - open-source equation-based modelling environment ...
* List of graphing software *
List of numerical-analysis software Listed here are notable end-user computer applications intended for use with numerical analysis, numerical or data analysis: Numerical-software packages General-purpose computer algebra systems Interface-oriented Language-oriented His ...
*
Mathematical software Mathematical software is software used to mathematical model, model, analyze or calculate numeric, symbolic or geometric data. Evolution of mathematical software Numerical analysis and symbolic computation had been in most important place of the s ...
* SageMath (an open source algebra program)


References


External links


Maplesoft, division of Waterloo Maple, Inc.
– official website {{Authority control C (programming language) software Notebook interface Computer algebra system software for Linux Computer algebra system software for macOS Computer algebra system software for Windows Computer algebra systems Cross-platform software Data mining and machine learning software Data visualization software Data-centric programming languages Econometrics software Functional languages Interactive geometry software 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 cross-platform software Regression and curve fitting software Simulation programming languages Software modeling language Statistical programming languages Theorem proving software systems Time series software