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
frontend - process general expression into a rational expression
Calling Sequence
frontend(p, x, f, arg1,..., argn)
Parameters
p
-
procedure
x
list of arguments to p
f
(optional) list of two sets: first, a set of type names not to be frozen; second, a set of expressions not to be frozen (default is [{`+`,`*`},{}])
argi
(optional) further arguments to p; these arguments are not to be frozen
Description
The purpose of frontend is to extend the domain of computation for many of the functions in Maple.
For example, the procedure used by the Maple normal function is defined to work over the domain of rational functions. Thus, to handle more general expressions such as expressions involving or reasonably, frontend is used to ``temporarily freeze'' all occurrences of such expressions for unique names. This is always valid.
However, it is important to understand that the zero equivalence property of the normal function is only guaranteed if the subexpressions that are frozen are algebraically independent.
Each item in the list x is ``frozen''. The order in which the ``freezing'' occurs is as follows.
The following are not frozen: integers; rationals; floats that are of type numeric; strings; and names that are not of type constant.
If the argument is of type `+`, `*`, or `^` and the exponent is an integer, then freezing is applied recursively.
If the argument has any subexpression in the set of expressions, then freezing is applied recursively.
If the argument is one of the types in the set of type names, freezing is applied recursively.
Otherwise, the expression is substituted for a unique name.
The procedure p is then evaluated with the ``frozen'' argument(s). Any frozen names occurring in the result are substituted back for their original subexpressions.
The frontend function does not work with functions that assign a value to the function argument(s). For example, gcdex works but not if you specify the optional arguments.
Thread Safety
The frontend command is thread-safe as of Maple 15.
For more information on thread safety, see index/threadsafe.
Examples
See Also
freeze
Download Help Document