Compatibility Issues in Maple 9 - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : System : Information : Updates : Maple 9 : updates/Maple9/compatibility

Compatibility Issues in Maple 9

  

The following is a brief description of the compatibility issues that affect users upgrading from Maple 8 to Maple 9.

 

Automatic Simplification

Worksheet File Format

Plotting

LinearAlgebra

Maplets

OLE Objects and Embedded Metafiles

SumTools

XMLTools

Worksheet Package

Automatic Simplification

• 

The Maple evaluation model makes assumptions about expressions that do not hold under all circumstances. When the assumptions are violated, mathematically incorrect results are returned, for example, the simplification of x*0 to 0 where x evaluates to a Matrix, undefined, or infinity.

  

The historical justification for the automatic application of these transformations was that the transformations are almost always correct and that not applying them results in bloated expressions. While both of these arguments have merit, the number of complaints and bug reports has motivated changes.

  

In Maple 9, some procedure body simplification assumptions have been removed. These are:

  

* x*0 and 0/x do not automatically simplify to 0 if the value of x renders this simplification invalid.

  

* 0^x does not automatically simplify to 0 unless x is an unassigned name.

  

* x/x does not automatically simplify to 1. This is invalid if, for example, x is a function that produces random numbers.

  

* x*x does not automatically simplify to x^2.  This is invalid if, for example, x is a function that produces random numbers.

  

* Constant operators do not simplify to numbers. For example, x -> 1 does not simplify to 1.

  

* Expressions such as x -> f(x) do not simplify to f. This is invalid if f can also take fewer or greater than one argument.

  

* Procedure bodies in which the computations involve floating-point numbers are not simplified. Simplification may involve transformations not valid when the procedure is invoked, for example, for the particular arguments passed to the procedure or for the environment in which the procedure is called. In particular, the value of Digits may be different.

Worksheet File Format

• 

Maple 9 worksheets are encoded in a new XML format, and saved using an .mw file extension. Previous releases of Maple created worksheets as .mws files. The two formats are different, but Maple can open and run both file types.Minor differences may be visible when an older .mws worksheet is read into Maple 9, due to changes in the worksheet interface.

Plotting

• 

The plots[cylinderplot] and plots[sphereplot] routines have been superseded. The same functionality is available using the coords=cylindrical or coords=spherical option with the plot3d command. For information on plotting in various coordinate systems, see ?plot3d[coords]. Note that for backwards compatibility, the plots[cylinderplot] and plots[sphereplot] commands will continue to function.

LinearAlgebra

• 

The calling sequence for the programmer's entry point to the LinearAlgebra package MatrixInverse routine, LinearAlgebra:-LA_Main:-MatrixInverse, has been changed to allow more robust use of the Moore-Penrose solver. The benefits are that now you can optionally request the return of a proviso that, if not small, gives assurance of the correctness of the result. For the floating-point case a tolerance, for acceptance of the smaller singular values in performing the computation, can now be optionally supplied. The new calling sequence to this inner entry point is MatrixInverse( A :: {Matrix,list}, method :: identical(method) = symbol, methopts :: identical(methodoptions) = list, conj :: identical(conjugate) = truefalse, output :: identical(output) = list, outopts :: identical(outputoptions) = list ) :: Matrix. The uppermost user entry point, LinearAlgebra:-MatrixInverse, retains its previous calling sequence and does not require any new arguments.

Maplets

• 

The underlying implementation of a Maplet element has changed slightly since Maple 8. Now all Maplet application windows have a parent hierarchy, set to be the window that is currently enabled when RunWindow is called.  When the parent is closed by a call to CloseWindow, the child window is automatically closed as well. Previously, Maplet application windows did not have parents, and so the call to CloseWindow would close only the single Maplet application window.

  

As a result of this change, it may be necessary to modify some of your Maplet application code. Possible workarounds include the following. In the Maplet application code:

1. 

Remove calls to CloseWindow on windows if other windows are running . The behavior of the Maplet application remains relatively the same, with the first window being disabled instead of disappearing.

2. 

Call CloseWindow on the first window before calling RunWindow on the new window.

3. 

Write the second window as a separate Maplet application and use the Maplets:-Display command instead of the RunWindow command.

  

Note that this change of behavior occurs in the Standard Worksheet interface only. Maplets running in the Classic Worksheet or command-line interface will retain the old behavior. Once the Maplet application code is modified using one of the suggestions above, the Maplet can be run as expected in all modes.

OLE Objects and Embedded Metafiles

• 

In the Maple 8 worksheet interface on Windows, worksheets can contain OLE objects and embedded Metafiles. These file types are not available in the Standard Maple 9 worksheet on any platform. When opening such a worksheet, a warning dialog is displayed. If you then use the Standard worksheet interface to save the worksheet, the embedded data is not retained.

  

In the Standard Maple 9 worksheet interface, you can insert images by using the Insert>Image menu item. Unlike OLE objects, the images will be visible on all platforms.

SumTools

• 

The SumTools[Hypergeometric][AccurateSummation] function has been superseded by the SumTools[IndefiniteSum][AccurateSummation] function.

XMLTools

• 

The JoinEntities, SeparateEntities, MakeElement, and DocumentIterator functions have been removed.

• 

The CData, Comment, Element, and ProcessingInstruction functions have been superseded by the XMLCData, XMLComment, XMLElement, and XMLProcessingInstruction functions, respectively.

Worksheet Package

• 

The Process and Validate functions in the Worksheet package are not needed in Maple 9.  They have been removed.

See Also

Index of New Maple 9 Features

infinity

LinearAlgebra

Matrix

plot3d[coords]

SumTools[IndefiniteSum][AccurateSummation]

undefined

Worksheet

XMLTools