## What’s new in Maple 12.02?

OK, so with today’s release of Maple version 13, this blog post is a little late but I started so I’ll finish! My original install of Maple was 12.01 on Ubuntu Linux and a little while ago an update was released to take this to version 12.02.

### Installation

In theory I should be able to install this automagically by clicking on **Tools->Check for Updates** inside Maple. However, when I did this I was told that ‘**no updates were currently available**‘ so I had to download the update manually from here. I was very pleased to note that this update was offered free of charge to **all** Maple 12 users. This is exactly as it should be and other software vendors should take note here – users don’t like paying for bug-fix updates! Well done to Maplesoft for doing it right. Once I had downloaded the 12.02 update installer, the installation itself was pretty straightforward. The following incantations did the trick for me

chmod +x ./Maple1202Linux32Upgrade.bin sudo ./Maple1202Linux32Upgrade.bin

A graphical installer fired up and all I had to do was click **Next** a couple of times and point it to my Maple 12.01 installation. A few seconds later it was all over. It’s a shame that the automatic checker didn’t work but all in all this was a very painless experience!

Now since this update only increments the version number by 0.01 you shouldn’t be expecting any marvellous new features. What you should be expecting is some tidying up and bug fixing and that is exactly what you get. Maplesoft’s own description of the bug-fixes weren’t detailed enough for my tastes and so I appealed to my informants at Maplesoft for something more explicit.

Happily, they delivered and most of what follows is from them. Thanks Maplesoft :)

Since 12.02 was released along with the launch of MapleSim, many of the updates were geared towards symbolic manipulation and simplification, which is always beneficial for any advanced computations, but very important for MapleSim. As such, the best examples to illustrate the updates are in MapleSim, and are not easily shown with a Maple example alone. More specifically though, there were other enhancements and fixes that were added to Maple 12.02 to help improve it, which are not tied directly to MapleSim:

### Updates to dsolve

There were two significant issues present in Maple 12.01 and earlier that are not present in Maple 12.02. One of these deals with a certain class of singularities that are transparent to explicit rk-pair based numerical solvers.

As the simplest example in this class, the differential system:

dsys := {diff(x(t),t)=x(t)/(1-t),x(0)=1};

having the exact solution:

dsolve(dsys);

has a singularity at t=1, and exactly ‘0’ error according to explicit rk-pair error estimation.

This, and other related singularities (such as jump discontinuities) are now detected to provide an accurate numerical solution. Compare this output from 12.01

dsn := dsolve(dsys, numeric);

dsn := proc(x_rkf45) ... end proc

dsn(0.999);

[t = .999, x(t) = -48.3295522342053872]

dsn(1.001);

[t = 1.001, x(t) = -48.4646844943701609]

with the improved output from 12.02

dsn := dsolve(dsys, numeric);

dsn := proc(x_rkf45) ... end proc

dsn(0.999);

[t = 0.999, x(t) = 1000.00023834227034]

dsn(1.001);

Error, (in dsn) cannot evaluate the solution further right of .99999999, probably a singularity

The second fix deals with error control on index-1 (non-differential) variables in the problem. This can be seen if you take a trivial problem coupled with a non-trivial index-1 variable. For example: In Maple 12.01: ** **

dsys := {diff(x(t),t)=1, y(t)=sin(t), x(0)=0}: dsn := dsolve(dsys, numeric): dsn(Pi);

[t = 3.14159265358979, x(t) = 3.14159265358978956, y(t) = -0.00206731654642018647]

** **

dsn(2*Pi);

[t = 6.28318530717958, x(t) = 6.28318530717958357, y(t) = -0.0623375491269087187]

The ‘y’ value should have been zero. In Maple 12.02: ** **

dsys := {diff(x(t),t)=1, y(t)=sin(t), x(0)=0}: dsn := dsolve(dsys, numeric): dsn(Pi);

[t = 3.14159265358979, x(t) = 3.14159265358978956, y(t) = -0.117631599366556372 10^-6 ]

** **

dsn(2*Pi);

[t = 6.28318530717958, x(t) = 6.28318530717958090, y(t) = -0.130170125786817359 10^-6 ]

which is zero within the default error tolerances.

### Plot Annotations bug fix

In 12.01, some plot annotations were not appearing as expected. When a text box was entered on a 2D plot, the text would not appear until focus was taken away from the text box itself. For example, if you were to create a plot of sin(x) **plot(sin(x))** and then click on the plot, select **drawin**g from the toolbar and then select **‘T’** to enter a text field, you could begin typing, but would not receive visual feedback of what you entered until you clicked outside of the textbox. Obviously, this was a bug, and it was fixed in 12.02.

### Improvements to embedded components

Prior to 12.02, some installations of Linux displayed some issues with redrawing of various embedded components, which slowed down scrolling in a Maple document. In 12.02, Maplesoft added a few fixes to the way that they handle embedded components, especially for 32-bit systems, which took care of this issue for most Linux installations. Also, since they were in the area, they took the opportunity to tweak response times for embedded components when creating them and executing the code that dictates their behavior in a document. This is not *very* noticeable when you have just a few components in a document, but it becomes very visible with Maplesoft’s interactive ebooks and with user applications that rely on a large number of components in a single application.

### Excel Link improvements

In Maple, there is a built-in link to Microsoft Excel, so that you can perform Maple computations within an Excel spreadsheet. Maplesoft started supporting Excel 2007 in Maple 12, but with a service pack release to Windows released shortly thereafter and some security enhancements added to Maple, the link did not perform as expected in 12.01. Certain values were being interpreted incorrectly, as such, Maplesoft felt that they needed to address these inconsistencies as soon as possible. So for 12.02, they fixed the link for Excel 2007 to ensure that values were faithfully being passed from Microsoft Excel to Maple, in order to maintain the connection and computation accuracy.