Compatibility between Maple V Release 4 and Maple V Release 5
The following is a brief description of compatibility issues affecting users upgrading from Maple V Release 4 to Maple V Release 5.
R4 .m files cannot be read by R5
Grammar changes
Semantic changes
Error checking
System changes
Obsolete Packages and Functions
Deletions
Function changes
Name changes
Mathematical changes
To upgrade Release 4 code to Release 5, use the updtsrc utility. The GUI automatically upgrades Release 4 worksheets to Release 5.
The recall environment variables have been renamed from: ", "", """ to %, %%, %%% so that " quotes can be used for strings.
Names can now start with the character %. The expression %mod is not valid in Release 5: it must be % mod.
Use :: instead of : in a parameter declaration. An error message (instead of a warning) will result if : is used .
Lexical scoping is now available.
The exponentiation operator, '^', (which may also be written as '**') is now a function; this may affect type(..., '^'()) usage since the '^' will evaluate and may simplify.
With the addition of strings to Maple V Release 5, you might have to change sprintf to nprintf. Also, note that sscanf now returns a string for the %a format instead of a name.
The Maple expression substring(readline(),1..1)=`a` will never return true.
Type tests of the form type(...,string) may need to change to one of: type(..., string,symbol), type(...., atomic) or type(...., symbol).
New protected words:
MATRIX, PIECEWISE. UNKNOWN, VECTOR, index, undefined,
`^`, `**`, atomic, complexcons, hfarray,
label,
literal, restart, symbol, tracelast patchlevel
Strings and (quoted) names which span more than one line, and are not continued using a backslash character (\), result in a warning.
"This is a
Warning, incomplete string; use " to end the string
multiline string";
This is a multiline string
printf( % );
"This string is too but has been entered with \
continuation characters.";
This string is too but has been entered with continuation characters.
Changes in the internal representation of objects affect the hackware package; see kernelopts(dagtag).
Under UNIX, the system wide initialization file is now in lib/init instead of lib/src/init.
The command completion file is now called lib/cmds instead of lib/src/cmds.
On Windows/DOS, the user initialization file maplev4.ini has been renamed to maplev5.ini.
The Unix preferences file .xmaplev4rc, used by xmaple, has been renamed .xmaplev5rc.
Procedures now have seven operands (that is, "ops").
Rounding now occurs when using printf for floating point numbers. Also, all significant digits are printed instead of truncating the significant trailing zeroes.
LaTeX version 2.09 is no longer supported.
The grobner package is now a compatibility package that calls functions in the new Groebner package. Do not use the old grobner package to write new code; but rather, migrate it to the new Groebner package.
The command pdesolve has been superseded by the new, more powerful pdsolve. The pdesolve command will be removed in a future release of Maple.
The commands PDEchangevars and Dchangevar, both in the DEtools package, are replaced with the new command PDEtools[dchange], but are in Release 5 for compatibility with previous version. Users are advised to change their code to use PDEtools[dchange]. Note that PDEtools[dchange] also will replace (in a future version) student[changevar].
The plot devices i300, ln03, pic, regis, 1, and vt100 have been removed.
The tutorial function has been deleted.
The four argument form of grobner[gbasis] is now longer supported: the ordering-heuristic that was used to find some (unspecified) "good" ordering for a Groebner basis has been removed.
The format conversion specifiers %N and %M (used by printf-like functions) no longer exist.
For consistency with linalg[matrix], the command linalg[blockmatrix] now takes inputs as a list, not an expression sequence.
It is no longer necessary to issue the command readlib( stack ) to access the stack type.
The function linalg[stack] has been renamed linalg[stackmatrix], to avoid conflicting with stack.
The syntax of statplot has changed:
scatter1d, scatter2d -> scatterplot
notchedbox -> boxplot
quantile, quantile2, symmetry -> scatterplot
histogram -> optional arguments changed, area=, numbars=
boxplot[2] -> boxplot(shift=2, )
boxplot[2,3] -> boxplot(shift=2, width=3 )
notchedbox[2]->boxplot(shift=2,format=notched,...)
histogram[3]-> histogram(numbars=3,...);
quantile2-> scatterplot(format=quantile, ...)
quantile-> scatterplot(format=quantile, ...)
scatter1d -> scatterplot
scatter1d[stacked] -> scatterplot(format=stacked)
scatter1d[jittered] -> scatterplot(format=jittered)
scatter2d->scatterplot
xshift[x](y)->xshift(x,y)
symmetry->scatterplot(format=symmetry)
The define command has different arguments than in previous releases. Please see the define example worksheet for more information.
The whattype command can now return the value 'string' or 'hfarray'.
Some default simplifications have been moved from hypergeom to simplify,hypergeom.
The galois command has a new syntax.
The syntax of dsolve has changed in such a way that dsolve(..., laplace) needs to be written now as dsolve( ...,method=laplace).
Results from grobner[gbasis] may be returned in a different order than in Release 4. The new ordering is optimized to allow efficient reductions. See Groebner[reduce] for more information.
The spelling of the (old) commands cardiod, cardiodal, and cardiodcylindrical is corrected so that they are now called, respectively, cardioid, cardioidal, and cardioidcylindrical. See coordinate systems for more details.
The package maxorder has been split into numtheory[integral_basis] and algcurves[integral_basis]
The definition of arccoth has changed so that the branch cuts are more consistent with the other inverse trigonometric and inverse hyperbolic functions. The function used to be defined as 1/2*I*Pi+1/2*ln(x+1)-1/2*ln(1-x) but is now defined as 1/2*ln(-1-x)-1/2*ln(1-x).
The result of degree(0,...) is -infinity.
The result of ldegree(0,..) is infinity.
The command coeff(p(x),x,infinity) returns 0.
The command coeff(p(x),x,-infinity) returns 0.
The command evalhf can return infinity and undefined.
The definition of LREtools[dispersion] has changed.
The definition of Testzero has been changed in such a way that it now uses Normalizer by default.
Dsolve returns expression sequences of answers.
The sqrfree factorization function will produce results sqrfree(0)=[0,[]] and sqrfree(a,x)=[a,[]]. It will also return partial factorizations when it is possible to do so (at no extra cost).
The MeijerG definition has changed from a 3-argument special version to a modified definition of the general MeijerG function. See the help page for details
Download Help Document