Compatibility Issues in Maple 2020 - Maple Programming Help

Compatibility Issues in Maple 2020

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

Visible Option for Embedded Components

 • In worksheets created in Maple 2019 and earlier, the visibility of embedded components in either a hidden table or a closed section is set to false. When the section is opened, or the table made visible, the visibility of the embedded component is set to true. In Maple 2020 opening or closing a section does not toggle the visibility of the embedded component. As a result, worksheets created in a previous release may not work correctly; any embedded components in a closed section will not become visible when the section is opened.

Printing and Export to PDF Changes

 • Users now have more control over how sections are displayed when printing or exporting to PDF.  See Printing and Exporting.

Plot Sizes

 • The default size of plots in the worksheet is now bigger. You can control the size of plots with the size option for 2-D and 3-D plots.

3-D Plots

 • By default, plot3d now uses an adaptive edge computation to produce smoother edges for surfaces.  Because of this change, the underlying PLOT3D data structure resulting from calling plot3d is different from previous releases in some cases.  In particular, there are some cases that previously resulting in a GRID plot structure that now result in a MESH plot structure. For more information, see Visualization.  To get the old behavior, use the option adaptmesh=false.

type monomial

 • The definition of type/monomial has changed to allow for cases where the coefficient is a sum. The following used to return false in Maple 2019 and earlier:
 > type((1+sqrt(2))*x, monomial);
 ${\mathrm{true}}$ (1)
 > type(1+sqrt(2), monomial);
 ${\mathrm{true}}$ (2)
 > type((1+a)*x, monomial(anything,x));
 ${\mathrm{true}}$ (3)

types unit and unit_name

 • The types unit and unit_name were defined in Maple 2019 and before, but they did not represent what most users would expect given the name. They were renamed to type/syntactically_valid_compound_unit and type/syntactically_valid_unit_name, respectively, to better match their definition.

Jacobi function

 • The definition of the JacobiP function has been extended to cases where the 2nd or 3rd argument is a negative integer. In Maple 2019 and earlier, the following used to return undefined:
 > JacobiP(5,-3,0,0.5);
 ${-0.05957031250}$ (4)
 > JacobiP(0.5,-3,0,0.5);
 ${-0.001269583779}$ (5)
 > JacobiP(-1,-3,0,0.5);
 ${0.01562500000}$ (6)

debugopts(tracecatch)

 • The tracecatch option of debugopts has been moved to kernelopts, where the other options that control the behaviour of trace and printlevel reside. Using debugopts(tracecatch) will still work, but will display a warning the first time it is used in a session.