Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
Numeric Computation References
Description
The numeric computation environment in Maple is based on the IEEE Standard 754 for Binary Floating-Point Arithmetic [1], and its subsequent generalization to base 10 machines, known as IEEE/854 [2]. These standards have natural generalizations to the arbitrary precision computing environment in Maple, and by adopting such natural generalizations the hardware and software numeric computing environments are formed into a cohesive whole.
The hardware computation environment simulated within Maple (currently under development) is referred to as the Maple hardware computation environment, to distinguish it from the underlying physical hardware computation environment.
Floating point systems are specified by four parameters, Fl(B, p, L, U), and elements of these systems are specified by three parameters, (s, m, e):
s is the sign of a floating-point number,
m is its (unsigned) mantissa, and
e is its exponent.
Certain values of these parameters are reserved for special values (for example, to represent objects within the system that do not have interpretations as numbers). Otherwise, the number represented is s * m * B^e.
B is the base of the number system.
p is the precision. It specifies the maximum number of base-B digits in the mantissa of a floating-point number in the machine. Unspecified trailing digits, if any, are assumed to be 0.
L is the largest negative (base-B) exponent of a representable number. The smallest positive, normalized, representable number is (1, 1, L).
U is the largest positive (base-B) exponent of a representable number. The largest positive representable number is (1, ddd...d, U), where the mantissa has p d's and d = B - 1.
Maple's software floating-point environment can be viewed as a large (effectively infinite) collection of distinct virtual machines, with b = 10, and these machines are distinguished only by the value of the parameter p. That is, all machines are base 10, and floating-point numbers in all machines have the same ranges of possible exponent values. The smallest value of p is 1; the largest can be dependent on the underlying physical machine architecture.
Note: To avoid certain difficulties, Maple considers the largest representable software float to be (1, 9, U), independent of Digits.
These virtual machines coexist with each other according to the following rule: A software float (s,m,e) belongs to no virtual machine until it is used in a computation in which a specific virtual machine is required, at which time it is "entered" into that machine. "Entering" a software float (s, m, e) into a machine Fl(10, p, L, U) requires nothing to be done if the length of m is no more than p. However, if the length of m is more than p, then m must be properly rounded to p digits. Similarly, software floats are "entered" into the Maple hardware computational environment only when this operation is required, and Maple hardware floats are "entered" into a virtual machine only when required. A software float that results from a floating-point computation is again treated as belonging to no specific virtual machine.
References
[1] "IEEE Standard 754-1985 for Binary Floating-Point Arithmetic." Reprinted in ACM SIGPLAN Notices, Vol. 22 No. 2. (1987): 9-25.
[2] "A Proposed Radix- and Word-Length-Independent Standard for Floating-Point Arithmetic." Reprinted in IEEE Micro, (August 1984): 86-100.
[3] Goldberg, D. "What Every Computer Scientist Should Know About Floating-Point Arithmetic." ACM Comp. Surv. Vol. 23. (1991): 5-48.
[4] "Programming Languages - C." ISO/IEC 9899 "C9X" (esp. Annexes "F" and "G").
[5] "Information technology - Language independent arithmetic." ISO/IEC 10967-1 (1994).
Download Help Document