Subcategories

Maple Règles et fonctions essentielles Nicolas Puech

Posted By: kibitzer
Maple Règles et fonctions essentielles Nicolas Puech

Maple Règles et fonctions essentielles Nicolas Puech
Springer Editions (16 mars 2009) | ISBN: 2287252010 | 206 pages | PDF | 3 MB

« Rien de plus original, rien de plus “soi” que de se nourrir des autres.Mais il faut les digérer. Le lion est fait mouton assimilé. »Paul Valéry, Choses tuesProposer un nouvel ouvrage traitant du logiciel Maple peut paraîtrprésomptueux. En effet, la consultation du site web de la société Maplesoft1
— qui développe et diffuse le logiciel — permet de dénombrer, toutes
langues de publication confondues, une bibliographie riche de plus de trois
cents titres en rapport avec Maple.
Ces livres, surtout rédigés en anglais, abordent principalement des applications
de Maple à un domaine scientifique particulier. En revanche, fort
peu présentent les principes fondamentaux de l’utilisation du logiciel, du
fonctionnement de l’interpréteur et du langage de programmation.
Depuis la commercialisation de Maple, de nombreuses versions du logiciel
se sont succédé. Si une nouvelle version ne change pas fondamentalement
la pratique du calcul formel, elle apporte de nouvelles bibliothèques de
fonctions, des améliorations des interfaces utilisateur et parfois de nouvelles
règles syntaxiques. Au fil du temps, les changements se sont accumulés. De
nouveaux types de données plus efficaces sont apparus. Des commandes ont
été étendues ou modifiées. La syntaxe et certaines règles de programmation
ont évolué. Maple propose désormais un langage de programmation
impératif moderne et complet, dont les règles et le fonctionnement sont
conformes aux standards en la matière (typage et filtrage des paramètres,
règles de visibilité des variables globales et locales, délimiteurs de structures
de contrôle, outils pour le débogage), le tout s’accompagnant de types
et de structures de données souples et puissants. En général, une version
de Maple est capable de lire un document (feuille de travail) réalisé dans
une autre version plus ancienne et de le convertir au format le plus récent.
En revanche, la plupart des ouvrages présentent, par la force des choses,
des exemples à la syntaxe partiellement obsolète, ou qui n’exploitent pas
les avantages de la syntaxe actuelle.
L’environnement de travail et le langage de programmation très souples
proposés par Maple procurent un agrément d’utilisation appréciable. En
particulier, l’interpréteur n’oblige pas à déclarer ou à typer les variables
utilisées. Écrire des instructions ou un programme syntaxiquement corrects
mais dont la sémantique n’est pas conforme aux intentions de l’utilisateur,
s’avère ainsi (trop) facile. De même, Maple met à disposition des structures
de données puissantes dont certaines, comme les séquences ou les
tables, suivent des règles de fonctionnement souvent mal maîtrisées. La
méconnaissance de quelques principes peut provoquer des erreur ou empêcher
l’utilisateur de traiter certaines questions d’apparences simples. Il
convient donc de détailler explicitement les principes et les règles de fonctionnement
de Maple, afin de battre en brèche certaines idées reçues — en
particulier celle, assez répandue, selon laquelle Maple ne permettrait pas
d’écrire convenablement des programmes.
Cet ouvrage a pour objectif d’exposer, en français, et de manière synthétique,
les règles et principes essentiels qui régissent le fonctionnement
de l’interpréteur et du langage de programmation de Maple ; les exemples
proposés utilisent les règles syntaxiques de la version 12 du logiciel, soit la
plus récente à la date de la rédaction.
La présentation adoptée dans ce livre se nourrit de l’expérience pédagogique
de l’auteur auprès de différents publics : classes préparatoires
aux grandes écoles scientifiques, IUT, Grande École, formation continue.
L’exposé introduit progressivement les notions élémentaires nécessaires à
la compréhension des thèmes abordés ; ainsi s’adresse-t-il aussi bien aux
débutants qu’aux utilisateurs familiers de l’informatique ou de Maple.
Le premier chapitre livre les informations essentielles à la prise en main
du logiciel. Il décrit les caractéristiques de l’interface classique (classic interface),
de la feuille de travail et de l’interpréteur de commandes. Le
lecteur pourra faire ses premiers pas avec Maple grâce à quelques exemples
simples, et aborder les notions de variable et d’affectation, l’aide en ligne
ainsi que l’organisation de Maple en bibliothèques. Le débutant consultera
avec profit la liste des erreurs fréquentes.
Le chapitre 2 présente les types fréquemment utilisés et dont il convient
de connaître les propriétés fondamentales. Sont étudiées les constantes, les
différents types de nombres, les booléens, les types collectifs pouvant décrire
des énumérations d’objets — notamment les séquences qui présentent
des propriétés particulières, les ensembles et les listes —, les chaînes de caractères
et enfin les tables avec les tableaux et les matrices qui en dérivent.

