Commercialised advances in computer algebra

Submitting Institution

University of Bath

Unit of Assessment

Computer Science and Informatics

Summary Impact Type

Technological

Research Subject Area(s)

Mathematical Sciences: Pure Mathematics


Download original

PDF

Summary of the impact

Maple is a major commercial computer algebra system, with millions of users worldwide. It is used in many industrial applications, covering diverse sectors including automotive, aerospace and defense, electronics, energy, financial services, consumer products, entertainment, basic research and teaching. Research by Davenport's team at Bath, in collaboration with the University of Western Ontario, has led to algorithmic advances that have been incorporated in recent releases of Maple. These advances mean that Maple can solve systems of equations it could not previously solve, give completely accurate solutions to systems it could previously only approximate, and can present the solutions to the user in an improved manner.

As well as including code written at Bath directly in Maple, MapleSoft have deployed a Senior Developer to integrate the work of Davenport's team closely into the Maple system. These solution algorithms are now transparently available to all users of Maple. MapleSoft themselves have used the solution algorithms in an industrial application in a consultancy project with a major Japanese automotive manufacturer.

Underpinning research

There are three related themes to the research, which was conducted by Bradford (L/SL at Bath throughout) and Davenport (Professor at Bath throughout), in collaboration with the University of Western Ontario (Corless, Jeffrey, Moreno Maza, Watt), and more recently Peking University (Xia), USNA (Brown) and Macquarie (McCallum).

The first is the polynomial geometry of the reals, with [1] giving a key theoretical result and [2] more algorithmic results, demonstrating how to use the notion of triangular decomposition to analyse semi-algebraic systems of equations and inequations over the real numbers. [2] shows that triangular decompositions can be computed in exponential time under certain circumstances (vs. the worst-case doubly exponential complexity) and gives a collection of experimental results. [3] describes how to deliver these algorithmic results in a manner that the user can appreciate.

The second is the vexed (at least since 1971) question of simplification of algebraic expressions in computer algebra. Why is √(1 - x2) = √(1 - x) √(1 + x ),but √(x2- 1) √(x + 1) √(x - 1 ) (try𝑥=3)? Here we see a breakthrough in [4 and 5], with the development of a simplification algorithm that is always correct, by taking proper account of the branch cuts of the expressions being manipulated. This idea was taken further in the EPSRC-funded work of [6]; key examples from this paper were used in the prize-winning demonstration of [2] and its successors at ISSAC 2011.

The third is the extraction, and optimal description, of the branch cuts of the elementary functions [7, ongoing]. A partial answer to the question posed above is that the branch cuts of {√(x2- 1),√(x + 1) ,√(x - 1 )} partition the complex plane, whereas the cuts of the other identity above do not. Finding and describing these branch cuts, with the Maple implementation, is described in [8].

References to the research

[1] * C.W. Brown and J.H. Davenport. The Complexity of Quantifier Elimination and Cylindrical Algebraic Decomposition. In C.W. Brown, editor, Proceedings ISSAC 2007, ACM, New York, pages 54-60, 2007. [DOI: 10.1145/1277548.1277557]

 
 
 

[2] * C. Chen, J.H. Davenport, J.P. May, M. Moreno Maza, B. Xia, and R. Xiao. Triangular Decomposition of Semi-algebraic Systems. In S.M. Watt, editor, Proceedings ISSAC 2010, ACM, New York, pages 187-194, 2010. Expanded version in J. Symbolic Comp. 49(2013) pp. 3-26. [DOI: 10.1145/1837934.1837972]

 
 

