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
Accessing Top-level Commands after Rebinding Their Names
Some commands in Maple have similar names. For example, the top-level command name diff is similar to the package-level command name VectorCalculus[diff].
When the short-form name of package-level command is defined using the with command, the short-form name is bound to the package-level command. This happens regardless of whether a top-level command with the same name, protected or not, exists. For example, after issuing with(VectorCalculus, diff), the command name diff refers to the package-level VectorCalculus[diff] command.
You can still directly access the top-level command after its name has been rebound if the package invoked is implemented as a module, but not if the package is implemented as a table.
How to determine if a package is implemented as a module or table
Use the type command to determine if a package is implemented as a module or as a table.
type(packagename, `module`);
type(packagename, table);
For example,
type(networks, '`module`');
type(VectorCalculus, '`module`');
Once you have determined how the package has been implemented, follow the instructions in one of the following sections.
Packages Implemented as Modules
Packages Implemented as Tables
To use a top-level command after its name has been rebound to a package-level command, use the colon-dash syntax (:-commandname).
The following example intentionally employs an error message to illustrate which command level is used.
diff( );
Error, invalid input: diff expects 2 or more arguments, but received 0
Note: The message refers to the top-level diff command.
Now invoke the VectorCalculus package.
with(VectorCalculus);
The VectorCalculus package contains a diff command. For differences between the two commands, see diff and VectorCalculus[diff].
Enter the diff(); command again.
diff();
Error, invalid input: VectorCalculus:-diff uses a 1st argument, f, which is missing
The message now indicates that the error is generated by the VectorCalculus package-level command and not the top-level diff command.
To use the top-level diff command, use the :- syntax.
:-diff();
Note: The message once again indicates that the error is generated by the top-level diff function.
To use a top-level command after its name has been rebound to a package-level command, you must first use the restart; command.
minimize();
Error, invalid input: minimize uses a 1st argument, exprFP (of type algebraic), which is missing
Note: The message refers to the top-level minimize command.
with(simplex);
The simplex package contains a minimize command.
Error, invalid input: minimize uses a 1st argument, obj, which is missing
Note: The message refers to the package-level simplex[minimize] command.
:-minimize();
Note: Packages implemented as tables overwrite any conflicting top-level commands when you invoke the package. You cannot access the top-level command by using the :- syntax.
To use the top-level minimize command, first invoke the restart command.
restart;
Note: The message once again refers to the top-level minimize command.
See Also
protect, Using Packages, with
Download Help Document