Sommaire
Avant-propos ix
Conventions typographiques 1
1 Prise en main 3
1.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 En quoi consiste le calcul formel . . . . . . . . . . . . . . . 4
1.2.1 Calcul formel et calcul numérique . . . . . . . . . . . 4
1.2.2 La puissance du calcul formel . . . . . . . . . . . . . 5
1.3 Composants du logiciel . . . . . . . . . . . . . . . . . . . . 8
1.3.1 La feuille de travail . . . . . . . . . . . . . . . . . . . 8
1.3.2 L’interpréteur . . . . . . . . . . . . . . . . . . . . . . 9
1.3.3 Le langage de programmation . . . . . . . . . . . . . 10
1.3.4 Les différentes interfaces . . . . . . . . . . . . . . . . 10
1.3.5 Versions successives du logiciel . . . . . . . . . . . . 11
1.4 Premiers pas avec Maple . . . . . . . . . . . . . . . . . . . 12
1.4.1 L’invite . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Caractères de fin de saisie . . . . . . . . . . . . . . . 12
1.4.3 Groupement d’instructions . . . . . . . . . . . . . . 13
1.4.4 Commentaires . . . . . . . . . . . . . . . . . . . . . 15
1.4.5 Enregistrer son travail . . . . . . . . . . . . . . . . . 15
1.5 Variables et affectation . . . . . . . . . . . . . . . . . . . . 15
1.5.1 Noms de variables . . . . . . . . . . . . . . . . . . . 16
1.5.2 Affectation . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.3 Noms de variables fondés sur des lettres grecques . . 18
1.5.4 Commandes inertes . . . . . . . . . . . . . . . . . . 21
1.5.5 Opérateur dito . . . . . . . . . . . . . . . . . . . . . 22
1.5.6 Nettoyage de la mémoire de travail . . . . . . . . . . 23
1.5.7 Désaffecter une variable . . . . . . . . . . . . . . . . 24
1.6 Utilisation de l’aide en ligne . . . . . . . . . . . . . . . . . 25
1.6.1 L’opérateur “ ?” . . . . . . . . . . . . . . . . . . . . . 25
1.6.2 Recherche par sujet . . . . . . . . . . . . . . . . . . 25
xvi Maple : règles et fonctions essentielles
1.6.3 Recherche plein texte . . . . . . . . . . . . . . . . . 25
1.6.4 Autres ressources . . . . . . . . . . . . . . . . . . . . 26
1.7 Les bibliothèques de fonctions (packages) . . . . . . . . . . 26
1.8 Erreurs classiques du débutant . . . . . . . . . . . . . . . . 29
1.8.1 Oubli du caractère de fin d’instruction . . . . . . . . 29
1.8.2 Confusion entre égalité et affectation . . . . . . . . . 30
1.8.3 Confusion entre pi et Pi . . . . . . . . . . . . . . . . 31
1.8.4 Confusion entre e et exp(1) . . . . . . . . . . . . . . 31
1.8.5 Confusion entre i et I . . . . . . . . . . . . . . . . . 32
1.8.6 Oubli du caractère “*” dans un produit . . . . . . . 32
1.8.7 Signe d’une constante . . . . . . . . . . . . . . . . . 33
1.8.8 Chronologie d’exécution et présentation matérielle . 34
2 Types fondamentaux 35
2.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2 L’arborescence des types de Maple . . . . . . . . . . . . . . 36
2.3 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.1 Constantes numériques célèbres connues de Maple . 37
2.3.2 Autres constantes numériques usuelles . . . . . . . . 39
2.3.3 Introduire une nouvelle constante dans le système . 40
2.4 Booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5 Nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.1 Nombres entiers relatifs . . . . . . . . . . . . . . . . 43
2.5.2 Nombres rationnels . . . . . . . . . . . . . . . . . . . 47
2.5.3 Radicaux . . . . . . . . . . . . . . . . . . . . . . . . 49
2.5.4 Nombres complexes . . . . . . . . . . . . . . . . . . 50
2.5.5 Nombres à virgule flottante . . . . . . . . . . . . . . 52
2.5.6 Le type numeric . . . . . . . . . . . . . . . . . . . . 56
2.5.7 Maple pratique la surcharge . . . . . . . . . . . . . . 58
2.6 Séquences, listes et ensembles . . . . . . . . . . . . . . . . . 58
2.6.1 Séquences . . . . . . . . . . . . . . . . . . . . . . . . 59
2.6.2 Ensembles . . . . . . . . . . . . . . . . . . . . . . . . 63
2.6.3 Listes . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.7 Chaînes de caractères . . . . . . . . . . . . . . . . . . . . . 70
2.8 Tables, tableaux et matrices . . . . . . . . . . . . . . . . . 74
2.8.1 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.8.2 Tableaux . . . . . . . . . . . . . . . . . . . . . . . . 77
2.8.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.9 Quelques autres types utiles . . . . . . . . . . . . . . . . . 88
2.9.1 Le type équation . . . . . . . . . . . . . . . . . . . . 88
2.9.2 Le type intervalle . . . . . . . . . . . . . . . . . . . . 89
2.9.3 Le type procédure . . . . . . . . . . . . . . . . . . . 90
Sommaire xvii
3 Évaluation 91
3.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2 Évaluation et affectation . . . . . . . . . . . . . . . . . . . 91
3.3 Évaluation différée . . . . . . . . . . . . . . . . . . . . . . . 92
3.4 Niveaux d’évaluation . . . . . . . . . . . . . . . . . . . . . 94
3.5 Règles d’évaluation . . . . . . . . . . . . . . . . . . . . . . 97
3.5.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . 97
3.5.2 Évaluation des variables de type simple . . . . . . . 98
3.5.3 Évaluation des variables de type agrégé . . . . . . . 100
3.5.4 Évaluation d’une variable locale ou d’un paramètre . 101
3.5.5 En résumé . . . . . . . . . . . . . . . . . . . . . . . . 104
3.6 Évaluation et appel de fonction . . . . . . . . . . . . . . . . 105
3.7 Commandes liées à l’affectation . . . . . . . . . . . . . . . 108
3.7.1 Une autre façon de procéder à une affectation . . . . 108
3.7.2 État d’une variable . . . . . . . . . . . . . . . . . . . 109
3.7.3 Désaffecter une variable . . . . . . . . . . . . . . . . 111
3.8 La commande eval et ses dérivées . . . . . . . . . . . . . . 112
3.8.1 La commande eval . . . . . . . . . . . . . . . . . . 112
3.8.2 Commandes spécifiques . . . . . . . . . . . . . . . . 113
4 Programmation 115
4.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.2 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . 116
4.2.1 Branchement conditionnel . . . . . . . . . . . . . . . 116
4.2.2 Itération non conditionnelle . . . . . . . . . . . . . . 120
4.2.3 Itération conditionnelle . . . . . . . . . . . . . . . . 121
4.3 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.3.1 Déclaration d’une fonction . . . . . . . . . . . . . . . 122
4.3.2 Appel d’une fonction . . . . . . . . . . . . . . . . . . 123
4.3.3 Valeur produite en sortie . . . . . . . . . . . . . . . 124
4.3.4 Utilisation du “ ;” . . . . . . . . . . . . . . . . . . . 125
4.3.5 Insertion de commentaires . . . . . . . . . . . . . . . 128
4.4 Filtrage des arguments . . . . . . . . . . . . . . . . . . . . 129
4.5 Variables locales - Variables globales . . . . . . . . . . . . . 131
4.6 Séquence des arguments effectifs . . . . . . . . . . . . . . . 135
4.7 Nombre variable d’arguments . . . . . . . . . . . . . . . . . 135
4.8 Fonctions récursives . . . . . . . . . . . . . . . . . . . . . . 139
4.9 Retour non évalué . . . . . . . . . . . . . . . . . . . . . . . 146
4.10 Passage d’un argument par variable . . . . . . . . . . . . . 147
4.11 Entrées/Sorties . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.11.1 La commande print . . . . . . . . . . . . . . . . . . 151
4.11.2 Commandes d’entrées/sorties fondamentales . . . . . 154
xviii Maple : règles et fonctions essentielles
5 Structure d’une expression Maple 161
5.1 Préambule . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.2 Type d’une expression . . . . . . . . . . . . . . . . . . . . . 161
5.3 Représentation arborescente d’une expression Maple . . . . 164
5.3.1 Expressions algébriques . . . . . . . . . . . . . . . . 167
5.3.2 Représentation interne des types fondamentaux . . . 172
5.4 Transformation d’expressions . . . . . . . . . . . . . . . . . 186
5.4.1 Substitution . . . . . . . . . . . . . . . . . . . . . . . 186
5.4.2 Conversion de type . . . . . . . . . . . . . . . . . . . 190
5.4.3 Utilisation de la commande map . . . . . . . . . . . . 190
5.4.4 Utilisation de la structure for . . . . . . . . . . . . 191
Bibliographie 193
Index 195
Maple 12 – Installation, activation et aide en ligne 205


LOAD
DOWNLOAD

M'ROR
NO MIRRORS ACCORDING TO THE RULES!!!!