Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
evaldomains - evaluation of Maple-expressions in a Domains domain
Calling Sequence
evaldomains[D](expr)
Parameters
expr
-
Maple-expression
D
Domains domain
Description
evaldomains[D](expr) evaluates the Maple-expression expr in the Domains domain D and returns a Maple-expression. evaldomains provides a Maple-like user-interface, data-encapsulation and type-checking for the arguments of Domains-functions. It is intended to simplify interactive use of Domains and is not intended to be used as a coding tool for writing Domains programs.
domain-Input/Output functions are implicitly applied during evaluation of the expression, hiding the data-representation of domain-elements. The type of arguments passed to domain-operations is checked against the signatures of the operations. The signatures of the domain operations are accessible through the command show(D, operations).
All the operations within expr are assumed to be operations in the specified Domains-domain D.
The following example shows the difference at the user-interface level:
domain := DenseUnivariatePolynomial (Zmod(7), x):
Using Domains syntax:
domain[Output](domain[`*`](domain[Input](x^2-3*x+1),domain[Input](2*x^3-4)));
Using the more familiar Maple syntax:
evaldomains[domain]((x^2-3*x+1)*(2*x^3-4));
If evaluations of several expressions in one domain are to be performed, it is often preferable to create a domain-evaluator with the use of aliases:
alias (dup = evaldomains[domain]):
Since the expression passed to evaldomains is first processed by the Maple parser, the user has to be aware of the built-in simplifications, reordering of operands and evaluation of top-level functions. Hence, the following is always simplified to 0.
evaldomains[domain] (Random() - Random());
An example for evaluation of top-level functions within the call of evaldomains can be obtained by the following
galoisfield := GaloisField (13, 2):
evaldomains[galoisfield](order(Random()));
Error, invalid input: order expects its 1st argument, expr, to be of type series, but received Random()
which results in an error, since order is a builtin top-level function which will be evaluated before the expression is passed to evaldomains. In order to prevent such behavior, the user is advised to use forward quotes where necessary.
evaldomains[galoisfield]('order'(Random())); ...
Furthermore, if the domain has non-commutative multiplication or addition, the &-version of the operator has to be used in order to prevent reordering of the operands, e.g.
Sm := SquareMatrix (2, Z): alias (sm = evaldomains[Sm]):
A := sm (Random());
sm (A &* (A + 1));
evaldomains is only available after performing the command with(Domains).
Examples
---------------------- Domains version 1.0 --------------------- Initially defined domains are Z and Q the integers and rationals Abbreviations, e.g. DUP for DenseUnivariatePolynomial, also made
Create a Dup-evaluator using the alias statement
evaldomains outputs even compound data-structures and ...
call-by-name parameters nicely (ie. not in their internal representation)
Re and Im are also top-level Maple functions which must be quoted in order to prevent evaluation by the Maple parser
See Also
Domains
Download Help Document