Notes du cours de “Calcul Formel”
et
“L’art du Calcul” (M12 - ED) 2012-2013.
G. H. E. DUCHAMP
22-09-2012 02:39
Table des mati`
eres
0 Pr´
eambule 2
1 Introduction 3
2 Syst`
emes de Calcul Formel et structures de donn´
ees 4
2.1 R´
evision num´
eration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Quelques exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Les syst`
emes de Calcul Formel . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Pr´
esentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Exemples de sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.3 Histoire succinte des Syst`
emes de Calcul Formel . . . . . . . . . . . . 11
2.3 Introduction `
a Maple: T.D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Quelques structures de donn´
ees . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 Arbres binaires complets . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.2 Arbres binaires incomplets . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Arbre 1-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.4 Arit´
e variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.5 Expressions arithm´
etiques . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.6 Mots noncommutatifs . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.7 Mots commutatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.8 Autres s´
eries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Les constructeurs set, multiset & list 15
3.1 D´
efinitions g´
en´
erales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Multiset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.1 OGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Pri`
ere de signaler les erreurs `
a ADRIAN TANASA ou `
a moi-mˆ
eme.
1
3.4.2 EGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.3 La formule exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 S´
eries rationnelles (rep´
esentations lin´
eaires et aspect automatique) . . . . . . . 16
3.5.1 Produit de Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Syst`
emes et Calcul 18
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Description de la structure d’automate . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Graphe pond´
er´
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.2 Structure et comportement des automates . . . . . . . . . . . . . . . . 19
4.2.3 Premiers automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.4 Composition des automates . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 S´
eries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.1 Exemple: Comportement d’un automate . . . . . . . . . . . . . . . . . 23
4.3.2 Op´
erations sur les s´
eries . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.3 Lien avec les grammaires et les structures de donn´
ees . . . . . . . . . . 23
4.3.4 ´
Enum´
eration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.5 Rudiments de Calcul Modulaire . . . . . . . . . . . . . . . . . . . . . 23
5 Annexes 23
5.1 Fonctions g´
en´
eratrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3 Application au calcul de complexit´
e . . . . . . . . . . . . . . . . . . . . . . . 23
5.4 Plusieurs variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6 TD et TP (A. Tanasa) 24
7 TD 31
0 Pr´
eambule
Ce cours est commun aux ´
etudiants originaires des fili`
eres Math´
ematique, Informatique et
fili`
eres d’Ing´
enieurs . Il est conc¸u de fac¸on `
a permettre aux ´
etudiants des trois sensibilit´
es de
pouvoir s’entraˆ
ıner tant au niveau de la programmation (TP - TD - libre service) qu’au niveau
conceptuel: outils de calcul (analytiques et alg´
ebriques) de l’informatique th´
eorique &/ou uti-
lis´
es en informatique moderne (s´
ecurit´
e, simulation en finance, algorithmique rapide). Les T.D.
se font en maple et Mupad, mais le contenu de l’enseignement est ind´
ependant du langage.
Le poly correspond `
a un programme maximal. Seule une partie de celui-ci sera trait´
ee cette
ann´
ee. Les exercices qui sont l`
a pour aider `
a la compr´
ehension du cours.
II se peut que vous ne compreniez pas certains ´
enonc´
es, dans ce cas choisissez que les questions
que vous ˆ
etes capables d’aborder ... et contactez-nous rapidement pour le d´
ecodage (question
par oral, email ou wiki).
Ceci vaudra aussi lorsque vous vous exercerez sur annales.
Les parties en petits caract`
eres sont des suppl´
ements et ne sont pas obligatoires.
2
1 Introduction
Le Calcul Symbolique est l’art de manipuler (scientifiquement) les symboles
(exacts: 4/7, π2/6,10 ou bien litt´
eraux x,y,z,t,u,v) selon certaines r`
egles dites “de calcul”
(ou bien de d´
erivation1). En fait, cette activit´
e est tr`
es ancienne et remonte `
a la num´
eration
puisque celle-ci consiste `
a symboliser des quantit´
es par des symboles et que les quatre op´
erations
arithm´
etiques ne sont autres que le calcul symbolique attach´
e`
a des probl`
emes concrets (ajout
ou retrait de quantit´
es, calcul de longueur, de surface, de volume, mesure d’une grandeur) et
donnent lieu aux alogorithmes de l’arithm´
etique ´
el´
ementaire.
De mˆ
eme que la math´
ematique (quand elle n’est pas autog`
ene) d´
eveloppe des mod`
eles pour les
sciences de la nature (´
equations de la physique, lois ..), de mˆ
eme l’Informatique Th´
eorique a
d´
evelopp´
e des mod`
eles et des concepts pour les ordinateurs (machines de Turing, calculabilit´
e,
automates, s´
eries g´
en´
eratrices, complexit´
e, grammaires..).
Le Calcul Formel2est n´
e d`
es que l’on a essay´
e de traiter automatiquement certains calculs trop
compliqu´
es ou fastidieux pour ˆ
etre ´
elabor´
es `
a la main3. Il se d´
emarque du Calcul Num´
erique en
ceci qu’il est un calcul exact (c’est `
a dire sans perte d’information due aux erreurs d’arrondi).
Par exemple, si l’on veut faire m´
ecaniquement les quatre op´
erations avec les fractions et 2, il
faut utiliser la structure de donn´
ee a+b2; a,b Q, il n’y a pas l`
a d’arrondi. Le probl`
eme
principal du Calcul Formel est l’explosion des donn´
ees en cours de calcul (c’est le prix `
a payer
pour l’exactitude). Ansi toute l’arithm´
etique et ses applications4n´
ecessite le calcul exact, en
effet une erreur d’un digit mˆ
eme sur un nombre de 250 chiffres peut transformer un nombre
pair en nombre impair! Ceci est g´
enant pour les tests de parit´
e, par exemple dans les modems:
le bit de parit´
e, une forme tr`
es rudimentaire de code d´
etecteur d’erreurs.
Le Calcul Symbolique peut ici ˆ
etre vu comme la science qui va traiter `
a la fois des structures de
donn´
es du Calcul Formel et du comportement de ceux-ci (cf infra, la m´
ethode Symbolique en
complexit´
e).
Pour r´
esumer, le voisinage scientifique du Calcul Symbolique se compose ainsi:
le calcul scientifique exact
le calcul formel (et, concr`
etement, les syst`
emes de Calcul Formel)
l’informatique th´
eorique
les syst`
emes formels
la combinatoire
les sciences voisines sont l’informatique, les math´
ematiques, la physique et, depuis peu, la
chimie et la biologie.
1. On parle de r`
egle de d´
erivation en logique formelle ou en r´
e´
ecriture et d’arbre de d´
erivation dans les th´
eories
des grammaires et des syst`
emes formels
2. Computer Algebra en anglais.
3. En anglais: hand and paper computation.
4. comme le codage, d´
ecodage, cryptage, la s´
ecurit´
e des transmissions par exemple..
3
2 Syst`
emes de Calcul Formel et structures de donn´
ees
2.1 R´
evision num´
eration
Il est bon, avant d’attaquer, de maˆ
ıtriser la num´
eration en base quelconque. Voici quelques
exercices.
2.1.1 Quelques exercices
Objectifs: Il faut que les ´
etudiants soient maˆ
ıtres (papier crayon et programmation) des conver-
sions entre bases (avec virgule) et du passage (fraction d´
eveloppement p´
eriodique). La
commande maple pour v´
erifier les conversions est `
a chercher dans convert, celle pour les
d´
eveloppement illimit´
es dans evalf (attention `
a la variable d’environnement Digits).
1) Mettre les nombres binaires suivants sous forme d´
ecimale
a) (101101)2b)(101101101)2c) (101 ···101
|{z }
3nchiffres
)2(pour le (c), on montrera que la r´
eponse
d´
epend de la conversion d’un nombre plus simple)
2) Mettre les fractions suivantes sous forme d´
ecimale
a) (0,615)8b) (12,321)5c) (0,7777777777
|{z }
10 chiffres
)8
3) Calculer
a) an= (0,5···5
|{z}
nchiffres
)8b) bn= (12,1212 ···12
|{z }
2nchiffres
)8c) cn= (12,2112 ···2112 ···
|{z }
nchiffres
)8
d) f1= (0,(54321))8
e) le d´
eveloppement d´
ecimal illimit´
e de
i) 23/7ii) 7/22 iii) 1/99999
4) Conversions Fraction D´
eveloppements illimit´
es en base b(les r´
esultats seront toujours
donn´
es en base dix sauf pour les points c,e).
a) 12,(345);b= 10 b) 12,(345);b= 8
c) BA/CA;b= 16 d) 22/132; b= 10 e) BA,(CA);b= 16
2.2 Les syst`
emes de Calcul Formel
2.2.1 Pr´
esentation
Un syst`
eme de CF est compos´
e de
un noyau
des biblioth`
eques
Les objets manipul´
es sont:
1. Toutes les structures de donn´
ees classiques:
arbres, listes, permutations, graphes, ensembles, intervalles, tables, tableaux, mots, parti-
tions, compositions,partitions, endofonctions.
2. Les quantit´
es du calcul scientifique:
nombres, radicaux, polynˆ
omes, fractions rationnelles, matrices, vecteurs, tenseurs, fonc-
tions, s´
eries.
4
3. Les op´
erateurs pour ces structures:
(a) Pour les structures de donn´
ees: Manipulation d’arbres (sous arbres, etc...), retirer ou
ajouter un ´
el´
ement dans une liste ou un ensemble, un sommet ou une arˆ
ete dans un
graphe, concat´
ener ou simplifier des mots (fusion, r´
eunion, contraction etc...).
(b) Pour les quantit´
es du calcul scientifique: d´
erivation, int´
egration et sommation sym-
boliques. ´
equations diff´
erentielles, d´
eveloppements limit´
es ou en s´
erie.
4. R´
esolution des ´
equations pos´
ees dans le cadre pr´
ec´
edent.
Bien entendu, un syst`
eme de calcul formel comprend aussi des interfaces graphiques, texte
etc....
On peut repr´
esenter toutes sortes de formules et on est tr`
es vite confront´
e aux probl`
emes
d’´
egalit´
e (i.e. reconnaˆ
ıtre les doubles repr´
esentations). Par exemple on a
2 + 3 + 5 = r10 + 2 10 + 2 3q7 + 2 10 (1)
comment le syst`
eme peut-il s’en appercevoir? Plus difficile, comment le syst`
eme peut-il don-
ner la premier membre `
a partir du second? (probl`
emes A=B,AB, voir les fonctions
convert(??,parfrac), rationalize, normal, collect) (֒forme normale,
canonique, simplification automatique).
: Remarquer que:
>A:= p7 + 210;
A:= p7 + 210
> simplify(A);
2 + 5
Mais
>B:= q10 + 2 10 + 2 3p7 + 2 10: simlify(B);
p10 + 2 25 + 2 35 + 2 32
Vaut-il mieux repr´
esenter une fraction sous la forme p
qou par son d´
eveloppement d´
ecimal (qui
est compl`
etement repr´
esentable en machine parce que p´
eriodique `
a partir d’un certain rang)?
Comment passer d’une repr´
esentation `
a l’autre?
Combinatoire. —
C’est l’art de manipuler ls structures de donn´
ees discr`
etes.
Exercice 2.1 i) Bijections N2Net ´
ecriture explicite du couple de rang n.
ii) Arbre de Wilf
iii) Fractions continues.
2.2.2 Exemples de sessions
Interpr´
eteur (cf [3] p17). —
>c:= [1,2,3,u,v];
5
1 / 34 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !