Title: ITC Research Computing Support Whats New in Maple 9
1ITC Research Computing SupportWhats New in
Maple 9
- By Kathy Gerber
- Research Computing Support Center
- Phone 243-8800 F Fax 243-8765
-
- E-Mail Res-Consult_at_Virginia.EDU
- http//www.itc.Virginia.edu/researchers
2New Maple Users
- Complete the Quick New Users Tour, a focused
overview of the Maple system (about 10 minutes). - Complete the New Users Tour, an in-depth,
comprehensive overview of the Maple system. - Refer to the How to Perform Basic Tasks, a quick
summary of the most common Maple commands,
syntax, and more. Notes for Maple 8
http//www.itc.virginia.edu/research/talks/html/ma
ple8.html
3Three InterfacesClassical Interface
4Command Line Interface
5New Interface
- Java-based
- Slow !!
- Both the Classic and Standard interfaces have
access to the full mathematical engine of Maple 9
and take advantage of the new functionality in
Maple 9. - If your system has less than the recommended
amount of physical memory, Maple suggests that
you use the Classic Worksheet version of Maple 9. - According to Maple, the new Standard Worksheet
interface provides more flexible formatting with
fonts and colors, better menu organization,
easier management of sections and subsections,
free-form sketch regions, and many other
improvements. - Some find it too slow to be useful.
6Worksheet Format
Maple 9 worksheets are saved in a new XML-based
format. The new file extension for these
worksheets is .mw. Maple 9 can read worksheets
from previous releases of Maple. The Save as
Maple 8 Worksheet option exists for cases where
the worksheet also needs to be read by older
releases of Maple it creates a worksheet file in
the .mws format. Note that whenever an older
release of Maple reads a worksheet created in a
new release, newer features will not be available
and command results may change.
7Inserting Images
UNIX and Macintosh based users can now insert
images directly into worksheets. Previously, this
was available only to Windows users. A variety
of formats, such as .jpeg, .tif, and .pnm, are
supported. Images are incorporated by using the
Insert dialog. This dialog is accessed by
selecting Insert from the main menu and then
Image.
8OpenMaple Application Programming Interface (API)
to Maple
OpenMaple is a suite of functions that allows
you to access Maple algorithms and data
structures in your compiled C program.
OpenMaple provides the ability to start a Maple
session, evaluate commands, manipulate native
Maple data structures, and control output.
9define_external
- Method to connect to a custom external wrapper
library - Before any C or Fortran function can be used with
define_external, it must first be compiled into a
shared library. Java functions must be compiled
into .class files. - Built-in functions for converting a native C data
structure to a Maple object and vice versa.
10Code Generation for MATLAB and Visual Basic
- The CodeGeneration package contains two new
target languages, MATLAB and Visual Basic. - The code translators for Java, C, and Fortran are
improved. - The new extensibility subpackage allows you to
modify the built-in translators and create new
translators for other languages.
11Assumption Changes
- In Maple 9, some assumptions have been removed.
These are - x0 and 0/x do not automatically simplify to 0
if the value of x renders this simplification
invalid. If x is an unassigned name, the
simplification proceeds. - 0x 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. - xx does not automatically simplify to x2.
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.
12Interactive ODE Analyzer
- Launch with dsolveinteractive()
13Function Advisor
- FunctionAdvisor()
- Based on "The function wizard project A Computer
Algebra Handbook of Special Functions,
Cheb-Terrab, E.S.
14Initially known mathematical functions
-
- Mathematical functions that are known to Maple,
in that they have simplification procedures
defined and/or are known to one or more of diff,
evalc, evalf, expand, series, simplify - Search help for inifcn and ininames
15GNU GMP
- The GNU Multiple Precision (GMP) library is a
portable library written in C for arbitrary
precision arithmetic on integers, rational
numbers, and floating-point numbers. Maple 9 uses
GMP library for integer arithmetic when operands
are greater or equal to 10kernelopts(gmpthreshold
). - The default on Windows is 108.
16GNU Multiprecision Library
- Maple commands that directly benefit from the GMP
library.
- (addition) - (subtraction)
(multiplication) / (division)
(exponentiation) iquo
(quotient) irem (remainder)
isqrt (square root) igcd - ilcm (least common multiple) ! (factorial)
isprime (primality test)
- The following Maple commands indirectly benefit
from the GMP because they use the previous
commands extensively. - add mult mod nextprime
prevprime ithprime - trunc round frac floor
ceil ifactor
17Speed Increase
- The following example runs in 160 seconds on
Maple 8 but only in 6 seconds on Maple 9. - add(1/k2, k1..100000)
18Linear Algebra
The Basic Linear Algebra Subprograms (BLAS)
libraries for Sun and Linux platforms now have
built-in architecture-specific optimizations, as
well as expected updates resulting from an
upgrade to newer versions of ATLAS BLAS. Run time
for multiplication of two 1000x1000 random
float8 matrices Platform/Arch
Maple 8 Maple 9 Linux/PII
8.45 7.46 Linux/PIII 4.38
4.35 Linux/P4 1.96
0.99 Linux/Athlon 3.62 2.55
Linux/Athlon XP 1.77 0.98
Sun/Sparc 45.74 42.28
Sun/Ultra 5.11 3.14
19New Packages in Maple 9
Student Packages Precalculus and Linear
Algebra ScientificErrorAnalysis DiscreteTransforms
ArrayTools FileTools CodeTools IntegerRelations g
fun MathematicalFunctions QDifferenceEquations LRE
toolsHypergeometricTerm
20Student
Two new packages have been added to the Student
package Precalculus and LinearAlgebra
21Discrete Transforms
- The new Discrete Transforms package computes
the fast Fourier transform (and inverse
transform) of single or multi-dimensional data. - The FourierTransform and InverseFourierTransform
functions work in hardware precision, so are
limited to 15 Digits of accuracy, but run in
compiled code, so are very fast.
22Array Tools
- The new ArrayTools package provides low-level
manipulation of rectangular Arrays, Vectors, and
Matrices, and rectangular Array, Vector, and
Matrix data aliasing. This package is provided
primarily for programming purposes. - Examples of the capabilities that this package
provides are - Efficient data filling (ArrayToolsFill).
- Raw data copying of portions of one Array to
another (ArrayToolsCopy). - In-place data reordering (ArrayToolsDataTranspos
e) - Aliasing the data (or part of the data) of an
Array to another Array with, for example,
different ordering, indices, or dimensions
(ArrayToolsAlias)
23File Tools
The FileTools package is a collection of file
manipulation utilities. It contains submodules
for both text and binary.
24Code Tools
- The CodeTools package contains subpackages and
functions to help improve the efficiency and
quality of Maple code.
25Integer Relations
- identify - find a closed form for a decimal
approximation of a number. Attempts to convert a
floating point number to a symbolic value. - freeze, thaw - replace an expression by a name
(not new)
26Generating Functions
- The new gfun package produces and manipulates
generating functions. - The package provides tools to compute with
generating functions defined by equations. For
example, given two generating functions defined
by linear differential equations with polynomial
coefficients, there is a procedure that computes
the differential equation satisfied by their
product.
27Mathematical Functions
- In addition to using mathematical functions
computationally, you also need general
information about their properties, for example,
definitions, identities, integral forms, and
series expansions. You can refer to a handbook
like Abramowitz Stegun for general information,
but it does not indicate, for example, the
definition used in the Maple system. - You can use the MathematicalFunctions package and
related FunctionAdvisor command as simple
interfaces to the information appropriate to the
Maple implementation.
28Upcoming Talks
On Wednesday, November 5, the topic will be
"Getting Started with HPC Tools Tricks" This
talk is an introduction to using
the High-Performance Computing (HPC) platforms at
UVa. Then on Wednesday, November 12 at 330,
the colloquium will be "Introduction to
Mathematica 5.0" For details about this talk,
please see this month's newsletter at
http//www.itc.virginia.edu/research/news/newslett
erOct03.htmlseminars As always, the notes
from the talks will be available shortly
after each talk on the Web at
http//www.itc.virginia.edu/research/talks