New Numerics in Maple 6
Maple 6 offers a wealth of features for the serious numerical scientist. For the casual user, of particular interest is the "kinder, gentler" approach that is taken toward boundary events.
Extensions to IEEE StandardsDirect Support for Handling Numeric EventsNew Floating-Point ZeroNew Complex Data StructureFurther Details and Examples
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk0">Extensions to IEEE Standards</Text-field>
For careful control of numeric computations, Maple 6 implements a natural extension to arbitrary precision and exact arithmetic of the IEEE-754 and IEEE-854 standards.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk1">Direct Support for Handling Numeric Events</Text-field>
Maple 6 provides for the detection, signaling, and handling of exceptional events such as division by zero and overflow. This functionality extends into the exact arithmetic domain (operations on integers and fractions).
For the casual user, Maple's enhanced numerical functionality means that computations which, in previous releases, would have terminated with error messages, will now continue by using reasonable default values for the results of problematic operations. For example, Maple 6 will return 1 for the computation 0^0 (and at the same time raise a status flag to say that it has done so, so that the user who prefers a different result from this computation can automatically obtain that different result).
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk2">New Floating-Point Zero</Text-field>
Maple 6 also introduces a floating-point zero with preserved sign. This enables more careful evaluation of functions that have branch cuts in the complex domain, as well as infinities and undefineds (what IEEE-754 calls "NaN", meaning "Not a Number") in both the symbolic and floating-point domains.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk3">New <Font style="Help Maple Name">Complex</Font> Data Structure</Text-field>
The inner workings of the Maple 6 kernel have been modified so that complex numbers are represented with their own data structure. This provides for faster computation with complex numerics, as well as the ability to represent objects such as 1.0 + 0.0*I, as distinct from 1.0 (the difference being very important for the proper handling of branch cuts of multivalued functions).
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk4">Further Details and Examples</Text-field>
Together with the significant enhancements in Maple 6 in the area of computational linear algebra, these extensions to Maple's capabilities make Maple 6 your tool of choice for serious numerical work.
To learn more about the various components of Maple 6's numerics, see the following pages.
General Overview (?numeric_overview)
Difference Between Maple and the IEEE Standards (?IEEEdiffs)
Handling Numeric Events (?events)
Floating-Point Evaluation (?evalf)
Numeric Data Structures:
Complex (?complex)
Float (?float)
Fraction (?fraction)
Integer (?integer)
Numeric Data Types (?numeric_type)
Controlling the numeric environment:
Digits (?Digits)
Rounding (?Rounding)
References (?numericrefs)