# Maple Packages

Bare-bones Maple is quite powerful, but Maple provides a number of packages that dramatically enhance its usefulness. These include packages to enlarge plotting capabilities, do linear algebra, generate random numbers, and other useful things. A list of just a few such packages follows.

Package | Purpose | Example Procedures |
---|---|---|

DEtools | Differential Equations | DEplot, autonomous, varparam, poincare |

Exceltools | Facilitate access to MS Excel | Export, Import |

GraphTheory | Create, test and draw graphs | DrawGraph, Graph, Digraph |

LinearAlgebra | Calculations with matrices and vectors | Transpose, Determinant, Dimension, Eigenvalues |

MathML | Translate to and from MathML | Export, Import |

numtheory | Number Theory | cfrac, kronecker, fermat, rootsunity |

orthopoly | Orthogonal Polynomials | G, H, L, P, T |

plots | Fancy Plots | contourplot3d, implicitplot, display, loglogplot, polygonplot |

RandomTools | Random number generation | Generate, MersenneTwister, GetState |

RootFinding | Find roots numerically | Analytic, EnclosingBox, NextZero |

XMLTools | Manipulate XML files | AddAttribute, HasAttribute, IsAttribute, CleanXML |

There are a couple of ways to use packages. The easiest is simply to
load the entire package into Maple using the `with` command.

with(plots);

On the other hand, there are times when memory is at a premium, or when
you only need a single procedure from the package. In that case it is
probably better to load only what you need. In that case you can
call a procedure by naming the package in which it resides, followed
by the procedure name in brackets. Remember that this is just
a long way to specify a procedure: after that comes the usual argument
list.

plots[display]([plot1,plot2]);

A solution for the
final is available.