
Cache Package



The Cache package is a set of functions for manipulating the new Cache data structure. A Cache can be used like a table; however, a Cache stores two types of elements, permanent and temporary. Permanent elements are like those of a table, once inserted they remain in the table until removed. Temporary elements are stored as long as the Cache has space to store them. When a new temporary element is inserted, an older one may be removed.


Caches are primarily intended to be used as remember tables. Elements that are added automatically are added as temporary. This restricts the remember table to store only recently accessed elements. Important remember table entries can be stored as permanent entries, assuring that they are not automatically removed.



ContextMenu Package



The ContextMenu package provides tools to control and customize Maple contextsensitive menus. It supersedes the context package. A contextsensitive menu is generated when a user rightclicks (Controlclick on Macintosh platforms) a Maple expression.


The information necessary to build contextsensitive menus is encapsulated in context menu modules. The module corresponding to the builtin context menu is available as ContextMenu[CurrentContext]. To build a new context menu module, which replaces the default, see ContextMenu[New].


Within a context menu module, you can add new entries to the context menu or alter the criteria under which entries are displayed in a menu. For more information, see ContextMenu[CurrentContext].



Logic Package



The Logic package is a collection of commands for manipulating and transforming expressions using twovalued Boolean logic.


With the Logic package, you can simplify logical expressions, test two expressions for equivalence, convert logical expressions to algebraic expressions modulo 2, and perform a variety of other logical operations. In the following example, the dual of a logical expression is computed using the Logic[Dual] command.

>

Dual( (x &and y) &implies z );

${\neg}\left({z}{\Rightarrow}\left({x}{\vee}{y}\right)\right)$
 (1) 


MmaTranslator Package



The MmaTranslator package converts Mathematica commands and notebooks to Maple commands and worksheets.


You can use the FromMma and FromMmaNotebook commands or the Mathematica to Maple Translator Maplet application for the translation.



Optimization Package



The Optimization package is a collection of commands for numerically solving optimization problems, which involve minimization or maximization of an objective function possibly subject to constraints. The package takes advantage of builtin library routines provided by the Numerical Algorithms Group (NAG). Key features are described as follows.

•

The package provides the ability to solve linear programs, quadratic programs, nonlinear programs, and both linear and nonlinear leastsquares problems. For nonconvex problems, local solutions are computed. Both unconstrained and constrained problems are accepted.

•

An Interactive Maplet application provides and easytouse interface to all of the computation routines in the Optimization package, including the Minimize and Maximize commands. Alternatively, users can take full advantage of the solvers' capabilities by calling the specialized routines: LPSolve for linear programs, QPSolve for quadratic programs, NLPSolve for nonlinear programs, and LSSolve for leastsquares problems. The following examples demonstrate the Minimize and QPSolve commands. The solution consists of the final objective function value followed by a point at which this value is attained.

$\left[{\mathrm{ImportMPS}}{\,}{\mathrm{Interactive}}{\,}{\mathrm{LPSolve}}{\,}{\mathrm{LSSolve}}{\,}{\mathrm{Maximize}}{\,}{\mathrm{Minimize}}{\,}{\mathrm{NLPSolve}}{\,}{\mathrm{QPSolve}}\right]$
 (2) 
>

Minimize(sin(x)/x, x=1..10);

$\left[{\mathrm{0.217233628211222}}{\,}\left[{x}{=}{4.49340945753529}\right]\right]$
 (3) 
>

QPSolve(2*x+5*y+3*x^2+3*x*y+2*y^2, {xy>=2});

$\left[{\mathrm{3.53333333333333}}{\,}\left[{x}{=}{0.466666666666667}{\,}{y}{=}{\mathrm{1.60000000000000}}\right]\right]$
 (4) 
•

The Optimization package commands allow a simple and natural way to express the objective function and the constraints using algebraic expressions. Alternative forms of input using procedures, Vectors, and Matrices are available, which provide greater flexibility and efficiency. For a summary of the various ways in which the optimization problem can be expressed, see Optimization[InputForms]. In addition, the package features the Optimization[ImportMPS] command for importing linear programs in MPS format.

•

Computations can be performed using hardware floatingpoint data or arbitraryprecision software floatingpoint data. The Optimization commands automatically select the most appropriate floatingpoint computation environment and attempt to solve the problem as efficiently as possible. For details concerning numeric computation in the Optimization package, see the Optimization[Computation] help page.



RootFinding Package




Student[MultivariateCalculus] Package



A new package for multivariate calculus is available in the Student package. The Student[MultivariateCalculus] package assists with the teaching and learning of the calculus of functions from ${R}^{n}$ to $R$. Interactive tutors are provided covering the basic concepts, and a range of commands are included that allow exploration of these and other concepts in greater depth.