[3] C. Chen, J.H. Davenport, J. May, M. Moreno Maza, B. Xia, R. Xiao, and Y. Xie. User Interface Design for Geometrical Decomposition Algorithms in Maple. In: Mathematical User-Interfaces Workshop 2009, 2009-07-06, Grand Bend, Ontario, Canada,
2009.[http://www.activemath.org/workshops/MathUI/09/proc/Davenport-et-al-UI-design-geometric-decomposition-MathUI09.pdf]

[4] * R.J. Bradford and J.H. Davenport. Towards Better Simplification of Elementary Functions. In T. Mora, editor, Proceedings ISSAC 2002, ACM Press, New York, 2002, pp. 15-22.[DOI: 10.1145/780506.780509]

 

[5] R.J. Bradford, R.M. Corless, J.H. Davenport, D.J. Jeffrey, and S.M. Watt. Reasoning about the Elementary Functions of Complex Analysis. Annals of Mathematics and Artificial Intelligence, 36:303-318, 2002.[DOI: 10.1023/A:1016007415899]

 
 
 
 

[6] J.C. Beaumont, R.J. Bradford, J.H. Davenport, and N. Phisanbut. Testing Elementary Function Identities Using CAD. Applied Algebra & Error-Correcting Codes, 18:513-43, 2007.[DOI: 10.1007/s00200-007-0052-y]

 
 
 
 

[7] N. Phisanbut, R.J. Bradford, and J.H. Davenport. Geometry of Branch Cuts. Communications in Computer Algebra, 44:132-135, 2010.[DOI: 10.1145/1940475.1940500]

 

[8] M. England, R.J. Bradford, J.H. Davenport and D.J. Wilson, Understanding branch cuts of expressions. Proc. CICM 2013, LNCS 7961, pp. 136-151.[DOI: 10.1007/978-3-642-39320-4_9]

 
 
 

* marks the outputs best indicative of the quality of underpinning research

Details of the impact

Maplesoft is an innovative software company with over 120 employees that has been developing and marketing mathematical software for over 25 years, starting as a spin-out from the research group at U. Waterloo (Canada). Their flagship product, Maple, is used in universities and industrial research institutes around the world, and has achieved an excellent reputation in the academic community. It is a significant piece of software, retailing at around £1,000 per individual licence. Maple technology is employed by several million users world-wide, in many areas of science and engineering. Maple is the computation engine used by Maplesoft's engineering simulation product MapleSim, which provides engineers with physical modelling tools to analyze, test, improve, and optimize designs before actually building the physical system.

According to a Maplesoft press release [9] Maple has customers "covering diverse sectors including automotive, aerospace and defense, electronics, energy, financial services, consumer products, and entertainment, basic research and teaching. Over 90% of advanced research institutions and universities worldwide, including MIT, Stanford, Oxford, the NASA Jet Propulsion Laboratory, RWTH Aachen, the University of Stuttgart, and the U.S. Department of Energy, have adopted Maplesoft solutions to enhance their education and research activities." Customers include Ford, BMW, Bosch, Boeing, NASA, Canadian Space Agency, Canon, Motorola, Microsoft Research, Bloomberg, and DreamWorks.[10]

One of the major uses for computer algebra systems is solving systems of equations. Such systems may have solutions in both complex numbers and real numbers, and in many applications one is only interested in the real solutions, and moreover one may wish to know how the existence of such real solutions depends on parameters. Since 2010, Maplesoft has been incorporating the research of Bradford, Davenport and colleagues into their product. As a result, Maple is now able to:

  • Correctly solve systems of equations when it previously returned a warning, and few, or sometimes no, actual solutions;
  • Correctly handle correlation between solutions, e.g. instead of saying x=±√2, y=±√2 (four solutions), it can now say x=±√2, y=-x (two solutions);
  • Extend this to real-only solutions, of great practical importance to engineers;
  • Correctly handle case analysis when the number of real solutions depends on the parameters.

As explained by the Director of Research at Maplesoft [11]

"The team have contributed work to our flagship product, the computer algebra package Maple, which in turn is used by our engineering simulation product MapleSim and teaching and assessment product MapleTA. Bath's first contribution was in Maple 14 (released in Spring 2010) with contributions to each subsequent release including our most recent, Maple 17 (released Spring 2013).

Davenport contributed to algorithms for solving parametric polynomial equations in real variables. This led to solutions which were not previously available displayed in an optimal way to the user. We valued this work to the extent that our Senior Developer embedded it into the core tools for solving polynomial systems. This means that users can benefit from the new algorithms when appropriate without having to have knowledge of the mathematics involved, or even knowledge that the algorithm exists. In relation to this Davenport assisted with the development of a new output format for displaying such solutions which has since found use elsewhere in Maple."

Adoption timeline

The interaction of the Davenport team with Maplesoft developed from Davenport's collaboration with researchers at U. Western Ontario, which in turn grew from his Visiting Professorship at U. Waterloo, the birthplace of Maplesoft, in 2009.

The work in [3] made its appearance in Maple 14 (2010) and was a major feature of the Maple 14 launch at ISSAC 2010 (Munich). Part of the work in [2] appeared in Maple 14, and the rest, and some successor work, in Maple 15 (2011). Marc Moreno Maza's demonstration of this technology won the "Distinguished Software Demonstration" award at ISSAC 2011
(http://www.sigsam.org/awards/). The interactive help functions in Maple 15 [12] refer to [2] as a primary reference in the documentation of the RealTriangularize function. Further work from [2]'s successors, some currently unpublished work, and work from [7], has been incorporated in Maple 16.

Further work building on [7] (code developed at Bath funded by EPSRC and described in [8]) has appeared in Maple 17, which was released in March 2013. In an announcement to Maple beta-users of 27/1/2013, Maplesoft's Research Fellow described new features as "very nice work by the group of Prof. James Davenport [...] in collaboration with us at Maplesoft." [13] This means that Maple 17 gives explicit (rather than merely implicit) and more accurate information on branch cuts than its predecessors. For example, when querying the branch cuts of log (-√x), previous versions indicated branch cuts when -√x is negative, from which the user has to infer  x > 0, while Maple 17 returns this directly, along with the cut x < 0 (due to the √x ) which had been missed before. The new code also provides visual output as well as algebraic descriptions.

Usage

The new solving algorithms have already found industrial application. Maplesoft's Director of Research states that "In 2012, we were able to employ the parametric real-solving algorithms developed by Moreno Maza and Davenport and their students for an industrial application that was done as part of a multi-year research and consulting project about symbolic methods in control theory for a Japanese automotive manufacturer." [11]

Thanks to the work of a Maplesoft Senior Developer, as described by their Director of Research above, Maple 17 also integrates the above features into the mainstream: users asking Maple to solve systems of equations benefit from the improved functionality transparently [14]. The potential reach of this work therefore includes all users of Maple and MapleSim who require real solutions to systems of equations.

Sources to corroborate the impact

[9] Maplesoft press release detailing levels of usage of Maple:
http://www.maplesoft.com/company/publications/articles/view.aspx?SID=35294

[10] Maplesoft press release
http://www.maplesoft.com/company/publications/articles/view.aspx?SID=145941

[11] Director of Research, Maplesoft Inc. Statement on file.

[12] Maple help pages http://www.maplesoft.com/support/help
(e.g. /Maple/view.aspx?path=RegularChains%2fRealTriangularize for Bath contributions, and Maple/view.aspx?path=RegularChains/SemiAlgebraicSetTools/CylindricalAlgebraicDecompose For developments of [3])

[13] New in FunctionAdvisor in Maple 17: branch cuts of expressions and their plotting.
Announcement to Maple Beta Users forum, 27/1/2013.
http://beta.maplesoft.com/maple/viewtopic.php?p=60323#60323 (maple beta-users login required; copy retained on file at U. Bath.)

[14] Maple "What's New" pages
http://www.maplesoft.com/support/help/Maple/view.aspx?path=updates%2fMaple17