Home

Calcul formel : mode d`emploi - GForge

image

Contents

1. 1 1 1 V2 V2V3 5 v2 7v2v3 Nous aurions pu obtenir le m me r sultat mais plus laborieusement l aide de RootOf et evala en substituant RootOf x 2 n sqrt n puis en ap pliquant evala et en effectuant la substitution inverse La commande rationalize accepte galement des expressions contenant des racines imbriqu es ou des variables rationalize 1 sqrt x sqrt y sqrt z t VzFtt x Vy 2 t 2 Vy 22 2tz 2x2 t 2tx x y 2 3 Expressions complexes et simplification Les classes d expressions pr sent es jusqu ici partagent la propri t d avoir une proc dure de d cision pour la nullit C est a dire que pour toutes ces classes un programme peut d terminer si une expression donn e est nulle ou non Dans de nombreux cas cette d cision se fait par r duction la forme normale l expression est nulle si et seulement si sa forme normale est le symbole 0 Malheureusement toutes les classes d expressions n admettent pas une forme normale Pire encore pour certaines classes il est impossible de prouver la nullit d une expression en temps fini Un exemple d une telle classe est fourni par les expressions compos es partir des rationnels des nombres 7 et log 2 et d une variable par utilisation r p t e de l addition de la soustraction du produit de l exponentielle et du sinus Bien s r une utilisation r p t e de evalf en augmentant la pr cisi
2. 2 signum 1 27 2 signum 1 27 7 eee Nee 1 esgn A 1 signum 1 A 1 A subs csgn 1 signum z 2 1 1 normal map subs seq signum lambda 2 1 i i 1 1 27 27 G22 IN OFS i aa Le r sultat obtenu d pend du signe de 1 Comme il s agit dans les deux cas de fractions rationnelles tr s simples le coefficient de z s en d duit ais ment 27 cos nx dx _ 27 A sid lt 1 o A2 2Arcos xz 1 A2 1 A sid gt 1 2 7 Exercices 1 D terminer un d veloppement limit solution de l quation y z y y z cos z y 0 9 d abord l ordre 6 puis l ordre 50 2 Calculer le d veloppement asymptotique lorsque n tend vers linfini de la n racine de tan x x3 x 1 3 Dans l exemple du d veloppement en s rie enti re du sinus int gral de FRESNEL du 81 1 calculer le d veloppement en s rie de l indice du terme maximal 4 D terminer un quivalent lorsque x tend vers 17 de ng gt 12 n gt 1 2 S RIES ENTI RES ET D VELOPPEMENTS LIMIT S 205 5 Calculer le d veloppement en s rie enti re de n 2 log 1 x sin t dt 0 V rifier que pour x 1 10 on obtient une tr s bonne approximation 6 Calculer les premiers termes du d veloppement en puissances de 1 n de l int grale 00 sin x dx 0 lorsque n oo Indication commencer par changer la variable 7
3. dans le domaine 3 lt x lt 3 3 lt y lt 3 1 lt z lt 1 3 Autres types de trac s 3 1 Trac s simultan s Les trac s simultan s d objets de m me type sont r alis s en donnant un ensemble de fonctions ou d expressions la commande graphique fig 21 En revanche lorsque les objets sont de types diff rents une surface et une courbe ou une surface en coordonn es cylindriques et une autre en coordonn es sph riques il faut proc der de la mani re suivante On commence par calculer les diff rents trac s et on affecte les r sultats des variables interm diaires On utilise ensuite une des commandes display ou display3d selon que les objets sont bi ou tri dimensionnels fig 20 88 III COURBES ET SURFACES c implicitplot3d x 2 y 2 x x 1 1 y 1 1 z 1 5 1 5 s implicitplot3d x 2ty 2 z 2 1 x 1 1 y 1 1 z 1 1 i intersectplot x 2 y 2 z 2 1 x 2ty 2 x x y z color black display3d c s i style patchnogrid scaling constrained FIGURE 20 Intersection d une sphere et d un cylindre 3 2 Lignes de niveau Une fois trac e une surface on peut ajouter les lignes de niveau a la souris avec le menu Style Il est galement possible de les obtenir en vue de dessus avec la commande contourplot fig 22 On obtient le m me r sultat avec la commande plot3d et les options style contour et orientation 90 0 On peut aussi avoir la fois les lignes de niveau et un rendu de la su
4. 04 NN A L fl NA nf AV VINS ne KI MA ASN Q n iS ENS vV IN NX NV Ni N9 ZN a A D AN Vi VN h J d 2 es a DI VAP Y as PUNY A FIGURE 18 implicitplot3d x 4 FIGURE 19 plot3d z sin t y 2 x 2 z 2 x 1 1 y 1 1 z cos t sin t z z 1 1 z 1 1 grid 20 20 20 t 0 2 Pi grid 50 50 Vaide de la commande implicitplot3d Un tel trac est visible en figure 18 pour l quation z4 y x 22 0 dans la r gion z lt 1 y lt 1 z lt 1 Comme en dimension deux pour obtenir un meilleur rendu il faut essayer de trouver une param trisation de la surface Dans le cas d une fonction homog ne comme x y x z on peut prendre l une des coordonn es comme param tre soit z et exprimer les autres partir de celle ci x uz et y vz Ceci conduit l quation ut u 0 qui admet comme solution u sint v costsint C est ainsi qu est obtenu le trac de la figure 19 qui est bien meilleur cinq fois moins co teux en temps et quatre fois en m moire 2 4 Trac de donn es Pour tracer un ensemble de points en trois dimen sions on utilise la commande pointplot si l on veut que les points soient reli s entre eux on aura recours spacecurve Reprenons l exemple des marches al atoires qui peuvent mod liser la trajectoire d une particule en di mension trois Une te
5. pi x 2xy 2 y 2 z 1 p2 x y72 z72 q x 2 y 2 x y 2 2 y 3 x z 2 2 y 2 y z 2 z 2 y z 1 g grobner gbasis p1 p2 x y z tdeg grobner normalf q g x y z tdeg 0 On obtient le m me r sultat plus simplement par simplify q p1 p2 qui appelle d ailleurs grobner gbasis et grobner normalf avec l ordre lexicographique On peut en plus se demander quelle est la combinaison de p et po qui donne q Nous reviendrons sur cette question en 2 2 1 EXEMPLE 23 Voici un exemple de nature g om trique repr sent en fig ure 2 On consid re un cercle de rayon R centr l origine et deux points A et B sur l axe des x sym triques par rapport l origine tant donn un point P du cercle les droites PA et PB coupent le cercle respectivement aux points C et D La droite CD coupe l axe des abscisses en un point E Soit Q le sym trique de P par rapport l origine il s agit de montrer que la tangente en Q au cercle passe par E Pour r soudre ce probl me on se contente de le mettre en quations apr s avoir pris R 1 ce qui ne restreint pas la g n ralit mais permet de r duire le nombre de variables Les sym tries et la position des points sur l axe des x donnent TB TA TQ TP YQ YP YA YB YE 0 2 POLYN MES ET SYST MES MULTIVARI S 155 FIGURE 2 les alignements de points nous donnent tc zp ya yp a xP yo yP tp xp
6. x arcsin x student intparts simplify power arcsin x n 1 i nl n 1 arcsin x 2 arcsin x TP V1 z n ares Cc dx arcsin x arcsin x x Autrement dit en notant J la primitive de arcsin x ces int grales v rifient la r currence Jn z arcsin x nvy 1 z arcsin g n n 1 J _ Il suffit alors de savoir calculer Jo x et J xarcsin x v1 x pour trouver la forme g n rale de ces int grales EXEMPLE 32 La m me m thode s applique l int grale dx I a EEEE E i 1 En outre dans cet exemple la commande rsolve permet de r soudre la r currence 242 IX INT GRALES ET PRIMITIVES FIGURE 2 La suite f x n xe int 1 1 x 72 n x student intparts 1 1 x 2 n x 2nx d T GF j OFF La r currence est donc une r currence lin aire d ordre 1 x In CESI Qnty 2nIn 1 rsolve u n x x 2 1 n 2 n u n 2 n u nt 1 u 1 arctan x u n T n 1 2 1 I T n2 2y nT n TE T n2 1 2 Dans tous ces calculs il faut faire attention aux justifications Ainsi la limite d une suite d int grales n est pas toujours l int grale de la limite comme Villustre l exemple suivant A2 2 stan EXEMPLE 33 La suite de fonctions f x n xe converge vers la fonction nulle Le trac des courbes correspondantes pour diverses valeurs de n mo
7. 22x 45a 1 54a 45 1a 54a x 1 1 5 In 48 1 55 9 1 9 17a 27x2 1 22x 45a 1 54a 45 1a 54a x 3 5 1In 8 18 1 9 1 6x 322 1 9 1 2 210 1 7a 21 1a 7a 2 1 RootOf 9_Z 3_Z 1 Cet exemple illustre une difficult d utilisation des int grateurs actuels l va luation num rique par exemple en x 1 produit une partie imaginaire non nulle ce qui n est g n ralement pas souhait EXEMPLE 9 Voici une fonction alg brique admettant une primitive l mentaire que Maple ne parvient pas trouver dx 2x 1 3 a a 1 Pour parvenir a la calculer il suffit d effectuer le changement de variable t x 1 x Nous verrons en 1 4 comment s y prendre A Vheure actuelle le seul syst me de calcul formel qui implante compl te ment l algorithme de RISCH est Axiom 1 3 Autres fonctions Un certain nombre d int grales simples ne s expri ment pas a l aide des fonctions l mentaires Par leur fr quente apparition et leur importance dans certaines applications quelques unes d entre elles ont re u un nom et font partie des fonctions sp ciales Les plus importantes de celles que conna t Maple sont la fonction d erreur l exponentielle int grale le sinus int gral et le cosinus int gral soit respectivement 2 F ie sint erf x e dt Ei
8. 64 II UTILISATION AVANC E EXEMPLE 50 Nous cr ons une proc dure p proc local a b c global x f a 3 x a f sin x b end puis nous y effectuons une substitution subs a s x t sin cos eval p proc local s b c global t f s 3 t s f cos t b end L op ration de substitution dans les proc dures sert principalement la cr ation de proc dures partir d un programme EXEMPLE 51 La situation suivante se produit souvent au cours d un calcul il devient souhaitable de cr er une proc dure qui tienne compte de valeurs obtenues L approche naive ne fonctionne pas a exp x x x73 1 b sin x f x gt if x gt 1 then a b ln x else a b 2 ln x fi 3 e a 2 1 sin z In 3 Ce r sultat o x n est pas partout remplac par 3 s explique par le moment o les variables a et b sont valu es Elles ne le sont pas la cr ation de la proc dure mais son ex cution Pour obtenir le r sultat souhait il faut utiliser dans la proc dure non pas les variables mais leur valeur La commande subs est alors n cessaire g subs a a b b eval f g 3 e 31 sin 3 In 3 Il est noter que dans le cas o l on veut cr er une proc dure directement a partir d une expression il est plus simple d utiliser la fonction unapply Ce n est cependant pas possible dans l exemple pr c dent cause du test if Ce m canisme de substitution est ut
9. IR a7 eC Ei 1 IR a 4 a limit R infinity 0 readlib residue f x a I 2 Pi I 234 IX INT GRALES ET PRIMITIVES Lea 2 a 2 J oot Et on obtient le r sultat cherch qui est gal 50 ae a 2 4 Transform es int grales Les transform es int grales sont un cas par ticulier d int grales impropres un param tre que le syst me calcule en recherchant dans une table Par une aberration d organisation du logiciel la fonction int ne sait pas reconnaitre ces int grales d finies c est donc a Vutilisateur de les identifier Les transform es les plus connues sont la transform e de LAPLACE et la transform e de FOURIER qui sont respectivement d finies par L s is fije dt et F s a fte dt Ces transform es sont tr s utiles dans des domaines comme l automatique ou le traitement du signal Leur calcul en Maple lorsqu il est possible est imm diat avec les fonctions laplace et fourier EXEMPLE 22 laplace Heaviside t xsin t t sin 3xt t t s ma arctan s arctan s 3 Pour obtenir ce r sultat avec int il faut pr ciser que s est positif ou nul et int grer chaque terme s par ment La transform e de LAPLACE permet entre autres de r soudre des quations diff rentielles ou int grales EXEMPLE 23 Pour r soudre l quation int grale t sint 1 etf t a de t gt 0 0 en f t utilisons la transform e de LAPLACE et sa transform
10. a 0 1 2 4 1 z 8 La solution de la r currence se d duit de cette expression le d velop pement en s rie de exp 2z est connu et le fait de diviser une s rie par 1 z revient en sommer les coefficients En conclusion y BETO yaa MESA 2 n k 1 n k 2 k An n 2 n 5 k 0 En guise de v rification nous calculons ci dessous quelques valeurs num riques Il est tr s peu efficace d utiliser la fonction sum pour calculer la somme en particulier parce qu on ne s int resse qu sa valeur num rique On utilisera donc plut t la fonction seq suivie d un convert reci proc n option remember reci n 1 2 reci n 2 n end reci 0 a0 rec1 1 a1 rec2 proc n local k al a0 8 n 2 n 5 9 a0 5 al 8 convert seq 2 k k n k 1 n k 2 k 0 n end seq reci i i 0 5 seq rec2 i i 0 5 5 13 3 17 19 a0 al al al zal ad g vt 508 g vt 752 5 13 3 17 19 a0 al al aliai a0 G al 5 40 G al 10 7 172 VII SUITES R ELLES Dans le cas des r currences lin aires coefficients non polynomiaux on ne sait pas faire grand chose si ce n est pour les r currences d ordre un qui sont trait es ci apr s 1 3 Exercices 1 R soudre un 2 ku3 un Indication prendre le logarithme 2 On consid re le syst me Un 1 Un T 2Un Un 1 Un T Un avec uo vo 1 Calculer X un tr D Un tr 3
11. dx 3 1 4t 1 3 value 11 1 1 1 t 1 In 1 t helene te AIR ge Rent 3 aE Les fonctions Int et value ont t pr sent es au 82 3 5 du chapitre I Pour trouver la primitive cherch e il suffit de remplacer dans la valeur obtenue t par 3 et l Ja La fonction arcsin est l mentaire mais n est pas purement transcendante cause de la racine carr e 1 4 2 Int gration par parties arcsin z iln y 1 x ix Maple obtient facilement la primitive de arcsin x int arcsin x x x arcsin x V1 x En revanche il ne trouve pas celle de arcsin x intarc int arcsin x 2 x intarc arcsin x dx Comme la d riv e de arcsin x est 1 V1 2 l int gration par parties vient facilement bout de cette int grale et plus g n ralement de celle de arcsin x La formule de l int gration par parties en supposant qu il n y ait pas de probl me de diff rentiabilit est 2 INT GRALES D FINIES 227 Il faut donc donner la commande student l intparts d int gration par parties l int grale calculer et la partie u x d river qui n appara t pas obligatoirement Maple divisant l int grande par u x pour trouver la partie int grer L int gration de arcsin x se m ne alors facilement en r alisant deux int grations par parties successives student intparts intarc arcsin x 2 arcsin x Ve arcsin x x 2
12. 0 04978706837 0 1493612051 0 2240418077 La fonction g n ratrice donne l esp rance et la variance f 0 exp lambdax z 1 f 1 diff f 0 z f 2 diff f 1 2 eval subs z 1 f 1 f 2 f S f 1 2 1 3 Produits de variables al atoires La d finition des s ries g n ratrices de probabilit donn e plus haut est surtout adapt e l tude de la somme de variables al atoires ind pendantes Dans le cas du produit il faut utiliser une s rie de DIRICHLET de la forme f s F PiX Aa k En effet dans le produit de 1 i par 1 7 les valeurs et j se multiplient pour donner 1 i7 Ici c est le nombre lev la puissance s qui permet de suivre la valeur de la variable EXEMPLE 7 Avec quelle probabilit le produit des valeurs de cinq d s est il compris entre 100 et 1 000 Les s ries de DIRICHLET associ es un et cinq tirages valent f convert seq 1 6 j s j 1 6 f5 expand f 5 Il ne reste plus qu garder les termes de l intervalle consid r 264 XI CALCULS EN PROBABILIT test a gt evalb 100 lt a and a lt 1000 f5bon select t gt test limit t 1 s s infinity f 5 Le remplacement de s par 0 limine les termes en k et donne la probabilit cherch e eval subs s 0 f5bon 4631 7776 1 4 Exercices 1 o Probl me du chevalier de M R Des deux v nements suivants quel est le plus probable 1 Ob
13. 2 2 Cr ation d expressions Les op rations que nous venons de voir per mettent d explorer une expression Celles qui suivent cr ent des expressions partir d expressions existantes Combin es avec les primitives de la premi re section elles forment tout l arsenal du programmeur Maple Les principales proc dures qui cr ent de nouveaux objets partir d expres sions existantes sont subsop convert subs select Il faut noter que ces proc dures ne modifient pas leur argument La plupart des objets que manipule Maple ne peuvent en effet pas tre modifi s Les proc dures que nous allons pr senter cr ent des copies alt r es de leur argu ment Cette copie n entra ne cependant pas une trop grande consommation de m moire pour des raisons sur lesquelles nous reviendrons au 83 2 Proc dure subsop La proc dure subsop remplace un op rande par une valeur EXEMPLE 27 liste 2 4 5 8 subsop 3 6 liste 2 4 6 8 Une utilisation importante de subsop est la suppression d un l ment en exploitant le fait que NULL est l l ment neutre des suites d expressions T 48 II UTILISATION AVANC E EXEMPLE 28 Toujours sur la m me liste on remarque au passage qu elle n a pas t modifi e par la commande subsop subsop 1 NULL liste 4 5 8 Proc dure convert Nous avons d ja rencontr la proc dure convert pour cal culer des sommes et des produits en utilisation conjugu
14. de Kepler 205 de Riccati 246 de r currence 165 187 diff rentielles autonomes 246 diff rentielles homog nes 246 diff rentielles lin aires 113 248 diff rentielles ordinaires 245 252 diff rentielles s parables 246 diophantiennes 100 104 lin aires 121 122 polynomiales 147 148 150 164 ratosth ne Epatoodevnc crible d 105 esp rance 260 Euclide EvxAei nc algorithme d 34 143 algorithme d tendu 96 98 101 Euler Leonhard constante y d 193 quation d 246 fonction F d 193 formule d Maclaurin 209 210 239 valuation 41 54 67 num rique 26 224 227 238 assign 12 assigned 41 56 eval 41 55 63 66 98 112 118 avec subs 14 25 30 48 evala 17 21 22 148 149 evalb 17 18 evalc 17 23 24 evalf 17 18 26 41 61 100 237 276 279 evalhf 41 183 184 280 evalm 17 19 120 evaln 41 57 evalp 17 19 value 26 factorielle 17 factorisation d entiers 97 98 de polyn mes 146 sans carr s 146 Fermat Pierre de conjecture de 17 nombres de 97 test de 97 98 Fibonacci L onard de Pise nombres de 167 168 fonction alg brique 148 150 dAiry 69 de Bessel 225 231 235 de Dirac 224 de Heaviside 224 g n ratrice 167 172 203 204 214 216 259 270 liouvillienne 248 sym trique 15
15. declarem doubleprecision F h2 Phi T1 T2 j 3 3 equalf F 1363 equalf h2 15 equalf Phi 0 06 equalf T1 12 equalf T2 35 dom i 1 100000 callf jacob F h2 Phi T1 T2 j tIci le programme principal effectue une simple boucle avec les m mes param tres Un tel programme permet d valuer le gain d l option optimized de la commande fortran T 292 XII CALCUL FORMEL ET CALCUL NUM RIQUE ssprog subroutinem jacob F h2 Phi T1 T2 j declarem doubleprecision F h2 Phi T1 T2 j 3 3 matrixm j vFp optimized true precision double genfor prog genfor ssprog et l on obtiendra Cc c MAIN PROGRAM cage program cage doubleprecision F h2 Phi T1 T2 j 3 3 F 1363 h2 15 Phi 0 6D 1 Ti 12 T2 35 do 1000 i 1 100000 call jacob F h2 Phi T1 T2 j 1000 continue c end SUBROUTINE jacob subroutine jacob F h2 Phi T1 T2 j doubleprecision F h2 Phi T1 T2 j 3 3 t3 sqrt 360 D0 t4 0 3141592653589793D1 t3 t5 sqrt h2 t6 1 t5 t7 24 h2 t8 1 h2 t9 t7 t8 t10 sqrt t9 t11 atan t10 t16 h2 2 t17 1 t16 t23 1 t10 t8 t7 t17 1 t9 t26 sqrt 1 D0 15 D0 h2 360 t27 1 t26 t29 Phi 2 t30 h2 360 t29 t33 1 t30 t43 sqrt t8 t44 1 t43 t48 1 1 360 t29 t8 t54 t3 t43 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 293 j 1 1 1 D0 610 D0 0 2623868852D 2 exp 0 247D 2 F 1 2 1 34 3 0 j 2 1 1
16. ont pas d effet r troactif et il faut ventuellement refaire des calculs EXEMPLE 14 La variable e garde sa valeur obtenue pour a gt 0 m me apr s avoir sp cifi que a est n gatif assume a gt 0 e 1 sqrt a 2 e l a assume a lt 0 e 28 I PRISE EN MAIN DU SYST ME TABLE 8 Principales propri t s reconnues par Maple D claration Fonctions l exploitant assume x lt gt 0 signum assume x gt 0 signum abs csgn int assume x lt 0 signum abs csgn int assume x gt 0 signum abs csgn int assume x lt 0 signum abs csgn int assume x integer floor frac round trunc assume x real signum abs Re Im 1 a e 1 sqrt a 2 e l a Pour r sumer voici les principales fonctions manipulant des hypoth ses assume d clare une hypoth se additionally rajoute une hypothese a une variable isgiven teste si une hypothese a t d clar e is teste si une hypoth se se d duit de celles qui ont t d clar es about liste les hypoth ses faites sur une variable L int gration de ce m canisme n est pas encore totale mais Maple est le systeme le plus avanc dans ce domaine Dans le tableau 8 nous indiquons les principales propri t s utilisables et une partie des fonctions qui en tiennent compte Ce tableau est tr s incomplet puisque les fonctions qui utilisent signum fonction signe pour les expressions r elles ou complexes par exemple tiennent galement compte d
17. t1148 t454 2 pd 18 t1154 t437 t540 pd 18 t786 pd 18 t11 94 pd 18 t755 pd 18 t773 pd 18 t721 pd 18 t717 pd 18 901 2 p d 18 t896 pd 18 t889 2 pd 18 t1210 pd 18 t855 pd 18 t874 t408 4 t398 t394 t388 t379 t361 t369 t337 pd 18 t10 param 17 lambda 7 t148 2 pd 14 param 20 lambda 14 t3 t171 pd 18 t10 param 19 1 ambda 9 t148 pd 18 t10 param 17 lambda 7 t219 t301 2 pd 18 t1 0 param 17 lambda 7 t206 2 pd 18 t10 param 19 lambda 9 t206 p d 18 t10 param 19 lambda 9 t219 pd 18 t10 param 19 lambda 10 t244 pd 14 param 19 lambda 9 t525 pd 14 param 20 lambda 15 t9 t684 pd 14 param 19 lambda 9 t725 pd 14 param 17 lambda 7 t641 2 pd 14 param 17 lambda 7 t737 pd 14 param 19 lambda 9 t462 pd 14 param 19 lambda 9 t641 pd 14 param 17 lambda 7 t 525 t28 pd 19 t132 param 19 lambda 10 t122 2 t133 pd 19 t132 p taram 19 lambda 10 t828 2 t133 pd 19 t10 param 1 t915 t28 pd 19 t132 param 19 lambda 9 t309 2 t133 pd 19 t132 param 19 lambd t a 9 t846 t28 pd 19 t10 param 1 t933 2 pd 14 param 19 lambda 9 t737 t134 pd 19 t132 param 19 lambda 10 t908 t28 pd 19 t10 p taram 1 t866 t28 pd 19 t132 param 17 lambda 7 t309 2 t133 pd 19 t132 param 17 lambda 7 t846 t134 pd 19 t10 param 20 lambda 1 5 t821 2 t133 pd 19 t132 param 17 lambda 6
18. un Sans conna tre la valeur de a il est ainsi limin et asymptotiquement E n converge plus vite vers que un Une nouvelle tape de la m me technique conduit calculer des valeurs de ul 440 tuh et ainsi de suite La figure 6 p 185 repr sente les premi res valeurs de la suite u de la section pr c dente Leur croissance rapide conduit s int resser la suite logun qui est repr sent e en figure 7 p 185 Cette derni re figure sugg re qu asymptotiquement log un cn o la pente c est d terminer Les premi res valeurs de la suite obtenues par seq log u3bis 2 i 2 i i 0 7 forment la premi re colonne du tableau 2 p 186 et confirment la conver gence assez lente de cette suite Dans ce tableau les premi res valeurs des diff rentes suites sont indiqu es Ces valeurs ont t obtenues de la mani re suivante u j n repr sentant ul for i from 0 to 7 do u 0 i ln u8bis 27i 27i od for j to 7 do for i from 0 to 7 j do ulj i 2 j ulj 1 i 1 ulj 1 i 2 j 1 od od Comme on le voit sur le tableau 2 ot les valeurs ont t arrondies a 4 d cimales la convergence ne parait pas avoir t beaucoup acc l r e par le proc d il faut regarder la diagonale du tableau c est a dire seq ulj 7 j1 j 0 7 1 704170344 1 746640265 1 751918544 1 753464028 1 754082842 1 754362332 1 754495423 1 754560397 186 VII SUITES R ELLES TABLE 2 Premier essai d acc l ration n
19. 1 1 0 0 dy 0 0 1 1 for j to T do for i to N do r die xli jl xli j 1 dx r l yli jl yli j 1 dy r od od for j from 0 to T do pl j plot Lseq xli j yli j i 1 N style point od display seq plj j 0 T insequence true symbol circle Maple ouvre alors une fen tre fig 26 avec plusieurs boutons le premier E stoppe une animation en cours le second M lance une animation le troisi me P avance d un pas les deux boutons suivants RD et lt lt augmentent et diminuent respectivement la vitesse d animation le bouton fait passer en mode auto reverse et le bouton contr le le sens de parcours 3 AUTRES TYPES DE TRAC S 91 File Edit Style Axes Projection Help D gt gt a gt FIGURE 26 Animation en Maple CHAPTER IV Arithm tique et combinatoire ES MATH MATIQUES DISCR TES sont omnipr sentes dans un syst me de cal Is cul formel De fa on apparente lors du calcul d un pgcd d entiers ou a linsu de l utilisateur lors d une factorisation de polyn me le syst me manip ule des nombres entiers En Maple c est galement le cas lors des calculs en nombres flottants qui sont cod s partir des entiers Il est donc important pour l utilisateur d appr cier le co t des principales op rations effectu es sur les entiers Ces questions sont abord es en 81 ainsi que des techniques sim ples pour acc l rer certains calculs Nous mo
20. 1 sont repr sent es en figure 2 u 0 1 for i to 50 do uli tan u i 1 od plot seq li uli i 0 50 EXEMPLE 5 On veut r soudre T ae De mani re quivalente il s agit de d terminer pour quelles valeurs initiales uo x la suite d finie par un41 x 2u converge vers x Les points fixes sont donn s par solve 1 sqrt x 2 1 1 RootOf x 2_Z _Z Et la r ponse est parmi solve x x 0 3 Il reste v rifier que les deux suites ayant ces valeurs initiales convergent bien vers la limite souhait e ce qui est ais puisqu elles s av rent constantes EXEMPLE 6 La suite u 41 sin u Les points fixes sont maintenant les solutions de x sin x La commande solve de Maple trouve la racine 0 solve sin x x x 0 Apr s une it ration de la suite u1 se trouve dans l intervalle 1 1 o il est facile de prouver que 0 est le seul point fixe L intervalle 1 1 est lui m me strictement inclus dans 7 2 7 2 l int rieur duquel la d riv e du sinus est toujours inf rieure 1 sauf en 0 La suite converge donc vers 0 pour 2 RECURRENCES D ORDRE UN 175 FIGURE 3 plot essai 0 0 5 0 0 015 toute valeur initiale Il est galement possible d tudier quelle vitesse la suite converge vers 0 Nous le ferons au chapitre VIII 2 2 R currences du type un 1 f n un En dehors des r currences d ordre un appartenant des classes plus restreinte
21. 15 5 1 21 2 2h 2h cos 2l dpa 2 cos l 3E cos 2l 21 Le cos 3l 2I 2h 2h rai cos 21 31 2h 2h se cos 21 I 2h 2h Le cos 4l 21 2h 2h 5 9 ac cos 3l 3l 3h 3h qe cos l 2l 2h 2h 15 2 1 3 2 3 2 3 cos 21 2h 2h 57 cos 2l 2h 37 cos 2i 2h 3 D veloppements asymptotiques Tous les comportements asymptotiques ne s expriment pas en termes de s ries enti res Il faut souvent faire intervenir des singularit s logarithmiques ou exponentielles Du point de vue du calcul formel cela signifie une structure de donn es et des op rations diff rentes Vheure actuelle les syst mes de calcul formel sont encore assez d munis pour manipuler des d veloppements asymptotiques dans des chelles asymptotiques tr s fines La commande de base pour les d veloppements asymptotiques en Maple est asympt mais il faut occasionnellement se servir de series ou de fonctions plus sp cifiques comme eulermac que nous verrons dans cette section 3 D VELOPPEMENTS ASYMPTOTIQUES 207 Le calcul asymptotique est un art subtil et on ne peut pas donner de m thode g n rale infaillible Cependant il existe dans ce domaine un cer tain nombre de m thodes souvent applicables et dont la complexit peut tre extr mement amoindrie par l usage d un syst me de calcul formel Nous pr sentons dans
22. 2 Donner une condition sur u v w pour que f soit une isom trie CHAPTER VI Polyn mes et fractions rationnelles ES POLYN MES sont des constituants fondamentaux du calcul formel c est la classe d objets la plus simple o intervient une variable Une fois con struits les polyn mes en une variable sur Q on peut construire les corps de nombres alg briques cf 81 3 8 et le corps des fractions rationnelles en une variable Ensuite on peut construire les polyn mes coefficients dans ces corps et ainsi obtenir des polyn mes et des fractions rationnelles plusieurs variables Du point de vue du calcul formel ces constructions pr sentent l avantage qu tout moment une forme normale des expressions est calcu lable forme sous laquelle la nullit d une expression et l galit de deux ex pressions sont apparentes Cette propri t s tend en acceptant des nombres transcendants qui ne sont racine d aucun polyn me coefficients rationnels la place des variables condition que les nombres transcendants intro duits soient alg briquement ind pendants aucun polyn me non nul coeffi cients rationnels ne s annule lorsqu on remplace les variables par ces nombres Ce sont ces expressions construites uniquement par les quatre op rations l mentaires de corps X partir d une ou plusieurs variables ou nombres transcendants et du corps des rationnels ou d un corps de nombres alg briques
23. Calculer le d veloppement en s rie enti re en r de 1 a n Fe 2r Jo 1 2rcos t x r On regardera avec profit le help de combine trig 8 Calculer F a r at2n o 2 2 t sin n dt J ee n e N a sin Z n 9 Calcul de la fonction perturbatrice de la Lune DELAUNAY La fonction perturbatrice de la Lune est un facteur multiplicatif pr s 13 14 15 k k k 3 S qa Pe cos 0 cs Pa cos 0 c qg Pa cos 0 o k respectivement k est le rapport de la distance moyenne de la Terre la Lune respectivement au Soleil la distance l instant consid r les P sont les polyn mes de LEGENDRE et o 0 est l angle entre les directions Terre Lune et Terre Soleil La premi re tape du calcul consiste obtenir un d veloppement de k k et cos 0 Cette derni re quantit est li e une constante y et aux angles f f de rotation de la Lune et du Soleil par Videntit 4 cos 1 7 cos f h f h 7 cos f h fi h o h h sont d autres angles ind pendants Le rapport k est donn par db 5 k 5 a o b est donn par l quation de KEPLER 6 b l esinb et finalement f est donn par d 7 pie Le but de l exercice est de calculer un d veloppement de la fonction per turbatrice l ordre n commencer par n 2 en fonction des petites quantit s e e y et c Les fonctions Maple utiliser sont indiqu es entre crochets 1 7 VI
24. E CALCUL FORMEL est d sormais accessible un grand nombre d ing nieurs de chercheurs ou d tudiants et est appel prendre une place de plus en plus grande dans les universit s les laboratoires ou les bureaux d tude Les syst mes de calcul formel sont en effet d j disponibles sur les ordinateurs portables et certains le sont sur des ordinateurs de poche Ce livre s adresse des utilisateurs d butants ou non qui ne sont pas forc ment sp cialistes du domaine mais souhaitent exploiter au mieux les possibilit s de leur syst me De nombreux calculs trop longs pour tre men s bien la main peuvent tre effectu s avec s ret en quelques secondes par une utilisation judicieuse d un syst me de calcul formel mais il faut savoir se retrouver parmi les cen taines de fonctions pr sent es dans les manuels de r f rence Pour cela il faut d passer l approche bo te noire o on pose une question au syst me et on attend qu il veuille bien renvoyer une r ponse sans comprendre pourquoi il choue ou parvient un r sultat Il est important de conna tre quelques op rations sur les objets de base entiers polyn mes fractions rationnelles s ries et de savoir quelles classes de probl mes sait r soudre un syst me quelles quations diff rentielles quels calculs de primitives quels types de syst mes d quations Il n est pas n cessaire d tre informaticien pour lire ce livre ma
25. Le nombre de termes est pass de 2 n Symboliquement on r duit encore cette explosion en d veloppant successivement par rapport chacune des variables c et en limitant la suite du calcul au coefficient de c C est ce que fait la proc dure suivante reines proc n local i j P c d e L P convert seq convert each 1e taj t n dada 8 for i to n do P coeff series P cli 2 cli 1 o L seq e i 2 0 i 1 2 n 1 seq d i 2 0 or oe 1 P expand subs L P P P select hastype P 112 IV ARITHM TIQUE ET COMBINATOIRE subs seq e i 1 i 1 2 n 1 seq d j 1 j 1 2 n 1 P end seq reines n n 4 8 2 10 4 40 92 La valeur 92 fut trouv e il y a pres d un si cle et demi Le programme peut tre encore un peu am lior en liminant les carr s au fur et mesure du calcul mais cela ne permet gu re d aller plus loin que n 8 Cet exemple montre la fois la puissance du calcul formel le probl me des reines se r sout par un programme Maple de six lignes et une de ses limitations la taille des expressions rend rapidement les calculs infaisables 2 2 4 R currences lin aires Les d num rants peuvent se calculer de mani re encore plus rapide que par le d veloppement de leur s rie g n ratrice En effet les coefficients de fractions rationnelles satisfont des r currences lin aires coefficients con stants Connaissant la s rie g n ratrice f z p z q z
26. Robert Daniel nombres de 97 Cauchy Augustin Louis th or me de 251 Cayley 2 Clairaut Alexis Claude quation de 246 Clenshaw Curtis quadrature de 237 238 code RSA 98 99 104 coefficients coeff 107 142 coeffs 169 combinatoire 106 116 257 258 compilation 278 280 286 composition de polyn mes 146 op rateur de 30 op rateur de it r e 248 constante constant 53 e E 14 23 y gamma 14 23 i I 23 oo infinity 14 T Pi 14 23 convert 47 48 38 49 97 171 GAMMA 207 confrac 100 exp 25 ln 25 parfrac 192 sqrfree 146 trig 25 DAG 67 73 d composition 312 en facteurs premiers 97 98 degr 141 150 Delaunay Charles Eug ne 1 205 d num rant 106 107 d rangement 214 d terminant 123 d velopp e 253 d veloppement asymptotique 25 167 169 177 206 217 239 267 268 de polyn mes 141 en fraction continue 99 en s rie 126 128 142 197 206 225 249 limit 17 19 20 25 27 51 83 100 107 237 238 281 De Moivre Abraham 262 diff 25 38 39 70 73 119 Digits 15 18 190 222 276 Dirichlet Peter Gustav Lejeune s rie de 263 discriminant 124 144 division d entiers 95 de polyn mes 143 euclidienne 34 96 143 151 limination 151 156 161 enveloppe calcul d 159 quations d Euler 246 de Bernoulli 246 de Clairaut 246
27. S 1 Un pour tout n Bien s r la connaissance d une somme ind finie permet le calcul de sommes d finies avec des bornes il suffit de soustraire les valeurs de la somme ind finie aux deux bornes Un algorithme important d GOSPER d termine si une suite hyperg o m trique admet une somme qui est elle m me une suite hyperg om trique Cet algorithme forme la base de la fonction sum des syst mes de calcul formel Ainsi lorsque la fonction sum de Maple ne trouve pas de somme une suite hyperg om trique cela signifie que l on peut prouver qu il n existe pas de somme qui soit hyperg om trique Voici un exemple de succ s de l algorithme v 3 xn 3 10 n 2 9 xn 11 n 1 2 n 2 n 3 n 5 n 4 Sum v n sum v n 5 3n 10n 9n 11 n 1 2 2 2n 3n 1 n 4 n 5 2n 3 n 5 2n 1 n Voici un exemple o l chec de sum prouve qu il n y a pas de somme hy perg om trique sum 1 n n 1 o n 3 3 Autres sommes ind finies Il y a tr s peu de sommes que l on sait exprimer sous forme explicite En dehors de celles que nous venons de voir la jungle des sommes est tr s foisonnante et on ne peut pas donner de r gle g n rale Nous donnons en exercice deux exemples dans lesquels la chance nous sourit 3 4 Exercices 1 Le plan d pargne logement 1 Pour un taux annuel de 6 32 v rifier que le taux mensuel corre spondant vaut environ 0 51
28. Si y est modifi e sa nouvelle valeur sera aussi celle que renverra l valuation de x Contrairement l galit math matique l affectation est dissym trique puisqu elle cr e une fl che de la variable vers la valeur Une autre cause de cette dissym trie tient l valuation Le membre droit de l affectation est valu le membre gauche ne l est pas EXEMPLE 39 Consid rons les instructions X Y y x La premi re affectation cr e une fl che de x vers la valeur de y Ensuite le membre droit de la seconde affectation s value en la valeur de x c est dire celle de y Cette seconde affectation n a donc aucun effet puisqu elle cr e une fl che de y vers sa propre valeur Pour d saffecter une variable il faut lui affecter son nom Le r le des apostrophes est de prot ger leur argument contre une valuation L affectation X x est trait e normalement le membre droit est d abord valu Mais les apos trophes ont une r gle d valuation particuli re Le r sultat de l valuation d une expression entre apostrophes est cette expression non valu e Dans la T 56 II UTILISATION AVANC E fief T l r gt 3 FIGURE 3 valuation d une variable prot g e d saffectation la valeur du membre droit est donc la variable elle m me fig 3 Chaque valuation fait dispara tre un niveau de protection x 3 v1 x v2 vi v3 v2 vl r VA x v3 3 La protecti
29. ainsi IA evalm A 1 t 3 t 3 t 3 3 i RE 183 6t 6t 6t IA t43 t 3 9t 27 t2 12442740 6t 6t 3t 9F2t 3t 9 26 t 3 t 3 12t 27 t 9t 27 t 6t 6t 3t 9F2t 3t 9F2t evalm IA amp b 24 15 8t 15 5t 57t 135 5t 48t 135 6t 6t 3 942t t 3 9 2t t 2 2 Calculs sur des matrices La plupart des op rations classiques sur les matrices sont disponibles dans les syst mes de calcul formel Le tableau 4 montre le nom des commandes Maple correspondantes Dans ce tableau les op rations sont regroup es en deux cat gories Les op rations de la premi re cat gorie n effectuent que des calculs dans le corps auquel appartiennent les coefficients de la matrice et sont donc g n ralement peu co teuses La sec onde cat gorie peut n cessiter des calculs dans des extensions alg briques du 2 ALG BRE LIN AIRE 123 corps de base d termin es par le polyn me caract ristique Sauf cas parti culier ceci limite l utilisation de ces derni res commandes des matrices de petite taille Nous allons maintenant montrer quelques exemples d utilisation de cer taines de ces fonctions et ventuellement d tailler leurs limitations 2 2 1 Noyau La d termination du noyau d une matrice consiste r soudre un syst me lin aire homog ne Il n y a donc l rien de plus que ce que nous avons d j vu EXEMPLE 10 Pour d terminer une relation de d pendance entre vecteurs il suffit
30. au lieu de 7 par la m thode d exponentiation binaire Ecrire un programme prenant en entr e n et renvoyant le nombre de multiplications minimal pour calculer a V rifier que l on obtient 5 multiplications pour n 15 6 pour n 23 et 8 pour n 63 Indication commencer par g n raliser le probl me au calcul simultan d un ensemble a a de puissances puis d composer en fonction de la plus grande puissance Trouver la signification du message cod 96639780379700812966 64982459586574831935 fabriqu avec le produit n 289589985965965651459 et l exposant e 324803928042397 Le code utilis est RSA avec la transformation texte entier de la page 98 Pour calculer une fonction l mentaire sin cos exp log en pr cision fixe les calculettes de poche utilisent une fonction approch e dont l cart max imal avec la fonction sur l intervalle donn est assez petit crire une proc dure calculant le sinus avec 10 d cimales exactes Il faut commencer par utiliser p riodicit et sym trie pour se ramener au probl me dans D 105 1 ARITHM TIQUI 0 7 2 Ensuite il faut d terminer un approximant de PAD diagonal suff isamment bon sur l intervalle Enfin optimiser le calcul par convert horner Spirale d ULAM Cette fameuse spirale est une repr sentation visuelle des nombres premiers Pour la tracer il faut se placer sur une feuille quadrill e On part d un carr qui
31. comporte comme In k k La somme des contributions est donc convergente et on peut m me obtenir un d veloppement asymptotique de Ik 1641 Tx32 grace la formule d EULER MACLAURIN combine map normal asympt eulermac i k k 1n In V2VRm 1 In 16 r rin er 4ln 7 7 4 In 167 4h 0 kr 16 qk k3 En combinant ce d veloppement avec une int gration num rique sur l intervalle 0 2kr on obtient une approximation de l int grale evalf subs k 100 Int f t sin t t 0 2 k Pi 1 3494748858 O 7000000 Cette m thode s applique aux int grales de la forme SZ f t g t dt o g est une fonction p riodique de moyenne nulle et f est une fonction vari ation lente Suivant le comportement de f linfini l int grale diverge ou converge Dans ce dernier cas il faut trouver un compromis entre l ordre des d veloppements asymptotiques et la valeur de k de fa on obtenir une approximation avec la pr cision voulue 240 IX INT GRALES ET PRIMITIVES 3 Int grales param tr es Du point de vue du calcul formel la pr sence de param tres correspond une extension du corps de base Les transform es int grales sont d ailleurs un cas particulier d int grales param tr es o le param tre s appartient un domaine bien d fini r el r el positif ou complexe Tant que les param tres amp 2 n interviennent que dans des fractions rationnelles le corps de base us
32. currences lin aires 1 1 Coefficients constants 1 2 Coefficients polynomiaux 1 3 Exercices R currences d ordre un 2 1 R currences du type Un f un 2 2 R currences du type un 1 f n Un 2 3 Exercices Sommes et produits 3 1 Sommes g om triques 117 117 117 119 120 120 121 121 122 129 130 132 132 132 133 136 137 139 139 141 141 142 150 150 151 156 162 165 165 165 169 172 173 173 175 178 179 179 viii CONTENTS 3 2 Suites hyperg om triques et sommes ind finies 3 3 Autres sommes ind finies 3 4 Exercices Calculs num riques 4 1 Premiers termes d une suite r currente 4 2 Evaluations num riques de limites 4 3 Exercices CHAPTER VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES S ries num riques 1 1 Calcul approch de constantes d finies par des s ries 1 2 valuation exacte de s ries 1 3 Convergence et divergence des s ries 1 4 Exercices S ries enti res et d veloppements limit s 2 1 Disque de convergence 2 2 Fonctions d finies explicitement 2 3 Fonctions d finies implicitement 2 4 Sommes et produits 2 5 Int grales 2 6 S ries g n ratrices 2 7 Exercices D veloppements asymptotiques 3 1 Fonctions d finies explicitement 3 2 Fonctions d finies implicitement 3 3 Sommes 3 4 Suites it ratives 3 5 Int grales 3 6 Solutions d quations diff rentielles 3 7 S ries g n ratrices 3 8 Exercice
33. f boucle_inf sin boucle_inf boucle_inf f boucle_inf sin 0 Dans le contexte du calcul symbolique la protection est cruciale Par exemple il est absolument n cessaire d avoir un m canisme qui permette la proc dure exp appel e avec le nom x de renvoyer exp x sans que celui ci soit nouveau valu La valeur retourn e est donc exp x Nous avons vu au 81 3 que cette valeur tait m me mise dans la table de remember de la proc dure exp mais ceci ne constitue qu une optimisation et n est pas absolument n cessaire Pour conclure nous mentionnons un usage constant fait par Maple de la protection savoir le chargement automatique de proc dures Au d but d une session Maple un certain nombre de proc dures sont d finies par T 58 II UTILISATION AVANC E fct readlib fct Ainsi lorsque fct est appel e pour la premi re fois la proc dure est charg e en m moire Les apostrophes externes sont l pour retarder l appel read1ib les apostrophes internes servent ce que lors de l appel l argument de readlib soit le nom de la proc dure et non la valeur readlib fct ce qui entrainerait une boucle infinie EXEMPLE 44 La proc dure factor est d finie ainsi eval factor 1 readlib factor print factor proc x K end Dans le second appel l argument de print est d abord valu et la d finition initiale de la proc dure a
34. finition types repr sentation interne table vector n array array i n vector table matrix m n array array 1 m 1 n matrix 1 2 x r 3 Al a a ot Un vecteur en Maple est un tableau unidimensionnel Il est consid r dans les calculs matriciels comme un vecteur colonne c est dire comme une matrice n lignes et une colonne Mais ce n est pas une matrice qui est un tableau bidimensionnel Cela implique en particulier qu il n est pas du type matrix En outre l affichage d un vecteur se fait sous forme d une ligne ce qui peut entra ner des confusions Enfin l application de la fonction transpose un vecteur ne donne pas un vecteur ligne qui n existe pas en tant que tel en Maple Un vecteur ligne ne peut tre en effet qu une matrice une ligne et n colonnes Le transpos du vecteur v s utilise sous la forme transpose v qui est reconnue dans les calculs matriciels Le tableau 1 r sume ces diff rences entre vecteurs et matrices EXEMPLE 3 Nous d finissons un vecteur de dimension 2 et une matrice 2x2 v vector 1 2 m matrix 2 2 1 2 3 4 multiply m v 5 n transpose v multiply v transpose v 1 2 E 4 Maple r alise bien le produit de m par v et le r sultat est un vecteur le terme transpose v est laiss tel quel mais est reconnu comme un vecteur ligne dans vw transpose v Une autre difficult que l on rencontre lors de la manipulation de ve
35. h1 h2 h2 4 0 3141593E1 sqrt h1 h2 R R 8 1 h2 h2 R Phi 2 h2 2 h2 R Phi 2 h2 1 h2 2 1 sqrt h1 h2 R T1 h2 2 R sqrt h1 h2 R T1 h2 2 Fp 2 3 2 1 k R 2 Phi h2 R Phi 2 Fp 3 1 0 Fp 3 2 Phi sqrt R h2 R h2 2 1 Phi 2 R h2 2 1 sqrt h2 R 0 3141593E1 alog h2 h1 4 sqrt R h2 atan sqrt h1 h2 h2 T1 k 1 h1 T2 k 1 h2 R 4 sqrt h2 R 0 3141593E1 h2 4 1 sqrt R h2 atan sqrt hi h2 h2 R h2 2 2 sqrt R h2 sqrt h1 h2 h2 1 h2 h1 h2 h2 2 1 h1 h2 h2 2 T2 k 1 h2 2 2 Fp 3 3 sqrt R h2 1 Phi 2 R h2 Il ne faut pas oublier qu un langage tel que Fortran ne fait pas la diff rence entre lettres majuscules et minuscules contrairement Maple les noms R et r d signent la m me variable en Fortran Maple propose galement des possibilit s d optimisation pour viter de recalculer les sous expressions communes aux l ments de la matrice comme T 290 XII CALCUL FORMEL ET CALCUL NUM RIQUE y h2 R ou ha R Maple introduit alors un certain nombre de variables auxiliaires qui contiennent ces expressions communes fortran Fp optimized t8 1 k t9 1 R t11 sqrt h2 t9 t12 1 t11 t14 hi h2 t15 1 h2 t16 t14 t15 t17 sqrt t16 t18 atan t17 t22 1 t17 t23 h2 2 t24 1 t23 t26 t15 t14 t24 t29 1 1 t16 t33 sqrt t14 t9 t34 1 t33 t37 Phixx2 t38 R t37 t39 h2 t38 t42
36. il est bien plus im portant d am liorer l algorithme de calcul que sa programmation Ainsi le programme 3 et le programme 4 ont des performances comparables alors que les passages du programme 1 au programme 2 puis au programme 3 ont des cons quences spectaculaires sur les temps de calcul Le fait d avoir remarqu que la suite satisfaisait une r currence lin aire en a rendu possible le calcul pour de tr s grandes valeurs de l indice Si la r currence lin aire avait t a coefficients constants il aurait t possible d tre encore bien plus rapide en appliquant la m thode du 81 1 4 2 valuations num riques de limites Pour estimer num riquement la limite d une suite qui converge il faut bien s r savoir calculer des l ments de la suite les indications donn es sur l exemple ci dessus permettent de traiter la plupart des cas rencontr s dans la pratique Pour valuer la limite le calcul des valeurs de la suite pour des indices tr s lev s est avantageuse ment remplac par une technique simple d acc l ration de convergence due ROMBERG Si u est la suite et si elle converge vers sa limite en admettant 4 CALCULS NUM RIQUES 185 06 00 00 00 00 FIGURE 6 FIGURE 7 plot seq i u4bis i 1 i 0 10 1 plot seq i log u4bis i 1 i 0 10 un d veloppement asymptotique du type a b 5 Un SE here n n alors la m thode de ROMBERG consiste calculer des valeurs de uP 2u
37. j 2 2 0 4375D1 t4 t6 t11 0 4375D1 t4 t5 t23 0 21875D1 0 314 1592653589793D1 t27 0 63D4 t8 t30 t17 t33 h2 0 315D4 t8 t274T1 t 8 2 360 t26 T1 t17 j 2 3 0 4536D7 Phi t33 j 3 1 0 j 3 2 Phitt3 t44 t17 t48 2 t3 t6 0 3141592653589793D1 log h2 24 4 t54 t11 0 2380952381D 2 T1 0 5714285714D 1 T2 t8 1440 t3 t5 0 3141592653589793D1 t8 4 t3 t44 t11 t17 2 t54 t23 2 0 571428 5714D 1 T2 t17 720 j 3 3 t54 t48 end Pour faire la m me chose en langage C les instructions ex cuter sont les suivantes with share readshare macroC numerics init_genC data a1 610 a2 648 a3 00247 1 1250 k 1 4E 2 R 360 h1 24 S 12 vFp subs data op Fp prog includeC lt math h gt functionm main declareC double F h2 Phi T1 T2 j 4 4 declareC int i equalC F 1363 equalC h2 15 0 equalC Phi 0 06 equalC T1 12 equalC T2 35 form amp i 0 i lt 100000 amp i i 1 cal1C jacob F h2 Phi T1 T2 j 1111 ssprog functionm jacob double F h2 Phi T1 T2 j 4 4 matrixm j op vFp optimized true precision double autodeclare double genC prog genC ssprog Les seules diff rences notables sont l inclusion du fichier math h pour la d claration des fonctions math matiques log exp atan sqrt et l ajout de Vinstruction autodeclare double pour que les variables auxiliaires intro duites par Maple soient de type double L avantage
38. l avons d j mentionn l obtention d une formule pour un ou deux niveaux d int gration pr sente l int r t de r duire consid rablement la dur e d une valuation num rique 2 6 Int gration num rique Tous les syst mes de calcul formel perme ttent de faire de l int gration num rique En Maple il suffit d utiliser la fonction evalf appliqu e la forme inerte de l int grale Int f x a b ou ce que retourne Maple lorsqu il ne sait pas calculer l int grale d finie EXEMPLE 28 int exp sin x x Pi Pi i es dr 7 954926521 evalf Il vaut cependant mieux utiliser directement la forme inerte car cela vite la perte de temps li e la recherche d une primitive explicite Pour ces int grations num riques Maple emploie par d faut la quadra ture de CLENSHAW CURTIS la o l int grande est r gulier et traite les singu larit s par d veloppement limit Il est parfois utile de choisir une des deux autres m thodes disponibles une proc dure de quadrature exponentielle et la m thode de NEWTON COTES afin d avoir des temps de calcul moins longs 238 IX INT GRALES ET PRIMITIVES EXEMPLE 29 Un fleuve de d bit 1 se divise en deux le d bit du premier sous fleuve tant d termin par une loi uniforme puis chaque sous fleuve se redivise en deux suivant la m me r gle Le calcul de l esp rance du d bit du plus gros des quatre sous sous fleuves m ne une int grale multip
39. les r soudre Contents AVANT PROPOS INTRODUCTION Premi re partie Syst me de calcul formel mode d emploi CHAPTER I PRISE EN MAIN DU SYST ME 1 Une session d taill e 2 Classes d expressions et simplification 2 1 22 2 3 2 4 2 5 2 6 DT Classes l mentaires Classes forme normale Expressions complexes et simplification Hypoth ses sur les variables Objets compos s Op rateurs fonctionnels Exercices CHAPTER II UTILISATION AVANCEE 1 Primitives du langage de programmation 1 1 1 2 1 3 1 4 l ments de syntaxe It ration Proc dures Exercices 2 Manipulation d expressions 2 1 222 2 3 2 4 2 5 Structure des expressions Cr ation d expressions Types de base et simplification automatique Types plus complexes Exercices 3 Approfondissement du syst me iii 16 16 19 22 27 28 29 30 33 33 33 35 39 44 45 46 47 49 52 54 54 vi 3 1 3 2 3 3 3 4 CONTENTS R gles d valuation Structure interne des objets Maple D veloppement d extensions du syst me Exercices Seconde partie Domaines d utilisation et applications CHAPTER III COURBES ET SURFACES Trac s en deux dimensions 1 1 Courbes y f x 1 2 Courbes param triques et polaires 1 3 Courbes implicites 1 4 Trac de donn es 1 5 Exercices Trac s en trois dimensions 2 1 Surfaces z f x y 2 2 Courbes et surfaces param tr es 2 3 Surfac
40. lt lt in galit s strictes et larges and or not expressions bool ennes bi intervalles procedure proc dures table tables series d veloppements limit s concat nation de cha nes de caract res indexed variables index es comme a 3 uneval expressions prot g es voir 3 1 12y3 27 z Cet exemple illustre galement l absence d ordre automatique dans les pro duits et les sommes Listes et ensembles La distinction entre listes et ensembles provient de ce que dans ces derniers les l ments n apparaissent qu une fois tab 9 p 29 A la cr ation d un ensemble le simplificateur interne entreprend un parcours similaire celui qu il effectue pour les sommes et les produits afin d liminer les doubles Une proc dure effectuant l union de deux ensembles s crit donc simplement Union proc e1 set e2 set op el op e2 end C est d ailleurs ainsi que la proc dure union tait crite dans les premi res versions de Maple En cons quence lorsque les objets manipul s sont tous distincts il vaut mieux utiliser des listes plut t que des ensembles puisque la cr ation d une liste ne gaspille pas de temps dans cette simplification automatique Suites d expressions le type exprseq La seule simplification se produisant la cr ation d une suite d expressions est la suppression de l l ment neutre 2 MANIPULATION D EXPRESSIONS 51 NULL dont nous avons montr comment tir
41. o p et q sont deux polyn mes la r currence s crit directement l aide des coefficients de p et q il suffit d crire la nullit du coefficient de z dans qf p soit doin Q fn 1 kfn k 0 n gt max deg p deg q 1 en notant gz go qz qe Il s ensuit une proc dure tr s g n rale pour calculer le d veloppement de frac tions rationnelles series ratpoly proc f z name n posint local g p q dp i u k j uj if not type f ratpoly anything z then ERROR invalid argument f fi g normal f p collect numer g z q collect denom g z if subs z 0 q 0 then ERROR 8 invalid argument f fi r currence uj convert seq coeff q z i coeff q z 0 u j i i 1 degree q z premiers termes dp max degree p z degree q z 1 g series f z dp 1 for i from 0 to dp do uli coeff g z i od fin du d veloppement for j from dp 1 to n do ulj eval uj od et on construit le r sultat series convert seq u j z j j 0 n O z n 1 z n 1 tNoter l utilisation subtile de eval pour n valuer qu une fois les coefficients de la r currence sans cr er de proc dure 2 COMBINATOIRE 113 end Lorsqu elle est appliqu e la s rie g n ratrice des d num rants cette proc dure donne un temps de calcul encore meilleur que le pr c dent f 1 1 z 1 z72 1 z75 1 z710 1 z720 st time coeff series_ratpoly f z 100
42. que l on appelle fractions rationnelles dans ce chapitre Ainsi t log 2 1 y 2 2 est un polyn me en t et une fraction ra tionnelle en t et y mais ce n est pas un polyn me en z du point de vue du calcul formel tant qu on n a pas pr cis une valeur enti re pour n en effet n peut encore prendre n importe quelle valeur symbolique comme par exemple y log t On distinguera deux cas En 81 les polyn mes et fractions rationnelles sont univari s c est dire que l on travaille dans X x o K peut ventuelle ment tre Q 21 2n mais les variables n interf rent past Puis en 82 on s int resse aux syst mes d quations polynomiales en plusieurs variables et aux probl mes g om triques associ s 1 Op rations de base et polyn mes en une variable Le tableau 1 pr sente les principales op rations que l on peut effectuer sur les polyn mes et les fractions rationnelles On dispose ainsi d une bo te outils d usage tr s g n ral puisque nombreuses sont les expressions que l on peut Plus rigoureusement les id aux sont tous principaux 139 140 VI POLYN MES ET FRACTIONS RATIONNELLES TABLE 1 Principales op rations sur les polyn mes et frac tions rationnelles Type Fonction Commande Degr d un polyn me degree Extraction Valuation d un polyn me ldegree d information Coefficient coeff syntaxique Coefficient de t te lcoeff Coefficient de queue tcoef
43. rations plus complexes L instruction diff f x k simplifie l criture de nombreuses boucles Par sa construction m me cette technique ne permet cependant pas de d river z ro fois par rapport une variable pour retrouver l op rateur identit Commande map Un peu comme seq map applique une proc dure chacun des op randes d une expression La diff rence tient en ce que map conserve le type de son argument Si s est une somme l instruction map f s est quivalente convert seq f i i s L application la plus fr quente est map f 1 o 1 est une liste qui renvoie une liste dont chaque l ment est le r sultat de application de f l l ment correspondant de 1 Ceci permet d appliquer une proc dure chacun des l ments d une liste sans crire de boucle Si la proc dure f prend plusieurs arguments les autres arguments sont donn s apr s la liste EXEMPLE 14 Voici un calcul simultan de d riv es 1 sin x cos x y exp x 2 map diff 1 x cos x sin x y 2xe La proc dure zip est similaire mais beaucoup moins efficace car elle ne fait pas partie du noyau voir tab 4 p 66 Elle permet de balayer simultan ment deux listes 1 3 Proc dures Comme l ont fait appara tre les exemples pr c dents la valeur retourn e par une proc dure est la derni re expression valu e Ceci permet d encapsuler une suite d op rations mises au point en utilisatio
44. rie il faut utiliser la p riodicit de la tangente et ramener toutes les s ries au voisinage de 0 On obtient ainsi le d veloppement de x asympt subs t 2 Pi 2 n 1 1 t solve t series 1 u tan Pi 2 u u u n i T 1 T 1 1 i 2 1 1 1 1 mn 2 mn mn 4n 3T n 8x 7 n4 1 1 13 1 1 HO a i n gt 5 2 4 Sommes et produits Du point de vue du calcul formel la d termi nation du d veloppement en s rie d une somme se r duit souvent sommer les d veloppements des sommants la justification de la convergence devant tre faite s par ment Ainsi le d veloppement en s rie enti re de X sin a a 1 1 n gt 0 est calcul par series sum sin a nxx n 0 infinity x La 2 o xt a 1 6 a3 1 120 a5 1 Il est alors facile de donner le terme g n ral de la s rie mais aucun syst me de calcul formel ne dispose de fonctionnalit pour ce faire De la m me mani re le logarithme du produit I m n 0 202 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES est une somme que Maple sait d velopper Le r sultat s en d duit en prenant l exponentielle series exp sum log 1 z 2 n n 0 a 3Z 3 i De a z3 24 5 O S 3 21 315 9765 L encore il est facile de rep rer le motif g n ral regarder le quotient de deux d nominateurs cons cutifs et dans ce cas encore il n est pas difficile de prouver que la formule sugg r e par le calcul est e
45. s3 sin x 3 d 4 3 qm c3 2 D4 s3 c3 qm x 4 2 2 mb 1 s3 mb g qm c3 u 1 d f vector x 2 u 1 mb 1 2 s3 x 4 2 c3 D4 mb mc x 4 D4 g vector x 1 x 3 ini seq x i 0 i 1 4 u 1 0 seq map simplify i i subs ini zip jacobian f f g g x u x u ke 1 0 ll 0 gmb 1 0 0 3 0 4 mb 4me mb 4mc 1 0 0 0 10 0 0 0 NE 2ex 0 lo o 1 of fo 0 0 g mb me oe 1 i mb 4mc mb 4mc Le calcul est tr s rapidement r alis et les matrices peuvent tre main tenant utilis es pour d autres op rations en particulier pour la commande du chariot par exemple pour que le pendule reste vertical 132 V CALCUL MATRICIEL 2 5 Exercices 1 crire une proc dure prenant en entr e une matrice M et un num ro de colonne j et calculant le d terminant de M par la formule des cofacteurs V rifier le r sultat sur une matrice g n rique d ordre 6 2 On cherche calculer une formule g n rale pour le d terminant de taille n x 1 0 gt 0 1 zx 1 0 1 0 3 ae on O gt 0 1 zx Trouver une formule de r currence la r soudre avec rsolve simplifier la formule obtenue puis v rifier le r sultat pour n 6 3 D terminer les puissances et la racine carr e de 1 2 3 0 1 2 0 0 1 4 La matrice et les vecteurs b et c du 82 3 s obtiennent directement partir de l expression de z et des contraintes crire une proc dure Maple qui r ali
46. sultat de la simulation ou de la commande est une animation graphique du comportement du v lo La figure 5 p 296 donne la trajectoire optimale T 296 XII CALCUL FORMEL ET CALCUL NUM RIQUE FIGURE 5 Comment faire tourner un v lo de 15 degr s le plus rapidement possible d un v lo pour tourner de 15 degr s noter le contrebraquage au d part qui permet de tourner plus vite L int r t de cette approche est sa flexibilit on peut ainsi r soudre un grand nombre de probl mes vari s avec la m thode que l on d sire sans tre li un syst me sp cialis De plus les syst mes utilis s Maple et Scilab sont tr s efficaces dans leur domaine respectif L ensemble fournit un environnement riche pour des probl mes de commande de syst mes 2 4 1 Les logiciels sp cialis s Pour conclure ce chapitre mentionnons l existence d un certain nombre de logiciels sp cialis s qui r alisent des liens entre calcul formel et calcul num rique dans des domaines bien particuliers En m canique ces logiciels permettent en g n ral d crire les quations de les transformer en utilisant un formalisme appropri puis de les r soudre en produisant habituellement du code Fortran ou C Certains de ces logiciels sont ind pendants de tout syst me de calcul formel et incluent donc les op rations n cessaires leur domaine d application 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 297 d autres sont cons
47. t exp t 0 0 exp t F evalm P 1 amp B amp P e 3 2e t 3 e 3 9te t e t 3 e 3 e t 3 2te t F e 3 e 3 et 3 te t 2e t 3 e 3 e t 3 te et 3 e tf3 e 3 te t e tf3 ef3 2e t 3 te t matrice qui donne la solution du syst me diff rentiel Pour le cas de l exponentielle il n est pas n cessaire d effectuer soi m me toutes les tapes interm diaires Maple fournit la commande exponential qui se charge de tout 2 3 Optimisation lin aire Un probl me d optimisation lin aire consiste minimiser ou maximiser une fonction lin aire sous contraintes lin aires Un tel probl me peut toujours se mettre sous la forme standard suivante min z ex P Az b x gt 0 o z est la fonction minimiser fonction objectif ou fonction conomique c est le vecteur des co ts de dimension n n est le nombre de variables m est le nombre de contraintes plus petit que n A est une matrice r elle m x n de rang m matrice des contraintes et b est le vecteur des seconds membres de dimension m L expression min z ex signifie que l on cherche le vecteur x qui minimise la forme lin aire ex c tant donn Nombreux sont les probl mes pratiques qui se ram nent cette forme La m thode classique pour r soudre ce probl me est la m thode du sim plexe dont le principe est assez simple En gros le probl me est r duit parcourir des sommets d un poly dre convexe
48. tre prises en compte par le biais de s ries g n ratrices voir chap VII Nous insistons ici sur l utilisation de s ries g n ratrices pour le calcul exact d expressions faisant intervenir un param tre entier Dans la section suivante nous reviendrons sur les s ries g n ratrices pour leur application la recherche du d veloppement asymptotique d une suite Une illustration typique de l usage des s ries g n ratrices pour calculer des expressions d pendant d un entier est le calcul d une s rie de FOURIER Les premiers coefficients sont calcul s ais ment par la commande int mais il est parfois possible de calculer explicitement le n coefficient f 1 lambda 2 2 lambda cos x 1 1 2 2Xcos x 1 fay 204 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES Comme f est paire en x les coefficients calculer sont 27 x cos nx da 0 Le calcul commence par la d termination de la s rie g n ratrice de cos nx g evalc Re sum exp I x n z n n 0 infinity 1 z cos x 1 zcos x sin z Il ne reste plus qu intervertir ce qu il faudrait justifier les signes somme et int grale et simplifier le r sultat voir chap I g res int f g x 0 2 Pi assume z lt 1 z gt 1 assume lambda real simplify factor res radical signum 1 signum 1 2 2 signum 1 os 27 signum 1 7 277 signum 1 27
49. x c et yz fl che droite de x c par rapport x Maple ne trouve pas d expression symbolique pour cette int grale Nous allons donc la simplifier en observant que pour les valeurs num riques donn es y est petit devant 1 En effet la figure 3 montre que pour F 10 000 le maximum de y vaut environ 0 14 dy diff y 1 x 2 diff y 2 x 2 v subs data F 10000 dy plots display plot v 1 x 0 3000 plot v 2 x 3000 6000 1 CALCUL NUM RIQUE L INT RIEUR DU SYST ME 283 0 14 0 12 0 1 0 08 0 06 0 04 0 02 0 1000 2000 30 00 4000 5000 6000 FIGURE 3 Courbe donnant le carr de la d riv e de la fl che En rempla ant V1 y par 1 y 7 2 la l gitimit de cette approxi mation sera v rifi e a posteriori la longueur L devient la valeur approch e 1 c l bap t 3 vdes futur 0 c expression qui se calcule formellement Lap 1 int dy 1 x 0 c int dy 2 x c 1 2 length Lap 157288 L expression obtenue est tr s grosse et difficilement maniable pour tre utilis e dans un programme de calcul num rique Parmi les sous expressions qui revi ennent fr quemment que l on observe dans les variables annexes se trouve el qui vaut 0 6 x 1074 avec les valeurs num riques indiqu es plus haut Ceci sugg re de simplifier Lap en utilisant le fait que e est tr s petit Pour pouvoir effectuer la simplification e 0 le plus simple e
50. ys yp B Xp yp yp zg zc yo yp to XD YE yo et les trois points sur le cercle nous donnent les quations rb yh 1 22 y2 1 tity 1 Il faut encore exprimer que C P et D P et que les points C et D ne doivent pas avoir la m me ordonn e puisqu alors la droite CD n aurait pas d intersection avec l axe des abscisses Pour cela on rajoute un param tre t et on prend l quation 1 1 t xp zo zp xp yc yo 0 qui ne peut avoir de solution que lorsque les in quations sont v rifi es On veut prouver que la droite QE est perpendiculaire au rayon OQ c est a dire 2 tQ tq 2e yoly ve 0 Il suffit de poser la question sys xb xa xq xp yp yq ya yb ye xp 2 yp 2 1 xc 2t yc 2 1 xc xp ya yp xa xp yc yp xd 2t yd 2 1 xd xp yb yp xb xp yd yp xe xc yc yd xc xd ye yc 1 t xp xc xp xd yc yd vars ya yb ye xa xb xp yp xq yq xc yc xd yd xe t 4 g grobner gbasis sys vars tdeg grobner normalf xq xq xe tyq yq ye g vars tdeg 156 VI POLYN MES ET FRACTIONS RATIONNELLES FIGURE 3 0 Ce qui prouve que l quation 2 d coule des hypoth ses et donc la propri t est d montr e 2 2 Applications 2 2 1 limination Comme nous l avons d j remarqu plus haut les bases de GROBNER pour l ordre lexicographique fournissent une forme triangulaire du syst
51. 0 Pi 2 1 3 Fonctions complexes Un autre cas de fonctions multiformes peut appara tre lors de l int gration de fonctions complexes En effet les fonctions obtenues lors de l int gration peuvent par exemple tre d finies kr pr s et le syst me de calcul formel peut tr s bien prendre des d terminations non compatibles lors des calculs C est le cas pour l exemple suivant EXEMPLE 18 Calculons 1 dx Lo 1 x 252 Maple donne le r sultat suivant f 1 1 x 2 1I 72 int f x infinity infinity T Ce r sultat est faux Pour le v rifier nous calculons s par ment l int grale de la partie r elle et de la partie imaginaire evalc f 3 x Ix 4 3 x 16x 3 x 1672 map int x infinity infinity 0 L explication de l erreur se trouve en calculant la primitive et sa limite pour x tendant vers oo et 00 int f x arctan x 21 limit x infinity limit RL g T 30 27 evalc map int evalc f x 1 1 1 1 1 1 T arctan x 5 arctan gt 2 AS Fes signum x 9 r ri a gt 1 5 z Signum x 1 r 1 1 I3 mla 9 zee 11 limit x infinity limit x infinity 2 INT GRALES D FINIES 231 0 0 Cet arctan complexe se r crit en terme de logarithme 1 3 ix formule laquelle on peut arriver en simplifiant le r sultat de convert arctan x 2 I ln Il est alors clair par composition des limites que la limite e
52. 1 i convert 1 base nb_lettres end et voici les fonctions de codage proprement dites encode proc a e n local i seq Power i e mod n i convert transforme a base n end decode proc b d n local mess i mess map Power b d mod n detransforme convert seq mess i n i 1 i 1 nops mess end L utilisation de RSA est extr mement simple Par exemple avec p 2324923849189 q 433110035200049 et e 214667603857539706477080013 qui est bien premier avec p 1 q 1 Maple trouve facilement la valeur de d lorsque p et q sont connus p 2324923849189 q 433110035200049 n pxq e 214667603857539706477080013 d 1 e mod p 1 q 1 d 469647703172663287561246405 Les entiers e et n sont alors transmis un ami Il s en servira pour encoder son message ainsi code encode rendez vous ce soir e n code 3056414258810826698991580 1 Connaissant d le d codage est ais decode code d n rendez vous ce soir Le grand avantage du syst me RSA est que tout ce que l exp diteur conna t sauf le message peut tre divulgu y compris les fonctions de trans formation entre texte et entiers et m me le codage utilis d o le nom de code cl publique 1 3 Fractions continues Les fractions continues fournissent de bonnes approximations des nombres r els par des rationnels tant donn s un entier q et un r el positif r l entier p le plus proch
53. 1 n sur l intervalle 0 1 log n n et par 1 sur l intervalle 1 1 n 1 Il reste la majorer sur 1 logn n 1 1 n par la valeur de l int grande en 1 1 n c est dire asympt subs t 1 1 n 2 1 1 t n 1 n n 3 Er of We n Ceci permet de majorer a par 2 log n n et ach ve la preuve de la convergence de la s rie EXEMPLE 6 Nature de la s rie 5 sin r y 4n 1 n 0 Cette somme est semblable Ssin 27n qui vaut 0 La p riodicit du si nus permet d obtenir le comportement asymptotique des termes somm s car sin rvAn 1 sin r V4An 1 2n asympt sin Pi sqrt 4 n 2 1 2 n n 3 T 0 1 4n n Donc il existe N tel que pour n gt N sin rVAn 1 est positif et born inf rieurement par 7 5n Ceci permet de conclure que la s rie diverge EXEMPLE 7 Nature de 1 J nsin 1 n yi Vnsin 1 Vn n 1 n gt 1 Pour cet exemple on a envie d utiliser la convergence des s ries altern es dont les termes d croissent en valeur absolue mais la monotonie pose probl me Voici quelques valeurs 196 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES f 1 n sqrt n sin 1 sqrt n n 1 n evalf seq subs n i f i 2 17 0 3062417898 0 4726815281 0 1917702154 0 2417496044 0 1389218269 0 1627266612 0 1088107209 0 1226980113 0 08940149714 0 09849172063 0 0758591436 0 08226905886 0 06587584553 0 07063756
54. 2 n 1 infinity 3 T 6 Pour conomiser l espace il nous arrive de regrouper plusieurs instructions sur une seule ligne comme assume R1 gt 0 assume R2 gt 0 ou bien de condenser plusieurs instructions en une seule si normal subs coordsl y sqrt x 2 y 2 Le lecteur pourra d composer les diff rentes commandes en faisant tmpi y sqrt x 2 y 2 tmp2 subs coordsI tmpli si normal tmp2 ce qui lui permettra de mieux suivre les tapes du calcul Remerciement Philippe Dumas a relu patiemment plusieurs versions de cha cun des chapitres de ce livre Ses commentaires tant sur le plan de la correc tion que de la p dagogie ont grandement contribu la lisibilit de ce livre Nous l en remercions vivement ainsi que J C Fort pour ses commentaires sur une premi re version du chapitre XI Premi re partie Syst me de calcul formel mode d emploi CHAPTER I Prise en main du syst me N SYST ME DE CALCUL FORMEL peut tre employ comme une calcula trice de poche D abord comme un aide m moire le syst me retrouve des formules que l utilisateur peut avoir oubli es Ensuite et c est l emploi le plus important le syst me effectue des calculs longs et fastidieux que l utilisateur saurait faire lui m me Le logiciel apporte alors vitesse et s ret Enfin et c est un usage fr quent mais dangereux si les r sultats sont accept s aveugl ment certaines fonctionnalit s des syst mes sont
55. 4 Simplifier cos 4 arctan x cos 6 arctan x expand normal 10 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 31 Calculer le d terminant de cos x a sin r a 1 cos x b sin r b 1 cos x c sin r c 1 et le simplifier linalg Utiliser le d veloppement de TAYLOR de arctan x en x 0 pour obtenir une approximation rationnelle de 16 arctan 1 5 4arctan 1 239 Faire l valuation num rique pour des d veloppements d ordre de plus en plus lev series convert subs evalf R soudre zV x Tracer la courbe y xY x pour x 0 5 R soudre le syst me d quations suivant en x et y xy Q ln r ln y 2ln a R soudre le m me syst me en rempla ant a par 2 Comparer la forme des solutions solve Mener l tude de la fonction x y 1 ln x D terminer domaine de d finition extremums asymptotes points de rebroussement concavit singular solve diff limit plot Obtenir lexpression l aide de la composition des fonctions Cette formule trouv e par MACHIN en 1706 lui permit de calculer 100 d cimales de 7 CHAPTER II Utilisation avanc e L N EST PAS POSSIBLE D UTILISER pleinement un syst me de calcul formel I sans en comprendre les principes de fonctionnement Une approche du type bo te noire o l on interroge le syst me est tres rapidement insatisfaisante Il est n cessaire d aider le syst me en cas d
56. 6 5 5 4 4 3 3 2 2 al 1 FIGURE 4 FIGURE 5 valeurs sup rieures Inversement si elle converge pour une valeur initiale uo elle reste born e pour toutes les valeurs inf rieures Pour achever la preuve de l existence de ce seuil il reste exhiber une valeur pour laquelle la suite diverge et une autre pour laquelle elle converge ce qui peut se faire en minorant une suite divergente et en majorant une suite convergente mais cela ne met pas en uvre le calcul formel En revanche la valeur de ce seuil peut tre calcul e ainsi que bien d autres informations relatives cette suite La figure 4 montre les premiers termes de la suite pour diff rentes valeurs initiales En abscisse sont port s les indices et en ordonn e les valeurs Les points d une m me suite sont reli s entre eux Plusieurs questions se posent naturellement au vu de cette figure 1 Toutes les suites semblent sortir d une m me courbe Quelle est cette courbe 2 Presque toutes les valeurs initiales utilis es pour tracer ce dessin sont dans un intervalle de largeur 0 02 autour de la valeur seuil Comment calculer pr cis ment cette valeur seuil 3 Toutes les suites qui ne divergent pas semblent converger Peut on le prouver 4 Toutes les suites qui ne divergent pas semblent aboutir une m me courbe Peut on pr ciser ce qu est cette courbe au moins asympto tiquement 5 Comment ce dessin a t il t obtenu La cl
57. 705 16 47 4848 2112 67861 3 0 004 0 023 0 034 0 088 0 200 0 493 6 798 33 27 450 4 3bis 0 013 0 037 0 085 0 195 0 390 0 795 4 239 9 078 51 34 3ter 0 005 0 007 0 011 0 017 0 022 0 047 4 0 014 0 032 0 086 0 196 0 448 0 990 10 00 40 11 1367 4bis 0 011 0 044 0 125 0 290 0 798 1 307 7 273 15 70 107 0 l unit de temps dans ce tableau est le dixi me du temps n cessaire au calcul de uso9 par le programme 4 Les cases manquantes n ont pu tre obtenues faute de temps ou d espace m moire Ce tableau permet de tirer plusieurs enseignements sur la programmation en Maple La lin arit du temps de calcul n est vraiment atteinte que pour les pro grammes 3bis et 4bis qui op rent sur des flottants Elle est galement bien approch e par les programmes 3 et 4 tant que les entiers manipul s ne sont pas trop gros c est a dire de moins de 100 chiffres Les flottants en Maple sont lents par rapport aux entiers tant que ces derniers ne sont pas trop gros avant la colonne u500 les programmes bis sont plus lents que les programmes exacts Ceci provient de ce que les flottants sont repr sent s de mani re interne comme des couples d entiers mantisse exposant et les calculs sont en r alit effectu s sur des entiers En revanche lorsque evalhf peut tre appliqu il utilise les flottants de la machine et ceci m ne de bien meilleures performances ligne 3ter Mais l enseignement principal de ce tableau c est qu
58. ANNEXE C Index des syst mes actuels Les syst mes que nous d crivons ici sont les plus couramment utilis s Il est bien clair qu il en existe beaucoup d autres et que l on ne saurait tre exhaustif Pour chaque syst me nous indiquons son type commercial ou gratuit la version actuelle les machines sur lesquelles il est disponible stations de travail Unix Macintosh ou PC le distributeur principal et les principales caract ristiques 1 Syst mes g n raux Axiom Type commercial Version actuelle 2 Disponible sur Sun SPARC Station IBM RS 6000 HP 9000 Silicon Graphics une version pour PC est pr vue pour fin 1995 Distributeur NAG Ltd Wilkinson House Jordan Hill Road Oxford OX2 8DR Angleterre fax 0 865 310139 t l 0 865 511245 email infodesk nag co uk Syst me comprenant le mieux les concepts math matiques du fait de son caract re fortement typ in clut l implantation la plus compl te de l algorithme d int gration de RISCH possibilit de faire des calculs paresseux Mise en uvre lourde pour un non sp cialiste Derive Type commercial Version actuelle 2 59 Disponible sur PC et certaines calculatrices de poche HP 95 Distributeur Soft Warehouse 3660 Waialae Avenue Suite 304 Honolulu HI 96816 3236 USA t l 808 734 5801 fax 808 735 1105 Petit logiciel peu gourmand en m moire pouvant m me fonctionner sur certains ordinateurs de poche Langage de program mation ru
59. Approfondissement du syst me Dans cette section nous abordons des particularit s de Maple qu il est bon de comprendre pour l utiliser intensivement Nous conseillons de passer directement la seconde partie du livre pour revenir sur cette section apr s avoir acquis une bonne pratique du syst me 3 1 R gles d valuation La commande subs 82 2 ne fait que substituer un terme une sous expression Les simplifications automatiques sont ef fectu es mais l expression n est pas r valu e EXEMPLE 38 f sin x 2 x 3 g subs x 0 f g sin 0 3 La variable x a bien t remplac e par 0 mais la proc dure sin n a pas t rappel e pour simplifier le r sultat Malgr ce r sultat dans lequel appara t sin 0 la variable g semble bien avoir t simplifi e 8 3 Pour comprendre ce qui se produit dans cet exemple il est important de conna tre certaines r gles d valuation de Maple Les r gles d valuation d un langage de programmation sp cifient quand et comment les expressions sont valu es Nous allons maintenant pr ciser ces r gles pour le syst me Maple 3 1 1 valuation et protection des variables La diff rence principale entre Maple et les langages de programmation traditionnels r side dans l valuation des variables non affect es Dans les langages traditionnels cette valuation est consid r e comme une erreur En Maple elle renvoie le nom de la variable Ce m canisme
60. D terminer le comportement asymptotique de la suite d finie par uo U U2 Un43 TUnto Un 4 D terminer les deux premiers termes du d veloppement asymptotique de la suite d finie par Up UZ 1 wy U2 O Una 3Un 3 Un 2 dun 0 5 D terminer le comportement asymptotique de la suite d finie par Uo ui U2 U3 U4 1 Un 5 3Un 2 Un Il faut prendre en compte les contributions de deux p les 6 On consid re la r currence n 7n 18n 21n 9n Un 2 6n 3n 9n 9n Un 1 L n n n7 un 0 1 V rifier que certaines des racines du coefficient de t te et certaines des racines du coefficient de queue diff rent d un entier 2 en d duire un entier p tel que deux racines du d nominateur d une so lution rationnelle ne puissent avoir une diff rence enti re plus grande que p 3 construire une r currence satisfaite par Un Upn 4 v rifier que les racines du d nominateur d une solution rationnelle de cette nouvelle r currence ne peuvent diff rer d un entier 5 r soudre cette r currence 6 en d duire les solutions rationnelles de l quation de d part 7 Le but de cet exercice est de d terminer une seconde solution ind pendante de la r currence 3 NUn t2 5Unpi n 1 un 0 2 RECURRENCES D ORDRE UN 173 y TO 20 40 50 FIGURE 1 FIGURE 2 Les points fixes de la tangente Les pr
61. Enfin une partie tr s importante appel e see also donne le nom de fonctions ayant un rapport avec celle dont on a demand la documentation Cela permet souvent de trouver de proche en proche le nom de la fonction d sir e L acc s facile cette aide en ligne est capital pour un syst me de calcul formel En effet il est impossible un utilisateur de conna tre le nom et encore moins la syntaxe du millier de fonctions que contient le syst me L aide en ligne contient tout le manuel de r f rence du syst me et gr ce la souris on s y d place bien plus facilement que dans la version papier Pour revenir notre probl me nous utilisons la fonction solve avec la syntaxe solve eqns vars solve eqi eq2 x y f 12R1 R2 1 R2V4R1 e g 2 RI 472 Ri 2 RI _ 12R1 R2 a RI 1 R2VARI 2 Les expressions entre accolades repr sentent des ensembles Nous r solvons l ensemble donc le syst me eq1 eq2 d quations par rapport l ensemble x y d inconnues Le r sultat est donn sous la forme d un objet Maple appel en anglais expression sequence et que nous appellerons suite d expressions Une suite d expressions est une suite ordonn e d expressions s par es par des virgules Elle peut comprendre z ro l ment tre vide dans ce cas elle est repr sent e en Maple par le symbole NULL Il faut faire attention ne pas confondre une s
62. FORMEL ET CALCUL NUM RIQUI Les quations qui r gissent le comportement de la cage sont les suivantes F ao 1 e 8 fi F h2 h2 S ai RET he 1 he TE hn 1 hi IkR fay acant m 2 5 72 fs F he arctan e z 2 h2 2 T T2 l t R aC a i ee i avec t nhe ne hn h2 RO fo F he F Les inconnues sont la force de laminage F l paisseur de sortie ho et Vangle neutre d terminant le point o la vitesse de glissement de la t le par rapport au cylindre est nulle Les autres variables sont donn es en particulier V paisseur d entr e h les tractions T et T2 le module de c dage aj le serrage des vis S la r sistance k du m tal la d formation et la largeur d entr e l de la t le Les coefficients a2 et a3 ont t trouv s exp rimentalement par les lamineurs Il est noter que ces quations sont simplifi es car elles ne tiennent pas compte de la temp rature de la t le Pour le probl me r el il faut en plus r soudre une quation de la chaleur le long de la t le Il est clair que le calcul de la matrice jacobienne du syst me est pour le moins compliqu En revanche il est tr s facile r aliser en utilisant un syst me de calcul formel comme Maple titre de curiosit l l ment 2 2 de la matrice jacobienne est imprim ci dessous xi sqrt h1 h2 R r h1 h2 h2 hN h2 R Phi 2 f h2 S F a2
63. GRALES PARAM TR ES 241 3 2 Suites d int grales Les suites d int grales peuvent tre vues comme un cas particulier d int grales d pendant d un param tre o celui ci ne prend que des valeurs enti res positives Pour les calculer une technique souvent employ e consiste chercher des formules de r currence entre les int grales de la suite Une autre tech nique plus simple lorsqu elle s applique consiste employer des fonctions g n ratrices Nous d taillons cette seconde technique sur un exemple de calcul de s rie de FOURIER au chapitre VIII page 203 EXEMPLE 31 Nous avons d ja vu que la fonction arcsin n est pas pure ment transcendante ce qui cause des difficult s l int grateur de Maple La primitive de arcsin x pour n entier sup rieur ou gal 2 ne s obtient pas di rectement mais est fournie par int grations par parties r p t es La proc dure suivante r alise ce calcul intarcsin proc n posint local e i e Int arcsin x n x for i from n by 1 to 1 do e student intparts e arcsin x 1 od value e end intarcsin 5 arcsin x a 5 arcsin x v 1 22 20 arcsin x 3a 60 arcsin x 1 x 1202 arcsin x 120V 1 x La raison pour laquelle cette technique fonctionne si bien est que ces int grales v rifient une r currence lin aire d ordre 2 student intparts Int arcsin x n x arcsin x n arcsin x nx d V1
64. Guj PRESS 2V R1 In 5 sint2 Together y Sqrt Ri x 2 y 2 sol 2 R2 4R12 R22 R1 Out 5 WTS In 6 costi Together x Sqrt x 2 y 2 sol 2 Out 6 2R1 R2 2R1v R1 In 7 cost2 Together R1 x Sqrt R1 x 2 y 2 sol 2 R2 HAL 2R1V R22 301 302 A UNE SESSION Mathematica L expression expr sol 2 signifie expr dans lequel on a effectu la substitution sol 2 c est dire remplac x et y en fonction de R et Ro La commande Together effectue la r duction au m me d nominateur In 8 A PowerExpand R1 2 ArcCos cost1 sint1 cost1 R2 2 ArcCos cost2 sint2 cost2 R2V4R1 R22 R2 _ p92 Out 8 R2 IRI ArcCos ze R2 2R1 R2 V4R1 R22 2R1 R2 2 7 StS awit Rl TR ArcCos SR La commande PowerExpand d veloppe des expressions contenant des puis sances Le symbole de multiplication est facultatif en Mathematica Voici comment on v rifie les valeurs extr mes de l aire In 9 A R2 gt 0 Out 9 0 In 10 A R2 gt 2 R1 Out 10 7R1 Le rapport P des aires est d fini par In 11 AA Expand A R2 gt K R1 KR1VARI K 2R12 2 Out 11 K R1 ArcCos K 2 2R1 K R1 2R1 In 12 P Together PowerExpand Simplify AA Pi R1 2 Out 12 KV4 K 42k AC 2 ArcCos 1 K 2 T La recherche de la valeur de K donnant P 1 2 se fait l aide de la com mande FindRoot de r s
65. Un uP ul u u u uo uf 1 0 6931 1 0986 1 4392 1 6160 1 6935 1 7292 1 7462 1 7546 2 0 8959 1 3540 1 5939 1 6887 1 7281 1 7460 1 7545 4 1 1250 1 5339 1 6768 1 7256 1 7454 1 7544 8 1 3294 1 6411 1 7195 1 7442 1 7541 16 1 4853 1 6999 1 7411 1 7535 32 1 5926 1 7308 1 7519 64 1 6617 1 7466 128 1 7042 Dans ce cas particulier cette diagonale de valeurs ne montre pas une conver gence convaincante La raison pour laquelle le proc d n a pas fonctionn de fa on spectac ulaire est que la suite log un n ne converge pas comme dans l quation 5 La suite u satisfaisant une r currence lin aire on peut cependant s attendre voir chap VIII ce qu elle se comporte asymptotiquement comme a a 6 un rn ao 2 n n Dans ces conditions apr s une tape du proc d le d veloppement obtenu est asympt expand log r n n alpha a 0 a 1 n a 2 n 2 n n 3 asympt 2 subs n 2 n n 3 map expand in 2 i aln ai In r 7 ae o Autrement dit apr s une tape du proc d de ROMBERG sur la suite log un la situation est ramen e celle de l quation 5 Le tableau 3 est alors calcul comme suit for i from 0 to 7 do v 0 i ln u8bis 27i 27i od for i from 0 to 6 do v 1 i 2 v 0 i 1 v 0 i od for j from 2 to 7 do for i from 0 to 7 j do viji 2 j 1 v j 1 i 1 v j 1 i 2 j 1 1 od od La diagonale montre alors une vraie convergence On peut par ailleurs montrer que la
66. Y 1n x eq subs In x t x exp t map numer DOY t DY YHDY La r solution fonctionne sur cette quation dsolve Y t Y t 1 V2C 1 Il ne reste plus qu a effectuer le changement de variable inverse subs t l1n x solve Y t au In 2 4 20 1 1 2 C2 2 01 A ani VD donc les solutions de y yy x sont de la forme y atan aln x 2 b 1 arctan t 2 C2 EXEMPLE 4 Les fonctions liouvilliennes sont celles que l on peut obtenir en composant l exponentielle l int gration l extraction de racines de polyn mes et les op rations de corps partir des fractions rationnelles en une variable coefficients dans Q Maple dispose d algorithmes pour trouver ces solutions dans le cas des quations diff rentielles lin aires coefficients polynomiaux d ordre 1 et 2 1 QUATIONS DIFF RENTIELLES ORDINAIRES 249 FIGURE 1 L quation suivante rentre dans cette classe 23 2 x y x 2x 3x 1 y x x 1 y x 0 dsolve x 3 2 x 2 diff y x x 2 2 x72 3 x 1 diff y x x x 1 y x y x 1 x el da Cre Ve Coe f as cot wey Vzvzx 2 Vxvx 2 Comme pour la recherche de primitives les algorithmes existant dans la litt rature permettent de prouver qu une quation n admet pas de solution liouvillienne Cependant leur implantation n est pas compl te en Maple et l chec du programme ne constitue d
67. blocs de signe constant 8 Etudier les domaines de convergence uniforme de la s rie yoa x 0 7 n gt 1 vn 198 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES FIGURE 3 sin z FIGURE 4 1 T 2 FIGURE 5 tan z FIGURE 6 1 22 2 S ries enti res et d veloppements limit s Les d veloppements limit s sont des objets de base du calcul formel Maple leur affecte un type de donn es particulier le type series et de nom breuses op rations peuvent tre effectu es sur des objets de ce type Par ailleurs lorsque le terme g n ral d une s rie enti re est connu explicitement quelques calculs sont possibles mais peu d op rations symboliques peuvent tre alors appliqu es directement sur la s rie 2 1 Disque de convergence Le premier objet d un d veloppement en s rie est d approximer la fonction localement Les figures 3 6 montrent comment les d veloppements des ordres de plus en plus lev s s approchent de la fonction Ces figures ont t obtenues par l instruction plot seq convert series f z i polynom i 1 p z a b c d pour des valeurs appropri es de p a b c et d Les deux premi res fonctions ont un d veloppement en s rie enti re dont le rayon de convergence est in fini Les deux autres ont un rayon de convergence fini le premier cause de singularit s r elles et le second cause de singularit s imagin
68. c a l d gt a b c d suite vide NULL 2 6 Op rateurs fonctionnels Nous avons vu dans le 1 comment donner une valeur une expression avec la fonction subs Une autre fa on de r aliser cette op ration est d utiliser un op rateur fonctionnel En Maple la notation fl che gt cr e une fonction de z ro ou plusieurs arguments EXEMPLE 16 Voici comment d finir une fonction f qui x y associe l expression z y 1 f x y gt x 2ty 2 1 f z y gt 2 y 1 f 1 a a La fonction f s value alors comme n importe quelle fonction Maple Inversement partir d une expression alg brique on peut obtenir une fonction Pour cela on utilise la fonction unapply quivalent de l abstraction du calcul EXEMPLE 17 On d finit la fonction fA ayant pour argument R2 et cal culant laire A obtenue dans le 81 Il est alors facile de v rifier les valeurs de l aire pour Ro 0 et Ro 2R1 fA unapply A R2 30 I PRISE EN MAIN DU SYST ME LOR R2 fA R2 TR1 arccos pa R1 2 R1 1 VARIE RE 2 1 R2 PRE ART on hey zE R R2 R2 arccos DR fA O fA 2 R1 0 7R1 En Maple on peut m me composer ou d river les op rateurs fonctionnels l aide de l op rateur de composition et de l op rateur de d rivation D L op rateur est l op ration de composition it r e Ainsi f f f et fC03 repr sentent tous deux la troisi me it r e de f EXEMPLE 18
69. celui de la minimisation d une forme quadratique Il s agit de trouver un vecteur v qui minimise v Tout d abord pour que ce minimum existe il faut que les valeurs propres de la matrice A soient positives ou nulles ce que nous supposerons par la suite Le vecteur gradient de par rapport v est gal 2Av b car A est sym trique Le minimum de v est atteint lorsque le gradient est nul donc pour v A b 2 condition que A soit inversible EXEMPLE 22 La surface 7 5 V3 z oe 1 est un parabolo de de r volution fig 5 Le minimum est facilement d termin par la commande linsolve linsolve evalm 2 A b 5 yt gy 2x WBy 7 2 25 Ce point n est autre que le centre de la conique trouv dans la r duction de la forme quadratique du paragraphe pr c dent En effet le minimum d une forme quadratique lorsque les valeurs propres sont positives est atteint au centre de la conique associ e La valeur en ce point est celle du terme constant dans l quation de la quadratique r duite ici 1 La encore les m mes calculs s appliquent un ordre plus lev L avantage d un syst me de calcul formel est que pour toutes ces questions il suffit de recommencer les calculs d j r alis s en changeant les donn es ici A b et c 3 ESPACES VECTORIELS EUCLIDIENS 137 3 4 Exercices 1 Une condition pour que trois vecteurs U Y et w soient coplanaires est que le d term
70. cessaire d tendre le syst me pour qu il puisse d river simplifier valuer num riquement les ex pressions contenant 1n Autrement dit une fonction math matique n est pas d finie par une proc dure mais par plusieurs proc dures correspondant aux propri t s de la fonction qui sont int ressantes pour les applications en vue Dans le cas du logarithme on crira par exemple diff In proc y x diff y x y end ce qui traduit la relation habituelle _ Y In y n C est r ellement ainsi qu est d finie la d riv e du logarithme en Maple On crira de m me les autres proc dures expand 1n simplify ln evalf ln Dans chacun des cas il suffit de se r f rer au help de la propri t que l on souhaite pr ciser expand simplify pour conna tre le format des entr es et des sorties de la proc dure que l on crit Les principales proc dures Maple extensibles de cette mani re sont indiqu es au tableau 5 p 70 Le fonctionnement de ce m canisme est tr s simple Nous le d crivons sur la proc dure derive crite plus haut dont nous rempla ons la branche elif correspondant aux fonctions par elif type f function then fct derive op 0 f if not type fct procedure then traperror readlib fct fi if not type fct procedure then ERROR Derivee non programmee op 0 f else fct op f x fi Dans le cas d une fonction f le programme commence par tester l
71. cette section certaines de ces m thodes 3 1 Fonctions d finies explicitement Les calculs de d veloppements asymptotiques de fonctions connues explicitement sont importants car ils for ment la base de nombreuses op rations courantes calcul num rique com paraison d ordres de grandeurs de fonctions calcul de d veloppements asymp totiques plus complexes tude de la convergence d une int grale impropre La commande de base en Maple est asympt voici comment faire ap para tre la formule de STIRLING asympt n n 4 E evn mer Cependant la commande asympt est encore tr s insuffisante Il est en effet difficile d obtenir des d veloppements simples comme celui de Ge 2 lorsque n oo Voici les acrobaties par lesquelles on peut y parvenir f binomial n 2 xn 3 p 2 binomial n 2 xn 3 2 expand 1n convert f GAMMA GAMMA 2InT 2n 3 p 1 2InT n 3 p 1 2Inl 2n 3 1 2InT n 3 1 eval subs GAMMA x gt exp _B _B asympt 1n GAMMA x x 4 asympt simplify exp 1n n 3 simplify map normal exp 9 2 4 27 3 2p 9 2p of 1 n n2 3 2 Fonctions d finies implicitement La m thode des coefficients ind termin s qui s appliquait au cas des d veloppements limit s ne s applique plus ici puisqu il faut d abord d terminer dans quelle chelle asymptotique doit se faire le d veloppement Nous montrons cependant sur un exemple d inversion commen
72. chec et donc de comprendre ce pourquoi il a chou La compr hension d un syst me passe d une part par la connaissance au moins vague des algorithmes employ s que nous d taillerons dans la sec onde partie de ce livre D autre part cette connaissance passe plus fon damentalement par l assimilation du mode de fonctionnement des syst mes Plus pr cis ment il est important de comprendre comment se fait le lien en tre la connaissance math matique et sa repr sentation informatique afin de mieux appr hender ce qui est faisable et ce qu il est illusoire d attendre d un syst me Nous aborderons ces probl mes de repr sentation de l information math matique au 82 et nous verrons au 83 notamment au 83 3 comment tendre le syst me Auparavant nous d crivons les notions de base du langage de programmation de Maple 1 Primitives du langage de programmation Le syst me Maple comme la plupart des syst mes de calcul formel est dot d un langage de programmation Bien souvent un calcul n cessite l utili sation de plusieurs instructions qui d pendent ventuellement de r sultats interm diaires Si ces op rations sont effectuer sur de nombreuses donn es il est alors utile d en faire une ou plusieurs proc dures qui automatisent l ensemble du calcul 1 1 l ments de syntaxe Apr s une pr sentation rapide de la syntaxe du test de l it ration et des proc dures nous reviendrons plus en d tail
73. commande dsolve et le package DEtools pour l tude des quations diff rentielles Il existe aussi des techniques de recherche de solutions analytiques ap proch es d quations diff rentielles les syst mes ne fournissent pas d outil sp cialis mais les m thodes s apparentent la recherche de d veloppements de solutions dont nous parlons Il en va de m me pour les quations aux d riv es partielles qui sortent encore du champ d application du calcul formel 1 1 Solutions exactes La recherche de solutions exactes c est dire ex prim es en termes de fonctions l mentaires cf chap IX 81 2 consiste essen tiellement d terminer si l quation appartient l une des classes d quations que l on sait au moins partiellement r soudre ou simplifier ou si elle peut s y ramener par un changement de variables Les classes d quations reconnues varient d un syst me l autre et d une version l autre Cependant les quations suivantes sont g n ralement reconnues y est la fonction inconnue x la variable de d rivation 246 X CALCUL DIFF RENTIEL e quations lin aires ag x y x a x y PT x ap 2 y a B x e quations homog nes P x y x y x Q x y x 0 avec P et Q homog nes en x y de m me degr e quations autonomes x n apparait pas dans l quation e quations de RICCATI y x a x y x b x y x ea e qua
74. commen ant par la premi re version plus proche des autres langages de programmation EXEMPLE 4 Le produit est calcul par la boucle p 1 for t from 3 by 2 to 2001 do p p t od Lorsque les champs from ou by ne sont pas pr cis s ils sont pris gaux un ce qui permet une expression assez condens e EXEMPLE 5 Le calcul des cinq premi res d riv es de exp e est effectu par f 0 exp exp x for i to 5 do f i diff f i 1 x od et si les d riv es d ordre inf rieur cinq sont inutiles il suffit d ex cuter f exp exp x to 5 do f diff f x od Le champ while sert contr ler l arr t par exemple pour une it ration num rique Voici un exemple typique 36 II UTILISATION AVANC E EXEMPLE 6 Le calcul de V2 est bas sur l it ration de NEWTON qui donne ya comme limite de 1 a Unti 5 Unt x sqrt2 2 oldsqrt2 0 to 100 while abs oldsqrt2 sqrt2 gt 10 8 do oldsqrt2 sqrt2 sqrt2 sqrt2 2 1 sqrt2 od sqrt2 1 414213562 Le champ to 100 est facultatif ici Il est utilis pour limiter le nombre d it rations au cas o la suite ne convergerait pas Il est parfois utile de savoir qu la fin de l ex cution d une boucle la variable indice vaut la premi re valeur qui n est pas utilis e dans le corps de la boucle Si l indice est utilis ensuite il faut penser le r initialiser Mais cette valeur peut galement tre utile dans les calculs EXEMPLE 7 Dans
75. currence est sup rieur ou gal 5 le polyn me caract ristique peut ne pas tre r soluble par radicaux L expression de la suite fait alors intervenir des nombres alg briques non explicites C est ce qui se produit par exemple avec la r currence suivante 1 Un 5 SUn 2 Un uo Uy Ug Ug Ug 1 pour laquelle Maple renvoie un r sultat peu utilisable qui pourrait d ailleurs tre am lior en rempla ant la limite de z R 1 323 25 par 1 9R 5R rec u n 5 3 u n 2 u n ini u 0 1 u 1 1 u 2 1 u 3 1 u 4 1 rsolve rec union ini u n D im r can Cees R R R 1 1 RootOf 1 3 2 7 1 1 2 Calcul rapide La r solution explicite de la r currence ne donne pas un acc s facile aux valeurs de la suite Par exemple la suite d finie par la r currence 1 ne prend que des valeurs enti res mais il est difficile d obtenir u100 partir de la solution ci dessus En r alit pour calculer des valeurs de la suite il vaut mieux ne pas essayer de r soudre la r currence Des m thodes rapides seront d crites en 4 Dans le cas des r currences lin aires coefficients constants il est en outre possible de calculer tr s rapidement des valeurs de la suite pour des indices tr s lev s En effet le calcul de un n cessite moins de n op rations arithm tiques pour n suffisamment grand Pour r aliser ce calcul la r currence est d abord r c
76. d un syst me de calcul formel nous en illustrons certains aspects en 1 Cependant les con traintes d efficacit obligent souvent utiliser d autres langages ou logiciels Les probl mes d interface qui se posent alors sont abord s en 2 1 Calcul num rique l int rieur du syst me Lorsqu une approximation num rique d un r sultat suffit on utilise des nombres d cimaux appel s aussi nombres flottants Tous les syst mes de cal cul formel permettent de choisir le nombre de chiffres significatifs utilis s au cours d un calcul Nous parlons alors de calcul en pr cision arbitraire par op position aux op rations pr cision fixe usuellement 15 d cimales propos es par les autres langages C Fortran Pascal et logiciels num riques Certains syst mes dont Maple offrent galement la possibilit d acc der interactivement aux op rations flottantes de la machine Nous montrons com ment exploiter au mieux ce mode pour diminuer le temps de calcul d un facteur pouvant aller jusqu 30 Si cela ne suffit pas il faut alors passer la produc tion de code C ou Fortran ce qui permet gr ce la compilation de gagner encore un facteur pouvant aller jusqu 100 soit un facteur d environ 3 000 par rapport au d part Ces questions sont abord es dans la section suivante 1 1 La pr cision arbitraire Lorsque le nombre de chiffres d sir s est sup rieur la pr cision des flottants de la machi
77. d veloppement de chacun des termes de f l z 27 1 2 1 744 14 24 es ge 127 ee Lors du d veloppement du produit la puissance n de z la puissance n de z la puissance n20 de z donnent z lev la puissance n 2ng 5n5 10n10 20n20 Toutes les d fa ons d obtenir l exposant n vont ainsi contribuer d une unit au coefficient de z La raison pour laquelle ce programme est plus rapide que le pr c dent est double D une part la commande series fait partie du noyau de Maple et est donc d ex cution tr s rapide D autre part les produits interm diaires tUne liste des proc dures du noyau est donn e au chapitre II 3 3 108 IV ARITHM TIQUE ET COMBINATOIRE fournissent des d num rants partiels qui ne sont ainsi calcul s qu une fois Le calcul effectu par series est ainsi le m me que celui qu effectue le programme suivant l g rement plus rapide que denumerants auquel on donne la liste de pi ces en second argument denumerants1 proc n nonnegint list posint option remember local res p k i newl if 1 1 then RETURN 1 fi k 1 nops 1 newl subsop nops 1 NULL p iquo n k for i from 0 to p do res i denumerants1 n k i newl od convert seq res i i 0 p end 2 2 1 Structures d composables L exemple des d num rants peut tre reformul dans un cadre plus g n ral celui des classes de structures d composab
78. dans l intervalle d int gration et le choix de la bonne branche des fonctions multiformes 2 1 1 Singularit s dans l intervalle d int gration L exemple le plus simple est celui de 1 1 i dx 1 x f 1 x 2 F int f x int f x 1 1 subs x 1 F subs x 1 F coo 2 La formule F b F a ne s applique pas cause du p le en 0 mais Maple trouve le bon r sultat car il commence par essayer de rep rer les discontinuit s en utilisant la fonction discont La puissance de cette commande est limit e par celle de solve Il faut donc faire attention lorsque les singularit s de la fonction n ont pas de forme analytique ou lorsque la fonction a int grer d pend d un param tre 2 INT GRALES D FINIES 229 EXEMPLE 14 Le d nominateur z exp z 2z 1 s annule deux fois sur l intervalle 1 2 mais Maple ne s en rend pas compte et fournit un r sultat alors que la fonction n est pas int grable sur cet intervalle f 2 z exp z z 2 exp z 2 z 2 exp z 2 z 1 int f z 1 2 In 4e 5 In e 1 EXEMPLE 15 Le calcul suivant n est valable que pour a 1 1 int 1 x a 2 x 1 1 1 1 l a 1 a EXEMPLE 16 Il est noter que m me lorsque la fonction f est continue la primitive F trouv e peut ne pas l tre ce qui complique le calcul d int grales d finies f 1 3 2 cos x F int f x 2 1 1 F 3 V5 arctan G tan 50 V5 int f
79. dans un espace dont la di mension peut tre lev e en suivant ses ar tes Une description compl te et d taill e de l algorithme du simplexe d passe le cadre de cet ouvrage En particulier il est parfois difficile de trouver un premier sommet o d marrer l algorithme et des cas de d g n rescence se produisent lorsque l une des face du poly dre est parall le l hyperplan noyau de la forme minimiser Il existe en Maple un package appel simplex qui donne directement les solutions d un tel probl me 130 V CALCUL MATRICIEL EXEMPLE 21 Comme illustration nous allons utiliser l exemple suivant min 2 1 2 3x1 202 3 2 1 2 2 Ta 4 Li Lo T5 5 1 2 3 4 5 gt 0 La r solution est imm diate constr 3 x 1 2 x 2 x 3 2 x 1 2 x 2 x 4 4 x 1 x 2 x 5 5 simplex minimize x 1 2 x 2 constr NONNEGATIVE x1 2 2 3 4 0 5 0 3 2 Le package simplex comprend en plus des fonctions ex cutant les tapes de l algorithme permettant ainsi l apprentissage l exp rimentation et lorien tation de la m thode du simplexe 2 4 Automatique Les applications du calcul formel sont importantes dans le domaine de l automatique comme nous le verrons plus en d tail dans le chapitre XII Un grand nombre de syst mes dynamiques en automatique sont d crits par X f X U Y IX U o X Y et U sont des ve
80. de x 1 x x2 2 fait donc intervenir des nombres alg briques de degr 5 Les syst mes de calcul formel qui ne disposent pas de nombres alg briques sont par cons quent incapables de la calculer f 1 x76 2 x 2 x 5 fe 1 x 2 a7 26 int f x l3 55244064845502 1183145201920 RI Ri R FR D RME 957979825607 251979825667 __ 25042172070863 49 3205221300291 1007919302668 251979825667 440585345352 251979825667 1 RootOf 50216_Z 2133_Z 3476_Z 632_Z 104 La sommation dans la solution est une somme sur toutes les racines du polyn me argument de RootOf Pour v rifier le r sultat il suffit de le d river normal diff x 1 26 Ce r sultat symbolique peut assister l valuation num rique de V int grale Il suffit de calculer num riquement les racines du polyn me et la formule ci dessus permet alors un calcul rapide et pr cision arbitraire de l int grale EXEMPLE 3 L exemple suivant illustre la capacit de l algorithme recher cher le r sultat dans les extensions alg briques du plus petit degr possible f 7 x 13 10 x 8 4 x 7 7 x 6 4 x 3 4 x 2 3 x 3 x 14 2 x 8 2 x 7 2 x 4 4 x 3 x 2 2 x 1 a 7213 10x8 4a 7x6 4r 4x 3x 3 fae x14 2g8 Qa 2g4 493 x2 2741 convert f parfrac x Tx 10x8 4r 728 4x3 4x r14 298 2x7 9x4 4x3 r 9x 1 int f x
81. de la s rie doivent tre utilis s et avec quelle pr cision ils doivent tre calcul s Le second probl me est celui de l efficacit les calculs qui ne peuvent tre vit s doivent tre effectu s au moindre co t Les probl mes d efficacit surgissent surtout lors du calcul de plusieurs milliers de d cimales o des m thodes sp cialis es sont employ es Ce do maine tr s int ressant sort cependant du cadre de ce livre les calculs que nous allons faire sont tous limit s quelques centaines de d cimales EXEMPLE 1 Le sinus int gral de FRESNEL est d fini par 1 S x Ge dt L int gration terme terme du d veloppement du sinus de l int grande donne le d veloppement en s rie suivant ire Bas 4 2 n 3 2 5E oe lIUn 3 ur 189 190 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES 00 00 00 00 00 00 00 00 A 5 TA Te an FIGURE 1 plot seq n Pi 2 2 n 1 2 n 1 4 n 3 3 4 n 3 n 0 20 formule qui permet le calcul des valeurs de S x avec une pr cision arbitraire pour tout r el x Bien entendu la commande evalf FresnelS x calcule ces valeurs num riques Cependant nous allons montrer ici comment crire une proc dure prenant en argument x et renvoyant une estimation de S x en tenant compte de la valeur de Digits le nombre de d cimales correctes souhait es car la m thode employer est typique de ce que l on doit faire pour ca
82. diff rentes contributions et justifier le proc d limit 1n 1 z72 1 272 4 z72 1n 1 z 1 z 8 z 1 1 z72 tarctan z 4 z 1 1 z 2 z 1 left 1 In2 4 EXEMPLE 4 Voici un exemple o la s rie du logarithme ne suffit plus pour trouver une forme simple la somme Il s agit de la somme suivante qui rappelle la formule de STIRLING 194 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES Cette somme sugg re de regarder la s rie enti re gt 5 ntlat n l o x ye Or bien que Maple ne reconnaisse pas cette somme il en conna t une bien proche f x W x S gt 1 n a side lt A e n gt 0 Les bons signes sont donn s par W x Le num rateur du sommant doit tre multipli par n ce qui revient d river la s rie et la multiplier par x deux fois de suite d o le r sultat normal simplify subs x y exp y x diff x diff W x x x y y Une autre classe tr s importante de sommes calculables exactement est la classe des s ries hyperg om triques On retrouve ainsi de nombreuses sommes connues comme limite de la s rie en 1 sum 1 n n 1 infinity sum 1 n 2 n 1 infinity sum 1 n 2 n 1 n 0 infinity 1 T 6 4 La plupart des sommes d finies que trouvent les syst mes de calcul formel sont des sommes hyperg om triques e l 1 3 Convergence et divergence des s ries Peu d outils sont disponibles pour tudier
83. difficile surtout si ces choix doivent tre faits de mani re coh rente dans l expression Le m me type de probl me se pose avec toutes les fonctions multiformes comme le logarithme ou les fonctions hyperg om triques Le syst me fournit alors peu d assistance pour les simplifications Par ailleurs dans un calcul avec des expressions complexes evalc suppose que les variables qui interviennent sont r elles Tout ceci entra ne qu il faut tre tr s prudent avec la manipulation de nombres complexes Les autres commandes principales sont Re Im abs et argument donnant respectivement la partie r elle la partie imaginaire le module et l argument z atI b Re z Im z abs z argument z 24 I PRISE EN MAIN DU SYST ME R a S b S a R b la Tb argument a Tb Un appel evalc simplifie en supposant a et b r els evalc Re z evalc Im z evalc abs z evalc argument z a b Va b arctan b a 2 3 3 Fonctions Nous avons vu lors de l exemple de la section 1 que la plupart des fonc tions math matiques se retrouvent en Maple en particulier les fonctions trigonom triques le logarithme et l exponentielle La simplification de telles fonctions est cruciale Le tableau 5 p 25 d crit les commandes de base r alisant ces simplifications Tout ce qui concerne le classique tableau de variation de la fonction calcul des d riv es des asymptotes des extremums recherche des z ros et trac
84. e avec seq De m me que subsop permet de changer un fils de l arbre repr sentant l expression convert permet d en changer la racine Son second argument est le nou veau type La principale utilisation de convert est celle que nous avons vue avec seq rendue n cessaire par l inexistence d une addition et d un produit pr fixes en Maple Proc dure subs La fa on naturelle de calculer en Maple la valeur d une fonc tion pour une valeur donn e de sa variable consiste substituer partout dans l expression la variable par sa valeur Les r gles de simplification automatique am nent alors la valeur cherch e EXEMPLE 29 Nous valuons un polyn me f x 2 3 x 7 subs x 3 2 f 55 4 Plus g n ralement subs permet de remplacer toute sous expression par une expression syntaxiquement admissible EXEMPLE 30 Il ne faut pas oublier qu une sous expression est l ensemble des descendants d un n ud de l arbre Ainsi lors de la substitution subs a b 3 a b c sin a b a b c sin 3 le premier terme a b n est pas remplac puisqu il ne constitue pas une sous expression de la somme Ce type de simplification peut s obtenir soit par subs a 3 b a b c sin a b 3 c sin 3 soit par le m canisme plus g n ral simplify a b c sin a b atb 3 Cette derni re commande est cependant extr mement co teuse de par l algo rithme employ voir chap VI Comme nous l avons d j mentionn au cha
85. effectue alors directement et le r sultat de l exemple 7 s obtient simplement par alias alpha RootOf 2 x 3 v x 2 1 x evala alpha 2 1 alphat1 EXEMPLE 16 Le nombre d or vaut 5 1 2 On remarque num rique ment que HT 7 470 135 953 g 1 p3 1 Pour prouver l galit de ces deux nombres il suffit de ramener chacun d eux en forme normale alias phi RootOf x 2 x 1 evala phi 5 1 phi 2 1 evala phi 8 phi 3 1 3 2 48 1 46 1 7 472 135 963 Si a est un nombre alg brique racine d un polyn me irr ductible on note habituellement Q a le corps des fractions rationnelles en a qui est un espace vectoriel de dimension finie sur Q avec pour base 1 a Cette structure particuli rement simple en fait un objet privil gi du calcul formel auquel on aura souvent int r t se ramener Lorsque plusieurs nombres alg briques sont en jeu on peut toujours se ramener des manipulations ne faisant intervenir qu un nombre alg brique en op rant comme dans l exemple 9 Malheureuse ment ces manipulations font intervenir des polyn mes dont le degr peut devenir tr s grand ce qui bloque parfois le calcul Il faut galement savoir que l on peut faire la plupart des op rations ef fectu es par evala sans que le polyn me d finissant le nombre a soit n cessai rement irr ductible Il faut simplement faire attention aux divisions qui peu vent n cessiter une discuss
86. emp che le traitement la main 2 1 R solution de syst mes lin aires Pour de gros syst mes c est a dire l heure actuelle ceux dont la taille d passe 25 quations 25 inconnues il n existe pas d autre recours que les techniques du calcul num rique qui permettent de traiter des syst mes denses de taille 100 x 100 et des syst mes creux de taille 1000 x 1000 Les syst mes de calcul formel ont peu proposer pour des probl mes de cette taille Cependant les techniques num riques sont souvent sensibles aux instabilit s d faut dont ne souffrent pas les m thodes symboliques En outre ces m thodes ne sont pas limit es des syst mes coefficients num riques Maple propose plusieurs m thodes de r solution l utilisateur Le choix de la m thode d pend de la forme du syst me et du nombre de r solutions effectuer La m thode la plus simple consiste utiliser la fonction solve linear qui choisit une strat gie de r solution selon le type des coefficients du syst me C est aussi cette fonction qu ex cute solve lorsqu elle est appel e avec un syst me lin aire EXEMPLE 7 Voici un petit exemple trois quations et trois inconnues sys x 3 axz 3 b y c z 2 a xx 3 y c readlib solve linear sys x y z bc 6 3ba 6a 3ac c ie 2 5 T 3 c ba 3 c ba c ba Lorsque le syst me est donn sous forme matricielle on appelle la fonc tion linsolve qu
87. es sont propos es En Maple les principales fonctions permettant de r crire des expressions sont normal expand combine collect et simplify Pour bien utiliser ces fonctions il faut savoir quel type de transformations elles effectuent et quelle classe d expressions ces transformations s appliquent Ainsi l usage aveugle de la fonction simplify peut conduire des r sultats faux Un second argument de simplify permet n anmoins de pr ciser la simplification effectuer Toute utilisation de simplify sans ce second argument est tr s dangereuse Dans cette section nous allons passer en revue les principales classes d expressions d un syst me de calcul formel et les fonctions de manipulation correspondantes Nous insisterons sur les fonctions de r criture c est dire celles qui modifient la forme d une expression sans changer sa signification math matique Un premier aper u est donn par le tableau 1 La plupart de ces classes d expressions seront tudi es plus en d tail dans la seconde partie de ce livre 2 1 Classes l mentaires Les classes l mentaires sont form es d expres sions sans variable c est dire de constantes entiers rationnels nombres flottants bool ens r sidus modulo p et nombres p adiques 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 17 2 1 1 Entiers Dans un syst me de calcul formel les op rations sur des nombres entiers ou rationnels sont exactes EXEMPLE 1 Un calcul
88. est maintenant calcul qu une fois voir chap IT Comme chaque u n cessite n multiplications et n additions le temps de calcul est devenu polynomial par rapport n La contrepartie ce gain en vitesse est une perte en m moire tous les nombres ux calcul s sont gard s en m moire Cependant dans de nombreuses applications on a besoin de tous les l ments d une suite et dans ce cas cette fa on de programmer la r currence est recommand e 4 1 3 Programmes 3 et 4 plus sp cialis partir de la fonction g n ratrice de la suite on peut montrer que la suite u satisfait aussi une r currence lin aire 6n 3 un 1 n 2 un 2 Un rai ug 1 u1 2 Donc chaque terme peut se calculer partir des deux pr c dents au lieu de les utiliser tous Ceci conduit un programme simple u3 proc n nonnegint local i u0 u1 u2 ul 1 u2 2 for i from 2 to n do u0 ul ul u2 u2 2 u0 3 ul 6 ul u0 i i 1 od u2 end u3 0 1 u3 1 2 L int r t principal de ce programme est que chaque Uun est calcul en faisant un nombre fixe d op rations a partir des pr c dents Le temps de calcul est donc devenu lin aire par rapport n tant que les nombres manipul s sont assez petits pour que l on puisse consid rer le co t des op rations comme constant Par ailleurs si l on veut calculer un seul u et que l on n a pas besoin des uz pour 0 lt k lt n alors ce prog
89. exemple x y R1 et R2 On peut aussi noter ce stade que Maple distingue majuscules et minuscules Une fois les quations saisies l tape suivante consiste r soudre le syst me form par ces deux quations pour trouver les coordonn es des points d intersection Pour trouver comment effectuer cette r solution nous utilisons l aide en ligne Maple est enti rement auto document Un menu d aide permet d avoir acces a un help browser La se trouvent d crits tous les objets et fonctions de Maple C est le moyen le plus efficace pour trouver le nom de la fonc tion r alisant un calcul donn c est en g n ral le nom anglais de l op ration math matique Une fois ce nom trouv ici solve la commande help solve ou sa forme abr g e solve fournit des informations sur la fonction syntaxe arguments Le d but de l aide en ligne d crit bri vement le r le et l usage de la fonc tion gt solve FUNCTION solve Solve Equations CALLING SEQUENCE solve eqn var solve eqns vars PARAMETERS eqn an equation or inequality eqns a set of equations or inequalities var optional a name unknown to solve for vars optional a set of names unknowns to solve for 1 UNE SESSION D TAILL E 11 Ensuite une partie appel e synopsis d crit compl tement la fonction Une partie appel e examples donne des exemples simples d utilisation qu il est possible d ex cuter soi m me
90. existen ce d une proc dure derive f Si cette proc dure n existe pas le programme tente alors de la trouver en biblioth que Si elle existe alors elle est appel e sinon derive renvoie un message d erreur Il suffit d crire les proc dures derive pour tendre les connaissances de la proc dure derive sans changer le corps de celle ci 3 APPROFONDISSEMENT DU SYST ME 71 Ajout d un package et organisation des fichiers Quelques r gles sont re specter lorsque l on crit un ensemble de proc dures en Maple pour viter que celles ci n interf rent avec le reste du syst me Ces r gles visent essen tiellement viter que ne soient red finies par erreur des variables ou des proc dures En g n ral il est impossible de red finir des proc dures ou vari ables du syst me car celles ci sont prot g es par protect mais il faut viter le plus possible d introduire de nouveaux noms m me en les prot geant que l utilisateur risque d utiliser comme variables x y sys solution Toutes les variables globales en Maple sauf celles qui sont accessibles l utilisateur comme D E I sont pr c d es du caract re _ Ainsi la variable globale _X est constamment utilis e par la proc dure solve la variable _Z est utilis e par la proc dure RootOf les variables _C1 _C2 sont utilis es par la proc dure dsolve et l affectation de l une quelconque de ces variables perturbe fortemen
91. f x gt x Xx f x a D 2 Of x 7 xy 2 CL In a 1 c x7 n x 1 a In x 1 tanto 1 Malgr toutes ces possibilit s offertes par les op rateurs fonctionnels nous conseillons de travailler plut t sur des expressions alg briques pour manipuler des fonctions avec subs math matiques tab 6 p 25 Bien que l valuation soit un peu moins facile il faut ex cuter subs puis parfois eval les ex pressions se pr tent des op rations plus nombreuses Par exemple Maple sait calculer une primitive d une expression mais ne peut le faire pour un op rateur fonctionnel Il en va de m me pour de nombreuses commandes dont l argument doit tre une expression 2 7 Exercices Ces exercices visent essentiellement faire ex cuter des cal culs simples en apprenant progressivement se d brouiller l aide de la doc umentation en ligne Pour chaque exercice sont indiqu s entre crochets les items de la documentation en ligne consulter 1 Calculer la valeur num rique de e V163 _ 969537412640768744 avec succes sivement 10 20 30 40 et 50 chiffres significatifs Commentaires evalf 2 Montrer que z 1 z j 2 3 14 2 1 jz 1 572 o j est une racine cubique de l unit Pour cela on d finira 7 comme un nombre alg brique RootOf evala alias 3 Retrouver les formules d velopp es de sin 3x cos 3x et ch 5x expand inifcns
92. formel utilisent des structures de donn es plus g n rales que les syst mes num riques ce qui leur donne la possibilit de faire des calculs en pr cision arbitraire Le revers de la m daille est que ces structures plus g n rales sont plus lourdes manipuler d o un plus grand nombre d op rations l men taires 2 compilation aucun syst me de calcul formel actuel ne permet la compilation efficace de l arithm tique flottante Lorsque ces instruc tions sont l mentaires comme l addition de deux nombres flottants la compilation diminue le temps de calcul d un facteur pouvant aller jusqu 100 1 1 2 La pr cision En revanche dans le cas de la r solution de probl mes num riques mal conditionn s o un langage comme C ou Fortran manque de pr cision pour 1 CALCUL NUM RIQUE L INT RIEUR DU SYST ME 279 donner la bonne solution un syst me de calcul formel peut tre tr s utile Bien s r il faut que le probl me ne soit pas de trop grande taille et comme nous l avons vu dans le paragraphe pr c dent que le temps de calcul ne soit pas une contrainte imp rative EXEMPLE 5 Reprenons le calcul des valeurs singuli res d une matrice mais pour une matrice de HILBERT matrice tr s mal conditionn e En Maple le calcul avec une pr cision de 50 chiffres est ais h hilbert 30 time assign v evalf Svd h 50 34 784 v 1 v 15 v 16 v 17 v 30 1 9864925686087363
93. l objet liste est produit automatiquement par exemple une suite d expressions issue de solve En effet qu on s attende une somme un produit ou une suite d expressions lorsque liste contient une seule composante x l instruction ci dessus ne calcule pas x 2 comme on le voudrait mais la somme des carr s des composantes de x Dans le cas de la suite d expressions ce probl me se contourne ais ment en mettant des crochets autour de celle ci pour la transformer en liste La diff rence entre for i in s do od et for iin s do od est que seule la seconde forme garantit un seul passage dans la boucle lorsque s est une suite d expressions un l ment Il n y a pas de solution similaire dans le cas de la somme et du produit il faut alors tester le type de l objet avant la boucle L exemple suivant illustre quel point tout est optionnel dans la boucle en Maple EXEMPLE 11 La boucle suivante calcule 2 ind finiment do 1 1 od Ce type de boucle infinie est essentiellement utile en conjonction avec un test et l instruction break Cette instruction permet de sortir de la boucle sans attendre que l indice ait atteint sa valeur maximale ou que la condition du champ while soit v rifi e Ainsi l analogue d une boucle repeat until de Pascal s crit en Maple do if condition then break fi od Proc dure seq La boucle do est la boucle la plus g n rale de Maple Dans quelques cas elle est avan
94. l intersection fig 5 p 159 de la sph re x y 2 1 et du cylindre x y x 0 Voici comment on calcule les quations de ses projections sur Oxz et sur Oyz sys x 2 y 2 2 2 1 x 2 y 2 x grobner gbasis sys y x z plex grobner gbasis sys x oz plex x y 27 27 274 1 2 r 1 y 2 27 Dans chaque cas la seconde quation est celle que l on cherchait Ces courbes sont trac es en figure 6 La premi re est une portion de parabole et la seconde s appelle la lemniscate de GERONO 2 2 2 Calcul d enveloppes Les enveloppes de familles param tr es de courbes ou de surfaces alg bri ques sont elles m mes alg briques Pour calculer l enveloppe d une famille de courbes d quation f x y 0 on utilise le fait que les coordonn es des points de l enveloppe satisfont le syst me f z y A 0 fi y A 0 160 VI POLYN MES ET FRACTIONS RATIONNELLES FIGURE 7 Lumi re dans une tasse caf Il ne reste plus alors qu liminer de ces deux quations pour obtenir l quation de l enveloppe EXEMPLE 28 Lorsque la lumi re arrive l int rieur d une tasse caf bord circulaire elle est r fl chie par le cercle Les rayons lumineux sont repr sent s en figure 7 On voit distinctement leur enveloppe dans la tasse r elle comme une courbe lumineuse Cette courbe s appelle une n phroide ou une picycloide de HUYGEN
95. la convergence et la divergence des s ries Les plus utiles sont la majoration de la somme des valeurs absolues par une s rie convergente et la d croissance des valeurs absolues pour une s rie altern e Nous illustrons sur quelques exemples l utilisation du calcul formel dans ces probl mes EXEMPLE 5 On tudie la convergence de la s rie 5 ay o 1 an ee REE a a ae 0 Les variations des int grandes pour les premi res valeurs de n fig 2 donnent une id e du comportement des an Il est facile de prouver que les a sont positifs et que l int grande est monotone On souhaite donc majorer la s rie an par une s rie convergente le calcul num rique de quelques valeurs de an convainc que la s rie converge Ces courbes sugg rent que 1 1 t reste tr s proche de 0 sur la plus grande partie de 0 1 avant de cro tre tr s rapidement pour atteindre 1 pour t 1 La majoration se fait donc en deux tapes d une part en majorant la valeur de l int grande sur la partie proche de 0 d autre part en majorant la largeur d un intervalle dans lequel l int grande est major par 1 Pour cela on cherche par exemple pour quelle valeur de t l int grande vaut 1 n donc commence d coller asympt solve 1 1 t n 1 n 1 n 2 t n 3 1 S RIES NUM RIQUES 195 FIGURE 2 plot seq 1 1 t7i 1 i i 1 10 t 0 1 1 1 1 Et o n N L int grale est donc major e par
96. la division euclidienne pour fournir des formes normales la forme normale d un polyn me en un nombre alg brique est donn e par le reste de la division euclidienne du polyn me par celui qui d finit le nombre L int r t des bases de GR BNER est de fournir des formes normales lorsque l on part des solu tions d un syst me de polyn mes en plusieurs variables au lieu de partir des solutions d un seul polyn me en une seule variable Partant d un syst me de polyn mes comme x 2y yz 1 e2 23 1 2 y 27 1 on peut trouver d duire au sens introduit plus haut d autres polyn mes plus simples qui s annulent aux m mes points que ces polyn mes Par exemple en multipliant le 3 polyn me par y et en y ajoutant le 1 multipli par z on en fait d croitre le degr en z Cette op ration peut se r p ter avec d autres mon mes d autres polyn mes On obtient ainsi un syst me de polyn mes plus simples qui s annulent aux m mes points que les polyn mes de d part Chaque tape ressemble une tape de la division euclidienne o on annule un par un les mon mes de plus haut degr du polyn me diviser et ce degr d cro t chaque tape La diff rence avec la division euclidienne r side en un choix r aliser au d part en plusieurs variables il y a g n ralement plusieurs monomes de chaque degr et il faut choisir dans quel ordre on d cide de les annuler Plusieurs ordres sur les mon me
97. la richesse de lari th_m tique provient de la possibilit d effectuer des divisions euclidiennes Le calcul de pgcd en d coule d o une forme r duite pour les fractions Nous commencerons par ces questions avant de passer une autre cons quence importante de la division euclidienne l existence d une d composition en facteurs premiers 1 2 1 Division euclidienne et pgcd Dans la plupart des syst mes de calcul formel les rationnels sont automa tiquement r duits La r duction des rationnels s effectue par des calculs de pgcd a b est simplifi en a b avec a a pgcd a b et b b pgcd a b Le temps de calcul de cette r duction est domin par celui du pgcd Pour s en convaincre il suffit de comparer les temps de calcul du pgcd et du quotient de deux grands entiers EXEMPLE 3 Avec a et b les entiers de 10 000 chiffres d finis p 93 duree igcd a b duree a b 7 866 7 867 Un calcul de pgcd igcd a le m me ordre de complexit qu une multi plication alors qu une division d entiers iquo donne le quotient et irem le reste a le m me ordre de complexit qu une addition EXEMPLE 4 Toujours sur les m mes nombres 96 IV ARITHM TIQUE ET COMBINATOIRE duree to 1000 do iquo a b od 1 217 Du fait de la fr quence de ces op rations dans un syst me de calcul formel les fonctions effectuant la division euclidienne de deux entiers ou calculant le pgcd d entiers
98. les polynomes Q sont premiers entre eux et n ont pas de facteurs multiples EXEMPLE 12 On prend P 14 325 32 2 2 32 3x 1 la factorisation sans carr s s obtient par convert x 14 3 x 13 3 x712 x 11 x 3 3 x 2 3 x 1 sqrfree x x1 1 x 1 Outre son faible co t cette op ration pr sente deux avantages elle per met d extraire la partie sans carr s du polyn me le produit des Q c est a dire un polyn me de degr minimal s annulant aux m mes points elle s pare galement les racines par multiplicit groupant ainsi celles qui se com portent de la m me fa on pour les op rations alg briques par exemple la d composition en l ments simples 1 3 6 D composition La d composition de polyn mes est une autre op ration bien moins co teuse que la factorisation et qui peut rendre service tant donn un polyn me P il s agit de d terminer l existence de polynomes Q et R de degr au moins 2 tels que P Q R La commande Maple qui r alise ce calcul s appelle compoly Lorsque le syst me renvoie FAIL cela signifie non pas qu il n a pas r ussi trouver de d composition mais qu une telle d composition n existe pas 1 OP RATIONS DE BASE ET POLYN MES EN UNE VARIABLE 147 1 3 7 R solution d quations polynomiales La recherche de racines est un probl me important en sciences appliqu es Lorsqu elle est possible de mani re exacte elle sera obten
99. les m thodes classiques d int gration num rique chouent Il est parfois possible de mener bien le calcul en assistant le syst me Illustrons la m thode sur une int grale produite par Maple lors du d veloppement limit d une int grale param tr e ch VIII exemple 8 p 203 f t gt 1n 1 t 1 t Int f t sin t t 0 infinity CO i In 1 t sin t ii 0 1 t 2 INT GRALES D FINIES 239 evalf Error in evalf int singularity in or near interval of integration Le principe consiste d couper l intervalle d int gration en r gions o l int grande se comporte de fa on r guli re Dans notre exemple sur chaque intervalle 2k7 2 k 1 r l int grale de f t sin t est la m me que celle de f 2ka u f 2kr sin u sur 0 27 cause de la p riodicit du si nus On commence donc par calculer un d veloppement asymptotique de f 2km u f 2k7 lorsque k tend vers linfini h combine map normal asympt f 2 k Pi u f 2 k Pi k 4 1n lu 1 In 2kr 4 1k i 1 u 6 3u uln k uln 4r In 1674k o 1 16 T3k 0 h puis on int gre ce d veloppement multipli par sin u entre 0 et 27 i combine map normal asympt int h sin u u 0 2 Pi k 1n 1 1 ln 2kr RDS ak re 1 4ln r r ln 16 r 6r mr ln kt 6 In 167 k P o 1 8 r k3 kA Ceci nous indique que l int grale I de f t sin t entre 2km et 2 k 1 se
100. limite est log 3 2V2 1 762 747 174 L erreur de 0 06 pour uj2g est donc transform e en une erreur de pr s de 4 1078 ut 1 762 747 134 partir des m mes 128 premiers l ments de la suite 4 3 Exercices 1 Le programme u3 effectue trois affectations en trop on peut viter la derni re it ration de la boucle R crire le programme en supprimant ces trois affectations et comparer alors au temps de calcul du programme u4 pour les petites valeurs de n 4 CALCULS NUM RIQUES 187 TABLE 3 Second essai d acc l ration n Un uP uP u u uf ul uf 1 0 6931 1 0986 1 6094 1 7486 1 7613 1 7627 1 7627 1 7627 2 0 8959 1 3540 1 7138 1 7597 1 7626 1 7627 1 7627 4 1 1249 1 5339 1 7483 1 7622 1 7627 1 7627 8 1 3294 1 6411 1 7587 1 7627 1 7627 16 1 4853 1 6999 1 7617 1 7627 32 1 5926 1 7308 1 7625 64 1 6617 1 7466 128 1 7042 2 V rifier que les coefficients utiliser pour la k it ration de ROMBERG sont uk a uD l ut n 9k 2n 9k vi n 3 On consid re la suite un n n e yn Il west pas tr s difficile de voir que la suite converge et la fonction limit de Maple d termine que sa limite est V2r 2 506 628 274 Appliquer les m thodes de cette section pour retrouver cette valeur num rique 4 L exemple de la suite un de cette section peut tre poursuivi une fois que Von conna t r dans l quation 6 on peut diviser un par r et chercher d terminer num riquement a Sacha
101. n a b o a prend en compte le ph nom ne d annulation fonction du rapport entre le terme maximal et la somme de la s rie et b prend en compte les erreurs d arrondi fonctions du nombre de termes ajout s Il suffit la fin du calcul de tronquer le r sultat obtenu n chiffres Mais il n est pas toujours n cessaire de r aliser tous les calculs avec la m me pr cision Une illustration importante de ce principe est fournie par Vit ration de NEWTON Pour r soudre f x 0 la m thode de NEWTON part d un point zo puis calcule des l ments de la suite n41 n f tn f tn sous certaines conditions cette suite converge vers un z ro de f On peut montrer que dans ce cas le nombre de d cimales correctes est approximative ment doubl chaque it ration 1 CALCUL NUM RIQUE L INT RIEUR DU SYST ME 277 EXEMPLE 2 Une approximation de V2 s obtient comme racine de f x 2 ce qui donne n41 Zn 2 1 x Une premi re m thode consiste ex cuter Digits 1000 x 1 4 to 9 do x x 2 1 x od qui fournit 999 d cimales correctes Il est cependant plus habile d effectuer Digits 1 x 1 4 while Digits lt 1000 do Digits 2 Digits x x 2 1 x od qui produit seulement 990 d cimales mais huit fois plus rapidement En effet dans le second cas le co t du calcul est quasiment r duit celui de la derni re it ration Utilisation d entiers Il faut savoir qu en Maple les nombres f
102. od od seq res i i 1 N end La fonction is149 d termine si un entier donn s crit uniquement avec les chiffres 1 4 et 9 is149 proc n posint local r 104 IV ARITHM TIQUE ET COMBINATOIRE r n while r lt gt 0 do if not member irem r 10 r 1 4 9 then RETURN false fi od true end Voici les dix premiers nombres tricolores tricol 10 1 2 3 7 12 21 38 107 212 31488 seq x72 x 1 4 9 49 144 441 1444 11449 44944 991494144 1 5 Exercices 1 On cherche calculer le nombre de z ros finaux dans l criture de n en base 10 crire une proc dure prenant n en argument qui fait le calcul en vitant de calculer n La tester sur diverses valeurs de 10 Le calcul de a peut tre rendu encore plus rapide que par la m thode d exponentiation binaire d crite en 1 1 1 si les divisions sont permises et rapides Par exemple pour calculer a la m thode d exponentiation binaire effectue a a a aa soit 4 produits et 4 carr s Mais a a a ce qui conduit au calcul a a soit 5 carr s et une division et un gain de 2 op rations Ecrire une proc dure expodiv utilisant la division et comparer son efficacit avec expo Pour certaines valeurs de l exposant n le calcul de a par la m thode d exponentiation binaire n est pas optimal Par exemple a s st ou s at et t a Le calcul de a n cessite donc 6 multiplications
103. permet de traiter les ind termin es math matiques comme des variables informatiques 3 APPROFONDISSEMENT DU SYST ME 55 En pratique il est recommand de bien distinguer ces deux types d objets Le membre gauche d une affectation est r serv aux variables informatiques qui ont ainsi toujours une valeur Le membre droit peut faire appara tre la fois des variables informatiques qui sont alors valu es leur valeur et des ind termin es math matiques L valuation d une expression pour certaines valeurs des ind termin es est obtenue gr ce subs comme dans l exemple ci dessus L affectation se visualise comme la cr ation d une fl che de la variable vers la valeur Par exemple la suite d affectations X Y yi z cr e les fl ches repr sent es en figure 2 La premi re commande cr e l expres sion form e de l ind termin e y et lui donne pour nom x La seconde utilise l ind termin e y comme une variable et lui affecte l ind termin e z Lyre FIGURE 2 Evaluation de variables L valuation consiste alors suivre ces fl ches pour obtenir une valeur Pour d composer les tapes de l valuation nous utilisons la commande eval dont le second argument contr le le nombre de fl ches suivies x eval x 1 eval x 2 2 Y 2 Le premier r sultat montre que l valuation normale suit toutes les fl ches Le deuxi me montre qu en r alit la valeur de x est celle de la variable y
104. peut pas faire y 2 f proc x x 3 end f y Error in unknown Illegal use of a formal parameter En effet il y a erreur puisque l on essaye d effectuer 2 3 En revanche en passant le nom de la variable en argument il n y a pas de probl me y 2 f y y 3 De nombreuses proc dures Maple prennent ainsi des noms de variable en argument comme iquo qui calcule le quotient de deux entiers et affecte le reste la variable pass e en troisi me argument Les rares exceptions sont assigned eval evalf evalhf evaln seq time et userinfo 42 II UTILISATION AVANC E Table de remember toute proc dure Maple est associ e une table dans laquelle on peut stocker des couples entr e sortie au cours d une session Lorsque la proc dure est appel e l interpr te commence par regarder si l argu ment ou la suite des arguments est une entr e de la table auquel cas il renvoie le r sultat correspondant Attention ceci signifie qu il ne faut pas utiliser cette table si la proc dure tient compte lors du calcul de la valeur de variables globales Par ailleurs si une erreur se produit durant l ex cution de la proc dure rien n est stock dans la table de remember La fa on la plus simple et la plus brutale d utiliser cette table est d ajouter au d but de la proc dure les mots cl s option remember Dans ce cas tous les couples entr e sortie seront gard s dans la table Voici un exemple o l i
105. peuvent tre men s a bien sans autre information que le polynome lui m me Ces calculs sont d taill s au chapitre VI Les nombres alg briques sont repr sent s en Maple par l op rateur RootOf qui prend en argument le polyn me Les fractions rationnelles en un nombre alg brique admettent une forme normale calcul e par evala EXEMPLE 10 alias alpha RootOf x 7 3 x 2 1 x alpha 3 alpha 8 3 alpha 2 1 a a8 3a 1 La Z af a sa oi Fa Il faut noter que l expression RootOf x 7 3 x 2 1 x que nous avons fait afficher a pour une meilleure lisibilit l aide de la commande alias repr sente l une quelconque des sept racines du polyn me x 3x 1 Par contre l identit prouv e par evala n est vraie que si les diff rentes occur rences du symbole a sont remplac es par la m me racine evala 2 2 5 Racines carr es Pour simplifier des fractions rationnelles dont le d nominateur comprend des racines carr es la m thode classique de multiplication par l expression conjugu e est r alis e par la commande rationalize qu il faut charger au pr alable par readlib rationalize rationalize 1 1 sqrt 2 sqrt 3 22 I PRISE EN MAIN DU SYST ME 11 V3 V2 1 v3 Pour obtenir une forme normale il faut d velopper le r sultat donn par la commande rationalize les facteurs obtenus au num rateur d pendent en effet de l ordre d limination des racines carr es expand
106. pi ce la variable al atoire tant le nombre d occurrences de pile elle ne peut prendre pour valeur que 0 ou 1 chacune avec probabilit 1 2 La s rie g n ratrice est donc le polyn me 1 2 2 2 f 1 2 z 2 L int r t des s ries g n ratrices vient de ce que la s rie g n ratrice associ e la somme de deux variables al atoires ind pendantes s obtient en multipliant leurs s ries respectives Pour s en convaincre il suffit de regarder ce qui se passe au niveau des mon mes Le produit de a 2 par bjz donne a b 2T les probabilit s a bj sont bien multipli es grace l hypoth se d ind pendance et les occurrences i j additionn es EXEMPLE 3 Ceci nous permet de r pondre a deux des questions pos es ci dessus La s rie associ e une suite de 20 tirages est f la probabilit d avoir au moins 80 de piles est la somme des coefficients de 216 217 218 19 20 2 Tr an 20 expand f 20 convert seq coeff 20 z j T 9 262144 Pour 500 tirages la probabilit d avoir une fr quence comprise entre 0 4 et 0 6 correspond un nombre d occurrences de pile entre 200 et 300 et de m me 0 45 et 0 55 correspondent 225 et 275 500 expand f 500 evalf convert seq coeff f500 z j j 200 300 evalf convert seq coeff f500 z j j 225 275 0 9999941484 0 9775337951 Autrement dit si l on pr dit qu apr s 500 tirages le nombre de piles obtenus est compr
107. pour x et pour y nous avons s lectionn la premi re Voici les six premi res valeurs de cette solution seq simplify s 1 _N1 0 5 y 0 x 1 x 3 y 2 y 12 x 17 y 70 x 99 y 408 577 y 2378 3363 Dans le cas de trois variables ou plus il n y a pas de m thode g n rale Maple sait traiter quelques quations particuli res comme l quation de Py THAGORE qui correspond aux triangles rectangles c t s entiers essayer isolve sur l quation x y z La commande isolve sait d nicher des solutions particuli res isolve x 2 y 2 z 2 0 y 0 2 0 z 0 mais la plupart du temps ne trouve aucune solution isolve x 2 y 2 z 2 97 ce qui ne signifie pas pour autant qu il n y en a pas ici les triplets 9 4 0 et 6 6 5 sont des solutions Il est dommage que le syst me ne fasse pas de diff rence entre il n y a pas de solution et je ne sais pas trouver les solutions al 1 ARITHM TIQUI 103 D compositions de Lagrange Un th or me c l bre de LAGRANGE affirme que tout entier s crit comme somme de quatre carr s L quation x y 2 t n a donc au moins une solution pour toute valeur de n Comme pour x y n le nombre de solutions est fini Pour les trouver la fonction isolve ne s applique pas puisqu il y a quatre variables Cependant il n est pas difficile d crire un programme les num rant Le nombre de solu
108. propri t s que nous allons d montrer l aide de Maple La premi re propri t concerne la trace qui est gale 2 cos a 1 Nous commen ons par cr er une r gle de simplification qui pr cise que le vecteur ci dessus tait unitaire eq p 2 q 2 r 2 1 simplify trace R eq 2cosa 1 La seconde propri t utile s obtient en calculant R R cette matrice est antisym trique de la forme 0 r q 2sina r 0 p q p 0 Nous le prouvons avec Maple evalm R transpose R 0 2sin a r 2sin a q 2sin a r 0 2sin a p 2sin a q 2sin a p 0 En dimension 3 on utilise souvent les coordonn es sph riques Le vecteur unitaire s crira alors plut t sin d cos 6 sin d sin 0 cos Les calculs devi ennent rapidement infaisables la main comme le montre la premi re colonne de la matrice R sph p sin phi cos theta q sin phi sin theta r cos phi col subs sph op R 1 cos a 1 cosa sin cos 0 sin a cos 1 cosa sin cos 0 sin 0 1 cos sin cos 6 cos D sin a sin sin 0 M me si l on conna t l axe et que la seule inconnue est l angle a l expression reste compliqu e surtout si l on se met composer des rotations d axes diff rents 3 2 R duction d une forme quadratique Un polyn me du second degr en n variables r elles peut s crire D veR vAv bu ceR o est une matrice sym trique n x n b est un vecteur de R et
109. r aliser p n 20n20 en pi ces de 1 2 5 et 10 francs Le probl me est ainsi r duit un probl me plus simple Ce proc d se r it re jusqu ce qu il ne reste plus que des pi ces de 1 franc Le programme s crit donc denumerants proc n nonnegint 2 COMBINATOIRE 107 local n5 n10 n20 nb p q nb 0 for n20 from 0 to iquo n 20 do p n 20 n20 for n10 from 0 to iquo p 10 do q p 10 n10 for n5 from 0 to iquo q 5 do nb nb iquo q 5 n5 2 1 od od od nb end Avec ce programme voici le d num rant de 1 000 et le temps de calcul n cessaire st time denumerants 1000 time st 22457476 18 850 2 2 Structures d composables Les techniques pr sent es dans cette sec tion permettent de calculer le d num rant d comme coefficient de z dans le d veloppement de TAYLOR l origine de la fraction rationnelle 3 far 1 1 1 1 z 142 1 25 1 20 1 20 La proc dure devient denumerants2 proc n nonnegint local f z f 1 1 2 1 z 2 1 z 5 1 z 10 1 z 20 coeff series f z n 1 z n end Et le temps de calcul est nettement plus faible st time denumerants2 1000 time st 22457476 5 116 De plus alors que denumerants ne calcule qu un seul d la fois la proc dure denumerants2 en faisant le d veloppement limit de f les calcule tous jusqu l ordre n Pour comprendre pourquoi le r sultat de denumerants2 vaut d il suffit de d tailler le
110. r criture 2 2 1 Matrices La forme normale d une matrice est obtenue lorsque tous ses coefficients sont eux m mes sous forme normale Le syst me n effectue aucune simplifi cation automatique sur les matrices et il faut demander explicitement le cal cul d une somme d un produit ou d une puissance de matrices La fonction d valuation correspondante s appelle evalm Il faut utiliser l op rateur amp pour les produits car la multiplication commutative simplifierait abusive ment a b b a en 0 et a b a en a 2 b avant m me que soient effectu s les produits matriciels De m me il faut faire attention avec la puissance car A 0 est simplifi automatiquement en 1 au lieu d tre transform en la matrice identit EXEMPLE 7 La matrice identit s obtient comme l ment neutre de la multiplication sous la forme amp Nous utilisons la commande Maple alias qui permet de simplifier l criture en affichant Id au lieu de amp alias Id amp a array 1 2 3 2 4 8 3 9 27 1 2 3 a 2 4 8 3 9 27 evalm a72 Id amp a 1 _5 13 2 7 3 7 1 25 3 2 19 2 27 De nombreuses autres fonctions s appliquent aux matrices Elles sont d taill es au chapitre V 2 2 2 Polyn mes et fractions rationnelles Les calculs sur les polynomes et les fractions rationnelles une ou plusieurs ind termin es sont les op rations de base d un syst me de calcul formel Con trairement aux classe
111. renvoyant un nombre r el dans le second cas on crit plot e x a b o e est une expression d pendant uniquement de la variable x fig 1 1 1 1 Reproduction d un graphique Lorsque Maple est utilis dans un syst me de fen trage la sauvegarde et l impression de graphiques s effectuent la souris Pour sauvegarder un 77 Di Maple V Release 3 S File Edit View Options interrupt Pause gt plot sin 0 2 Pi 1 Help 0 5 0 5 1 gt plot arctan x x 5 5 Op 1 2 3 Maple Memory OK Maple CPU Time 0 0 sec Interface Memory 8 0K FIGURE 1 Deux trac s simples graphique en format postscript on s lectionne dans le menu intitul File le sous menu Print puis l option Postscript fig 2 File Edit Style Axes Projection Help File Edit Style Axes Projection Print P Postscript Help Exit Altex Color Postscript LNO3 Imagen 300 dpi PIC Unix Plot HP Laserjet GIF Output Device Postscript Output Filename arctanps infinity infinity 3 infinity infinity FIGURE 2 Exemple de sortie postscript d un trac gauche on s lectionne Print puis Postscript dans le menu File A droite on choisit le nom du fichier et on lance sa cr ation Pour inclure un graphique dans un worksheet Maple comme en figure 1 on commence par le copier option Copy du menu E
112. repr sentant la configuration initiale et d appliquer la proc dure iteration chaque mon me Le programme s arr te lorsque tout l arbre a t parcouru fatmen proc n local l x i vars z 1 1 vars seq x i i 1 n while subs z 0 1 lt gt 0 do 1 map iteration l vars n z od subs z 1 1 end seq fatmen n n 3 10 2 16 11 142 67 4604 737 715 9 105 45 2835 Pour une rang e de 10 chaises le nombre moyen de places vides est donc peu pr s 1 62 lorsque plus aucun homme ne peut s asseoir On peut montrer mais cela d passe le cadre de cet ouvrage que la s rie g n ratrice associ e aux nombres fatmen n est exp 2x 1 x On en d duit que lorsque n tend vers l infini la proportion de places libres tend vers exp 2 0 135 1 2 4 Exercices 1 Modifier le programme denumerant pour qu il affiche les diff rentes d com positions de n 2 Utiliser la m thode du 82 1 pour d terminer le nombre de fa ons de to taliser un kilogramme avec des poids de 50 100 200 et 500 grammes Que devient la r ponse si le nombre de poids de chaque sorte est limit par exemple 3 3 Les entiers bicarr s sont ceux qui sont de la forme a b avec a et b entiers positifs ou nuls En utilisant la m thode d crite en 82 2 2 crire 116 IV ARITHM TIQUE ET COMBINATOIRE un programme donnant le nombre N x d entiers bicarr s inf rieurs x V rifier empiriquement que N x se c
113. s obtiennent facilement partir des angles 0 et 02 Pour obtenir ceux ci par tir des valeurs que nous avons d j il suffit d appliquer la commande arccos a leurs cosinus Maple dispose ainsi de toutes les fonctions math matiques usuelles logarithme exponentielle fonctions trigonom triques fonctions tri gonom triques hyperboliques La multiplication est d finie l aide de qui est imp ratif A normal R1 2 arccos c1 si c1 R2 2 arccos c2 s2 c2 sl so 1 UNE SESSION D TAILL E 13 12R1 R2 1 A arccos Ri R2V4R17 R2 2 RIVRI 2 1 R2 R2 arccos 5 2 RIVR2 Cette formule n est pas totalement satisfaisante certaines simplifications manquent en particulier RE RL et RRR Ro Cette transformation est valide puisque R et R sont des r els positifs mais le syst me de calcul formel ne le sait pas en particulier il pourrait s agir de nombres complexes Plusieurs techniques permettent de r soudre ce probl me et la discussion complete sera faite au 82 Une solution simple consiste sim plifier l expression par la commande simplify avec comme arguments sqrt pour simplifier les racines carr es et symbolic pour forcer la transforma tion Va x A simplify A sqrt symbolic A arccos G A R1 SRE VARI R2 R2 arccos Ga Comme l immense majorit des commandes Maple la commande simplify ne modifie pas son argument Elle calcul
114. sommes de pro duits nombre fois expression o un nombre est de type numeric c est a dire integer rational ou float De m me les produits sont trait s comme des produits de puissances expression puissance nombre la cr ation d une somme ou d un produit les op randes sont parcourus pour regrouper les sous expressions galesi Ainsi pour valuer la somme 2x 3y 3x le simplifi cateur interne commence par passer en revue les op randes pour s apercevoir que x appara t deux fois et regroupe alors en effectuant l op ration sur les numeric 2 et 3 Le produit x y x est trait exactement de la m me mani re Sont trait es part les expressions num riques dans les produits elles sont toujours group es en t te du produit EXEMPLE 33 Le produit x x 3y x 4r 2yz est cr ainsi x 2 3 y 2 4 x 3 2 xyxz Cette op ration n est pas aussi co teuse que l on pourrait le penser car le test d galit des expressions se fait en temps constant ind pendamment de la taille des expressions sans parcourir les deux arbres r cursivement voir 83 2 50 II UTILISATION AVANC E TABLE 1 Types de base du syst me Nom du type Usage op rations integer entiers rational rationnels float nombres a virgule flottante string ou name cha nes de caract res ou noms de variable function fonctions list listes set ensembles exprseq suites d expressions quations lt gt in quations
115. student intparts arcsin x arcsin x x 2 arcsin x 1 x i 2dx value arcsin x x 2 arcsin x V 1 x 2x Ce processus peut tre r p t autant de fois que n cessaire pour calculer la primitive de puissances plus lev es de arcsin x Par exemple pour calculer la primitive de arcsin x on int grera par parties en prenant u x arcsin x puis une nouvelle fois avec u x arcsin a et ainsi de suite la derni re int gration par parties tant effectu e avec u x arcsin x Le calcul de l int grale dans le cas de n entier quelconque sera repris au 83 2 2 Int grales d finies En mati re d int gration num rique la connaissance d une primitive per met de r duire les temps de calculs et d viter les probl mes d instabilit num rique Par exemple si l on doit calculer une int grale du type b x f A f x y dy pour un grand nombre de valeurs de x et que la primitive a une expression analytique il est bien plus efficace de passer du temps calculer cette expres sion une fois pour toutes puis l valuer ensuite num riquement plut t que de faire chaque fois l int gration num rique Cette situation se produit en particulier lorsque dans une int grale mul tiple on peut int grer formellement une partie de l int grale comme dans l exemple suivant Le temps de l int gration formelle est tr s court et la con naissance de la primitive permet de gagner un facteur 20 d
116. sur ces deux derni res op rations et leurs nombreuses variantes It ration L it ration est l op ration qui s obtient dans la plupart des langages de programmation par les mots cl s for ou while Il s agit d effectuer une m me op ration en faisant varier un indice ventuellement avec une condition v rifier avant de lancer une nouvelle tape 33 34 II UTILISATION AVANC E T La fa on la plus directe d effectuer une it ration en Maple s crit from d part by pas to fin pi while cond do calcul od in expr for var EXEMPLE 1 Voici la boucle qui calcule le pgcd de polyn mes a x et b x par l algorithme d EUCLIDE p2 a t b while t lt gt 0 do pl p2 p2 t t rem p1 p2 x od pgcd p2 R p titivement une division euclidienne est effectu e entre le quotient et le reste des deux polyn mes pr c dents Le dernier r sultat non nul est le pgcd La syntaxe de la boucle sera illustr e sur d autres exemples dans ce chapitre Tests La syntaxe des tests est donn e par if condl then calcull elif cond2 then calcul else calcul3 fi Cela signifie si la condition cond1 est v rifi e alors effectuer le calcul calcull sinon si la condition cond est v rifi e alors effectuer le calcul calcul2 et sinon le calcul calcul3 Le champ elif et le champ else sont bien entendu facultatifs et le nombre de champs elif n est pas limit EXEMPLE 2 En combinant l it ratio
117. sur ordinateur Qu est ce que le calcul formel Selon le contexte expression calcul formel on dit aussi calcul symbolique plus rarement calcul math matique assist par ordinateur a des sens diff rents Nous en distinguons trois Quand on dit DELAUNAY a fait un calcul formel on veut dire par l un cal cul symbolique par opposition un calcul purement num rique Dans la phrase le calcul formel est en pleine volution on d signe la discipline re couvrant les op rations symboliques sur ordinateur Enfin quand on parle 2 INTRODUCTION d un syst me de calcul formel cela signifie un logiciel permettant de faire des calculs math matiques exacts c est dire peu pr s ce que l on apprend en classe pr paratoire aux grandes coles scientifiques ou dans le premier cy cle des universit s ce qui ne l emp che pas de savoir faire aussi du calcul num rique et des trac s graphiques Histoire du calcul formel Les premiers calculs symboliques sur ordinateur ont t r alis s il y a plus de quarante ans Il s agissait alors d op rations sp cifiques comme le calcul de d riv es de fonctions Les tout premiers syst mes taient en g n ral sp cialis s et crits par une ou deux personnes Alpak par BROWN en 1964 Formac par BOND et TOBEY en 1964 Ces syst mes ont disparu depuis faute de moyens humains et de d veloppement Sont apparus ensuite Reduce en 1968 Matlab en 1968 qui a donn M
118. t lin airement avec n ce qui signifie que l cart type ne cro t qu en yn Donc lorsque n cro t les valeurs apr s division par n se regroupent autour de l esp rance p On peut m me tre beaucoup plus pr cis lorsque n tend vers linfini la probabilit que la valeur soit comprise entre np ay np 1 p et np a np 1 p tend vers 1 K 2 2 e 2dx 2 V2r Cette approximation s appelle traditionnellement l approximation gaussienne bien qu elle ait t utilis e avant GAUSS par DE MOIVRE et LAPLACE EXEMPLE 5 Pour calculer al exemple 3 la probabilit d avoir une fr quen ce de piles comprise entre 0 4 et 0 6 au bout de 500 tirages il avait fallu d velopper un polyn me de degr 500 Si l on augmente trop ce degr le calcul devient impraticable En revanche l approximation prend toujours le m me temps de calcul N expand 1 sqrt 2 Pi int exp x 2 2 x alpha alpha va seq evalf subs alpha d sqrt 500 4 N d 50 25 0 9999922558 0 9746526813 Inversement pour une probabilit donn e l expression de N permet de trouver la valeur de a donnant cette probabilit dans 2 fsolve N 0 95 fsolve N 0 99 1 959963985 2 575829304 Par cons quent 95 des valeurs sont dans un intervalle de largeur 1 96 fois V cart type autour de la moyenne et 99 dans un intervalle de largeur 2 58 fois l cart type La distribution binomiale se g n ralise en distr
119. t828 t28 pd 19 t10 param 20 lambda 15 t123 pd 14 param 19 lambda 10 t517 pd 14 param 20 lambda 14 t3 t684 pd 18 t132 param 20 lambda 15 t12 2 param 1 pd 20 t10 t766 2 pd 14 param 19 lambda 9 t760 t134 pd 19 t132 param 19 lambda 9 t840 2 t133 pd 19 t10 param 20 1 tambda 14 t950 t134 pd 19 t132 param 17 lambda 7 t840 t28 pd 19 t132 param 17 lambda 6 t122 2 pd 14 param 19 lambda 10 t102 3 2 pd 14 param 19 lambda 10 t1033 pd 14 param 17 lambda 7 t 462 pd 14 param 20 lambda 14 t1017 pd 14 param 20 lambda 14 t3 t1072 pd 14 param 20 lambda 15 t1107 pd 14 param 19 lambda 10 t1165 pd 14 param 17 lambda 7 t725 pd 18 t132 param 20 1 tambda 14 t309 param 1 pd 20 t10 t9 t702 param 1 pd 20 t10 t3 t689 2 pd 18 t10 param 17 lambda 6 t1185 pd 18 t10 param 17 1 ambda 6 t123 pd 14 param 17 lambda 6 t1165 pd 14 param 17 la mbda 6 t517 2 pd 18 t132 param 20 lambda 14 t3 t204 pd 18 t10 param 17 lambda 6 t244 pd 18 t10 param 19 lambda 10 t123 2 p d 18 t10 param 19 lambda 10 t1185 2 pd 18 t132 param 20 lambd t a 15 t9 t204 pd 18 t132 param 20 lambda 14 t618 pd 18 t132 pa ram 20 lambda 15 t225 2 pd 14 param 17 lambda 6 t1033 pd 14 param 20 lambda 15 t640 2 pd 14 param 20 lambda 15 t3 t1054 p Le r
120. tri ques des racines EXEMPLE 17 Si z1 2 3 4 sont les racines de zt px q la somme des x est obtenue par sum x 10 x RootOf x 4 p x q x 10qp Ce proc d s applique toutes les expressions 3 F x o F x est une fraction rationnelle en x 1 4 Exercices 1 Lorsque le degr d un polyn me est une variable les fonctions pr sent es dans ce chapitre ne fonctionnent plus Il faut alors assister les syst mes de calcul formel A titre d exemple calculer le reste de la division euclidienne de x par x 2 cos r 1 n N 2 Calculer la d composition en l ments simples sur R de 7 i 7 i x 1 x 1 3 Calculer un polyn me dont les racines sont les num rateurs de la d com position en l ments simples sur C de x 1 x 1 sans calculer cette d composition 4 l aide des fonctions evalc expand et simplify trig montrer que l on a la d composition en l ments simples suivante ey oy ake 1 as cos km n x 1 2x1 2n x 1 1 n 422 2cos kr n z 1 Indication les p les sont en rx exp ik7 n et le r sidu y vaut 1 2n 1 2nr 2 Polyn mes et syst mes multivari s L tude des polyn mes et de leurs racines est un domaine tr s riche qui fait le lien entre la g om trie et l alg bre Les relations g om triques entre des points du plan ou de l espace peuvent souvent se traduire en syst mes d quations polynomiales satis
121. typique d entier est celui de factorielle 100 100 93326215443944152681699238856266700490715968264381621 4685929638952175999932299156089414639761565 1828625369 7920827 223758251185210916864000000000000000000000000 De nombreuses fonctions s appliquent aux entiers Une s lection des plus importantes sera pr sent e au chapitre IV EXEMPLE 2 FERMAT avait conjectur que tous les nombres de la forme 2 1 taient premiers Voici le premier exemple qui invalide sa conjecture ifactor 27 275 1 641 6700417 Du point de vue de la simplification tous les entiers sont repr sent s en base dix ou deux selon les syst mes ce qui constitue une forme normale L galit d entiers est donc facile tester en Maple le test d galit syn taxique se fait en temps constant ind pendamment de la taille des objets Toute op ration sur des entiers est imm diatement effectu e par exemple 2 n est pas repr sentable en Maple il est imm diatement transform en 4 Cela signifie aussi qu un nombre factoris ne peut pas tre repr sent comme un entier puisqu alors il serait imm diatement d velopp Dans l exemple pr c dent le r sultat est en r alit un produit de fonctions TABLE 1 Principaux simplificateurs Classe d expressions Fonction entiers simplification automatique rationnels simplification automatique flottants evalf bool ens evalb r sidus mod p mod nombres p adiques pa
122. u x doit tre un multiple de D n k Dans ce cas D doit diviser D pgcd ao n ai n 1 a n p Il suffit donc de poser un Nh D n et de rechercher les solutions polynomiales de la nouvelle quation comme ci dessus Reste le cas o des racines de D diff rent d un entier mais alors cet entier ne peut pas tre plus grand que la plus grande diff rence enti re entre les racines de ag et celles de ap L exercice 6 montre comment se traite ce cas Sur notre exemple la r solution est tr s simple rec n n 3 n72 3 n 3 u n 2 5 n 2 n72 n 1 u n 1 n 1 2 n 2 n 1 u n d gcd coeff rec u n gcd subs n n 1 coeff rec u nt 1 subs n n 2 coeff rec u n 2 d n 4 1 Ce polyn me est un multiple du d nominateur Le changement de variable u n a n d n donne alors map normal eval subs u n gt a n n 3 1 rec na n 2 5a n 1 n 1 a n et l on retrouve l quation 3 dont on conna t les solutions polynomiales Les solutions rationnelles de 4 sont donc de la forme n 2n 1 n 1 n3 1 Une autre solution ind pendante peut se d duire de la seconde solution de 3 d termin e l exercice 7 1 2 2 Fonctions g n ratrices Les r currences lin aires et les quations diff rentielles lin aires sont li es Les coefficients d une s rie enti re solution d une quation diff rentielle lin aire coefficients polynomiaux satisfont
123. une r currence lin aire Inversement la s rie g n ratrice d une solution d une r currence lin aire coefficients poly nomiaux satisfait une quation diff rentielle lin aire Le passage de l une l autre enrichit l tude de chacune d elles EXEMPLE 3 La suite a est d finie par an 2 an 1 a n ao a r els La commande rsolve n est pas capable de r soudre cette r currence mais la fonction g n ratrice de cette suite est simple Le calcul de cette fonction g n ratrice est tr s facile r aliser avec le package gfun Nous montrons ci dessous comment faire avec la commande ztrans Au lieu de chercher une 1 R CURRENCES LIN AIRES 171 quation diff rentielle en la fonction g n ratrice y z 5 Anz n gt 0 ztrans incite en chercher une satisfaite par u z y 1 z rec a n 2 a n 1 2 a n n 2 subs ztrans a n n z u z ztrans numer op 1 rec op 2 rec n z UC a 1 z zu z 4 20 a 0 z 2u z Maple peut alors r soudre cette quation diff rentielle dsolve u z u z 5a 1 2 5a 0 2 6a 1 z 6a 0 z 2a 1 z 4 2a 0 4e 2 C1 1 32 32 2 y map factor collect subs z 1 z op 2 _C1 Cle 1 5 6z 227 a 1 a 0 1 2z 3 4 1 2 5 Il reste utiliser les conditions initiales pour d terminer C3 subs _Ci solve coeff series y z z 0 a 0 C1 y e 3a 1 Sa 0 1 5 6z 2z a 1
124. une valeur rationnelle simple 1 D composer le sommant en l ments simples par rapport m 2 remarquer qu une partie ind pendante de m se factorise et la somme restante sur m est un nombre harmonique H 1 1 2 1 n 3 d composer le facteur trouv en l ments simples par rapport n et annuler deux deux les contributions provenant du nombre har monique sauf deux des composants du nombre harmonique 4 sommer alors les termes restants On pourra v rifier num riquement la valeur trouv e 4 Calculer CO 5 arctan EE 1 n n n 0 Indication regarder les premi res troncatures 5 Calculer les produits n 1 on 2n 1 DiE 1 1 2 er l Hea I I 2n 1 n 1 Indications dans ces produits le calcul formel n est utile que parce qu il permet d exp rimenter facilement Pour le premier produit regarder le d veloppement du logarithme des termes pour le deuxi me la d composi tion en base 2 des produits tronqu s pour le troisi me noter que comme tout produit ind fini de fractions rationnelles celui ci s exprime l aide de la fonction I il ne reste plus ensuite qu faire tendre n vers l infini 6 Nature des produits G 1 04 2 n I n gt 1 n gt 0 x x L a2n 7 Nature des s ries int x e cos log n l 3 gt gelis gn gt nlogn gt n n gt 0 n gt 1 Pour la troisi me on pourra encadrer la valeur absolue des
125. vers le haut resp le bas sa trajectoire se d compose en une succession d arches suivie d un pas montant resp descendant suivi d une succession d arches montantes resp descendantes suivie d un pas montant resp descendant D ot les deux fonctions g n ratrices 3 cte C ae la premi re correspondant aux parties gagn es par le premier joueur et la sec onde a celles qu il perd Ces formules traduisent la d composition ci dessus B z correspond la succession d arches montantes ou descendantes parcou rues jusqu au dernier d part de l axe des abscisses puis ind pendamment de ce qui s est pass auparavant le point parcourt une succession de quasi arches chacune tant form e d un pas montant pz suivi d une successions d arches montantes 1 1 A z Le coefficient de z dans CT z resp C7 z est donc la probabilit que l ordonn e l abscisse n soit positive resp n gative Cp 1 1 2 A 1 pxz 1 A Cp 4 1 4pqz 1 uaa Tay y 1 4pqz 2 2 Les premi res valeurs de ces probabilit s sont map expand series Cp z 1 pz 2pq p z 3p q p z 6p q 4p q p 2 10p g 5p q p 2 O z Chacun de ces coefficients s interpr te facilement Par exemple pour que le point ait une ordonn e positive la troisi me tape il faut que les tirages aient t pile face pile face pile pile pile pile face ou p
126. x 1 int f x 2608695652 In 23 x 10 2 1 1 066842889 arctanh 3 319764049x 7216878367 1 2 Fonctions l mentaires La classe des fractions rationnelles est in cluse dans la classe des fonctions l mentaires Pour toutes les fonctions de cette derniere classe le calcul formel dispose d un algorithme de recherche de primitive L algorithme m ne soit une primitive soit la preuve qu une primitive l mentaire n existe pas Les fonctions l mentaires sont les fonctions b ties partir des fractions rationnelles coefficients dans un corps K en pratique K Q par applica tion r p t e de l exponentielle du logarithme des op rations x et de l op ration de cl ture alg brique 1 PRIMITIVES 223 Par exemple l ensemble des fonctions l mentaires sur Q x contient la fonction Wa 1 solution de l quation y 23 1 0 et la fonction In x x 1 I contient aussi les fonctions trigonom triques car par exemple i ett sins i tant obtenu comme solution de y 1 0 De m me les fonctions trigonom triques inverses sont l mentaires Par exemple arctan x suite er i x Pour une fonction l mentaire le principe de LIOUVILLE env 1875 donne la forme de sa primitive si cette derni re est elle aussi l mentaire et le th or me de structure de RIscH 1969 fournit un algorithme qui permet de d cider si une fonction l mentair
127. z V indice yn n 1000 C convert seq z k 2 k 0 isqrt n coeff series C 4 z n 1 z n 276 2 2 3 Le probl me des reines L exemple pr c dent n utilisait qu une variable Voici un exemple plus compliqu o le nombre de variables d pend de la taille du probl me Combien y a t il de fa ons de placer n reines sur un chiquier nxn de fa on qu elles soient toutes sur des lignes colonnes et diagonales diff rentes Pour n 8 il y a 92 solutions dont une est repr sent e figure 2 d d2 dz da ds de d7 ds MOM AMES h W Za 5 lp wy ad i l3 wy ad s la iiy FA lz wy i a g le Wi a ly wy Fa ls wy Pleas a Cen C1 C2 C3 C4 C5 CE C7 C8 FIGURE 2 L une des 92 solutions au probleme des 8 reines A cause du nombre de contraintes la solution ce probl me n est pas imm diate en termes de s ries g n ratrices En revanche la s rie g n ratrice de toutes les dispositions possibles de reines sur l chiquier s obtient facile ment Il ne reste plus alors qu lui enlever les termes ind sirables 2 COMBINATOIRE 111 Comme l chiquier comporte n cases une disposition de reines est le produit cart sien de n tats individuels La case i j est soit vide soit occup e par une reine Cela donne pour la s rie g n ratrice des dispositions P G D 1 lt i j lt n o le terme 1 repr
128. 0 de Riemann 209 W 177 194 Formac 2 forme inerte 26 27 237 normale 139 154 fortran conversion en 289 291 Fourier baron Jean Baptiste Joseph s rie de 203 transform e de 234 fraction continue 99 100 Frenet Jean Fr d ric 252 Fresnel Augustin Jean sinus int gral de 189 211 276 Galois variste 147 Gauss Karl Friedrich approximation de 262 Gb 157 gfun 113 165 167 170 Gosper Ralph William Jr algorithme de 180 Gr bner base de 151 164 hachage 67 Hadamard Jacques Salomon r gle d 199 hyperg om trique s rie 191 suite 179 180 int grales 219 243 changement de variable 211 213 225 226 d veloppement asymptotique 210 213 d veloppement en s rie 202 203 Int 202 int 25 intparts 203 211 227 Jordan Camille forme de 126 127 134 Kant 2 Kepler Johannes quation de 205 Lagrange Joseph Louis comte de d composition de 103 110 Laplace Pierre Simon marquis de 262 m thode de 211 transform e de 212 234 Laurent s rie de 199 Legendre Adrien Marie polyn mes de 205 limite calcul de 25 193 199 207 240 calcul num rique de 184 186 Lucas douard Anatole test de 97 Macaulay 2 157 Machin John formule de 31 Maclaurin Colin 313 formule d Euler 209 210 239 macro 65 71 MacroC 291 293 Macrofort 29
129. 0 z 1000 time st 22457476 1 750 Cela signifie que la proc dure du noyau Maple qui calcule des d veloppe ments en s rie n a pas de cas particulier pour les fractions rationnelles dont elle calcule le d veloppement en faisant une division de d veloppements op ration dont la complexit est plus lev e Cette m thode est la meilleure pour obtenir toutes les valeurs de la suite jusqu la n Pour obtenir uniquement la n valeur il existe une m thode plus rapide qui est d crite au chapitre VII La correspondance entre les fractions rationnelles et les r currences lin aires a coefficients constants y est galement exploit e pour l tude asymptotique des suites solutions de ces r currences La transformation de s rie g n ratrice en r currence lin aire pr sent e ici se g n ralise Les coefficients de fonctions alg briques et plus g n ralement de solutions d quations diff rentielles lin aires coefficients polynomiaux v rifient aussi des r currences lin aires coefficients qui sont polynomiaux en n alors qu ils sont constants dans le cas des fractions rationnelles Les propri t s analytiques des solutions de ces quations diff rentielles peuvent tre exploit es pour tude notamment asymptotique des suites En conclusion dans le cas de structures d composables la s rie g n ra trice qu elle soit donn e sous forme explicite ou implicite permet de calculer le nombre
130. 1 294 Macsyma 2 Magma 2 Mandelbrot Benoit ensemble de 83 280 map 35 39 61 119 Markov Mapxos Andrey Andreevich 257 Mathematica 2 301 302 Matlab 2 294 matrice identit 120 inverse 120 122 addition de s 120 dotprod 132 evalm 120 exponential 122 129 jordan 122 linsolve 121 136 matrix 117 118 multiply 120 randmatrix 125 scalarmul 120 transpose 118 119 Mellin Robert Hjalmar transform e de 211 236 member 36 47 M r Antoine Gombaud chevalier de 264 Newton sir Isaac m thode de 36 276 286 287 293 Newton Cotes m thode de 237 238 nombres al atoires 82 86 90 270 271 alg briques 148 150 complexes 23 89 de Carmichael 97 de Fibonacci 167 168 de Stirling de seconde esp ce 261 flottants 275 harmoniques 197 premiers 34 97 rationnels 94 transcendants 141 tricolores 103 nops 46 normal 12 17 59 142 noyau 65 314 op 46 47 51 62 118 optimisation 68 73 Order 210 package 71 Pari 2 275 Pascal Blaise triangle de 258 Pell John quation de 102 permutation 214 pgcd d entiers 95 96 de polyn mes 34 143 144 170 tendu 143 144 157 Poisson Sim on Denis distribution de 263 Postscript 78 probabilit 256 273 proc dure args 41 60 proc 34 procmake 64 remember 42 44 57 60 63 65 produits calcul de 179 181 d v
131. 1 4 Exercices 1 On souhaite construire un changeur d autoroute On consid re pour cela que les conducteurs tournent leur volant a vitesse constante sans changer la vitesse de leur v hicule Calculer l quation param trique de la courbe parcourue par le v hicule Cette courbe s appelle une clothoide ou spi rale de CORNU Indication la courbure est proportionnelle l abscisse curviligne 2 Aider Maple terminer la r solution de z yy y ay y r y 3 R soudre les quations zly x 1 y a 2y 3y 5l yl Noter que cette r solution n cessite une discussion 4 Chercher les fonctions continues sur R telles que x y W y ER f x fy f t dt ay 5 Chercher une solution C sur R de f 0 0 f x f 1 z 2 Etude diff rentielle de courbes Un grand nombre de problemes g om triques portent sur les propri t s diff rentielles des courbes dans le plan ou dans l espace euclidien c est dire dans une large mesure sur l tude des d riv es du vecteur OM M tant le point courant de la courbe par rapport son abscisse curviligne En partic ulier les probl mes faisant intervenir la courbure les formules de FRENET ou le tri dre de FRENET n cessitent des calculs de d riv es qui sont facilement r alisables l aide d un syst me de calcul formel C est ce que nous allons montrer travers un exemple de calcul de d velopp e et un exemple de calcu
132. 1 et il est possible de le prouver rigoureusement et donc le terme en sin x devient n gligeable ce qui nous am ne consid rer une quation plus simple dsolve diff y x x x y x 72 y x 1 x yay 2 Pour satisfaire la condition y x oo quand x p il faut C p 2 ce qui donne y x K p x au voisinage de p Ceci sugg re d effectuer dans l quation de d part le changement y x 1 u x et de chercher un d veloppement de u x en s rie au voisinage de x p Pour cela en Maple il faut d abord ramener le point d tude l origine On obtient finalement le d veloppement cherch par subs x rho t eval subs y x 1 U rho x deq series subs dsolve U 0 0 U t series 1 U t t 4 subs t rho x La p z p 2p p OWE 2 En d autres termes apr s un premier changement de variable l quation diff rentielle est r solue en s rie a l origine puis le d veloppement en s rie de l inverse de la solution est calcul et il n y a plus qu remettre la variable de d part dans ce d veloppement 1 3 M thodes num riques Il est bien rare qu une quation diff rentielle se r solve explicitement mais de nombreuses m thodes num riques permet tent d en tudier les solutions Les syst mes de calcul formel orient s vers les calculs exacts ne sont pas les meilleurs outils pour aborder ces probl mes Cependant il peut se produire qu une q
133. 1 t39 t54 R 2 t59 sqrt R t15 t60 1 t59 t62 R t24 t65 1 1 t38 t15 t68 1 h1 73 1 k t75 1 1 t78 T2 t73 Fp 1 1 1 a2 xa3xexp a3 F a1 Fp 1 2 1 Fp 1 3 0 Fp 2 1 1 Fp 2 2 t8 R 0 3141593E1 t12 t18 t9 4 0 3141593E1 t11 t22 t26 t29 4 0 3141593E1 t34 t9 8 t15 t39 t24 t42 h2 t 15 2 t344T1 t15 2 R t33 T1 t24 Fp 2 3 2 t8 t54 Phi t42 Fp 3 1 0 Fp 3 2 Phi t60 t62 t65 2 t12 0 3141593E1 alog h2 t68 4 t59 t 18 T1 t73 t75 t68 t78 t75 t 15 t9 4 t11 0 3141593E1 t15 4 t60 t18 t62 2 t59 t22 t26 t29 2 t78 t75 t24 2 Fp 3 3 t59 t65 Malgr le nombre important de variables auxiliaires introduites cette optimisation est loin d tre inutile puisque le programme est acc l r d un facteur variant entre 2 et 5 selon les machines 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 291 Pour le langage C il faut faire respectivement C Fp et C Fp optimized apr s avoir charg le programme de transformation par readlib C 2 3 Production de programmes Le d faut de cette utilisation du cal cul formel dans l criture d un programme est qu il faut aller et venir entre l diteur de texte et le syst me de calcul formel car ce dernier g n re unique ment les calculs d expressions tout le reste du programme initialisation boucles appels de sous programmes doit tre crit par l utilisateur ce qui peut entra ner des erreurs Il est possible de r
134. 192 0 0582126963 0 06188905459 Les signes semblent alterner et il est facile de le prouver Mais les valeurs absolues des termes ne d croissent pas En revanche en groupant f n avec f n 1 on peut prouver la convergence de la somme f subs n n 1 f DP Vasin 1 n 1 t Vn Isin 1 n 1 n 1 n 1 1 1 Maple ne peut pas calculer directement de d veloppement asymptotique de cette expression il faut pr ciser la parit de n asympt subs 1 n 1 1 m 1 1 n 3 1 1 Tee Ge Ceci prouve que la s rie de terme g n ral f 2k f 2k 1 converge f n tendant vers z ro la s rie 5 f n converge aussi 1 4 Exercices 1 La constante de Catalan peut tre d finie de nombreuses fa ons Elle vaut par exemple c f arctan y T In a dax C 0 x o 1 2 1 n 2 m 2 r ade if In 2sin dx 0 2sin x 0 2 On peut aussi la repr senter comme une somme p 00 i OT 3 co 1 Om ani z los 2 t V3 T 5 m PET la premi re de ces deux sommes ayant l avantage de la simplicit et la seconde celui de permettre un calcul rapide crire une proc dure qui calcule cette constante en prenant le nombre de d cimales souhait en argument 2 Montrer l aide de Maple que 1 5 z cos 6 cos nb In sin 8 0 0 7 n 1 1 18 241n2 De ae n n 1 1 S RIES NUM RIQUES 197 3 La somme double OO OO 1 gt gt m n n m 2nm n 1m 1 a
135. 199983 2 pour une somme emprunt e de 100 000 F sur 8 ans v rifier que les versements mensuels sont environ de 1 321 17 F 3 calculer les int r ts vers s pendant les neuf ann es civiles durant lesquelles le pr t s tend sachant que le pr t d marre en mars 4 si 20 de ces int r ts sont d ductibles des imp ts dans une limite de 15 000 F chaque ann e pendant les 6 premi res ann es quel est le taux r el du pr t c est dire le taux du pr t correspondant l argent r ellement rembours 5 quelle est le montant du pr t qui minimise ce taux Note dans la r alit il faut aussi tenir compte des frais de notaire et de Vassurance du pr t 4 CALCULS NUM RIQUES 181 2 Soit x R que vaut la limite de la suite un suivante Un 1 2 HL ee ae es oa Re de a 3 La suite un tant d finie par unde 3Un 1 Un et Uy 2 u2 5 que vaut la somme N we arccot un n 1 4 Avec x 0 1 on demande d tudier 12 Up gt cos krz Pro 4 Calculs num riques Dans les cas que nous avons trait s jusqu ici les r currences taient lin aires ou d ordre un et les valeurs de la suite se calculaient donc sans dif ficult Nous montrons dans cette section comment calculer ces valeurs pour des r currences plus complexes 4 1 Premiers termes d une suite r currente Les programmes suivants calculent les premieres valeurs de la suite d origine combinat
136. 2 428 825 822 21 4y 122 1627 1827 16 52 102 524 429 121 grobner gbasis sys x y z tdeg fe z 1 g 27 2 yz oe yz 34 227 grobner gbasis sys y z x tdeg r 23 1 222 32 2zr 22 cy y 3207 Tz yz 3yt5e 5 x y 4 2741 gt 227 6r 9 5zr 5z 5ry 5y 2 ye 3 227 Nous insistons une fois encore sur l norme co t des calculs de bases de GROBNER Ce co t d pend fortement de l ordre choisi Dans certains calculs on a besoin d un ordre particulier pour le r sultat trouver mais lorsque l on a le choix alors il vaut mieux utiliser l ordre tdeg qui donne en g n ral une base plus rapidement 2 1 2 R solution d quations Un certain nombre d informations se lisent directement sur la base de GR BNER La plus simple est la coh rence du syst me un syst me de polyn mes n a pas de solution sur C si et seulement si la base est r duite au polyn me 1 2 POLYN MES ET SYST MES MULTIVARI S 153 EXEMPLE 19 On consid re le syst me pr c dent auquel on rajoute l qua tion z3 2xy 2 Il n y a alors plus de solution sys2 sys union x 3 2 x y 2 grobner gbasis sys2 x y z tdeg 1 La commande solvable du package grobner permet de r pondre directe ment a la question de la coh rence Il est galement possible de d terminer si un syst me a un nombre fini de solutions to
137. 21 nous obtenons eigenvects A 2 3 2t 3 1 1 J pti 2 t 3 2 t 3 2 z 9 1 0 0 1 1J 2 1 1 1 0 0 1 RootOf 6t Z 9_Z Ce r sultat doit s interpr ter ainsi il s agit d une suite de listes chaque liste comprenant une valeur propre sa multiplicit et une base de vecteurs propres correspondant cette valeur propre Dans le cas des deux derni res valeurs propres ce r sultat est assez clair Dans le cas de la premi re cependant il faut interpr ter le r sultat en faisant prendre a cette valeur propre chacune des racines du polyn me z 9z 6t comme valeur ce qui donne bien tous les vecteurs propres Dans ce cas simple comme nous savons que le polynome caract ristique se r sout explicitement la solution s obtient par eigenvects A radical et est trop longue pour tre reproduite ici EXEMPLE 16 Pour la seconde matrice eigenvects B renvoie un r sul tat trop long pour tre reproduit ici qui consiste en une valeur propre celle de l exemple 14 de multiplicit 1 et une base constitu e d un vecteur propre dont les coordonn es sont exprim es en termes de cette valeur propre Ce r sultat s interpr te comme pr c demment 126 V CALCUL MATRICIEL 2 2 6 Forme de JORDAN Il est parfois utile de diagonaliser une matrice Cela fournit une base dans laquelle l endomorphisme associ se comporte d une fa on agr able La diagonal
138. 222 IX INT GRALES ET PRIMITIVES Imo V2r V2 1 z 1 V2 5 n n V2 V2 1 a 1 ima V2n V3 1 x 1 5 at Var V2 17 1 v2 Dans cet exemple le d nominateur est irr ductible de degr 14 mais les nombres alg briques n cessaires l expression de la solution sont de degr au plus 2 r sultat difficile obtenir sans un syst me de calcul formel En conclusion toutes les fractions rationnelles coefficients dans un corps K admettent une primitive exprim e l aide d une fraction rationnelle co efficients dans K et d une somme de logarithmes de polyn mes coefficients dans une extension alg brique de K En pratique lorsque K Q Maple parvient toujours au r sultat et il devrait toujours y parvenir lorsque K est une extension alg brique de Q EXEMPLE 4 Voici un exemple o le corps de base est Q V2 7 f 1 sqrt 2 Pixx x 5 fi gt V2 rx 75 int f x Y Rh arr 1 z 5V2 _R R 1 1 RootOf 2567 12500 _Z 160_Z n 80_Z n 15_Zm 1 Pour calculer Vint grale d une fraction rationnelle o interviennent des nombres flottants Maple commence par convertir ces nombres en rationnels puis effectue le calcul et le r sultat obtenu est transform nouveau en nom bres flottants Lorsque Digits est lev cette conversion est parfois co teuse EXEMPLE 5 f 1 2 x 1 2 3 x 2 x 0 1 1 2x 1 Fe 2 32
139. 41971693993751 La pr cision peut galement tre r gl e par la variable globale Digits qui vaut 10 par d faut Les flottants en Maple sont li s leur pr cision ainsi la valeur pr c dente est diff rente syntaxiquement de la valeur de 7 calcul e avec dix chiffres sig nificatifs Compte tenu de cette restriction les flottants renvoy s par evalf sont sous forme normale Le chapitre XII revient plus en d tail sur l usage des flottants en Maple 2 1 4 Bool ens Les expressions bool ennes forment aussi une classe l mentaire Les deux formes normales sont true et false Les autres expressions s y r duisent par la commande evalb EXEMPLE 6 a 0 b 2 c 3 evalb a 1 or b 2 and c 3 true 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 19 2 1 5 Classes issues de l arithm tique Les autres constantes formant une classe l mentaire munie d une forme normale sont les r sidus modulo p avec pour fonction de r duction mod et les nombres p adiques mis sous forme normale par la fonction padic evalp 2 2 Classes amp forme normale A partir de constantes bien d finies des classes d objets symboliques faisant intervenir des variables et admettant une forme normale peuvent tre construites Les plus importantes sont les matri ces les polyn mes et fractions rationnelles les d veloppements limit s et les nombres alg briques Pour chacune de ces classes nous indiquons les princi pales fonctions de
140. 450x 275 x5 1574 85x3 22572 274x 120 sous la forme int 5 x74 60 x73 255 x 2 450 x 275 x754 15 x74485 x 3 225 x 2 274 x 120 x 25ln x 5 5ln x 4 5ln x 3 5ln r 2 25In x 1 24 i 6 g 4 6 24 Il est galement possible d exprimer cette primitive en fonction du loga rithme d un seul polyn me mais ce polyn me est de degr 120 et ses coeffi cients sont de l ordre de 106 Le second probl me est illustr par la fraction rationnelle 1 2 2 Sa primitive vaut 2 2 z arctanh 5 int 1 z 2 2 z Le nombre V2 appara t dans le r sultat et on peut montrer qu il n existe pas de primitive de cette fonction o ce nombre n appara t pas moins d utiliser l exponentielle Dans le cas g n ral il n est pas possible d int grer des fractions rationnelles sans faire appel des nombres alg briques Une des difficult s consiste alors exprimer le r sultat avec des nombres alg briques de degr le plus petit possible EXEMPLE 1 La d composition en l ments simples sur Q de 1 x 1 ne donne pas les p les de f x car ils ne sont pas rationnels Les nombres alg briques qui interviennent sont tous de degr 2 f 1 1 x76 1 PRIMITIVES 221 1 fis 14 76 int f x 1 1 7 1 3 arctan x D v3m x V3x 1 arctan 2x V3 1 1 D V3 ina V3 1 6 arctan 2x V3 EXEMPLE 2 Le polyn me x z 2 est irr ductible sur Q La primitive
141. 474534871311714227555376938069200 2711239818082338077176499334496536679787 1366951760 10 14 98296319223573173752229056229247630363353503058785 10716 31914477625966150949774017342529486456377251924053 10717 46986365445013202024187188936355711531488366113258 107 Le r sultat s obtient en 35 secondes et quelques valeurs singuli res sont af fich es ci dessus dont la plus grande v 1 et la plus petite v 30 Avec Scilab le temps est tr s court moins d un dixi me de seconde mais seuls v 1 v 15 sont corrects gt for i 1 30 for j 1 30 h i j 1 i j 1 end end gt initimer v svd h timer ans O gt v 1 v 15 v 16 v 17 v 30 ans 1 9864926 2 711D 15 1 022D 16 1 465D 17 9 100D 20 En effet les nombres flottants de Scilab qui sont ceux de la machine n offrent que 16 chiffres de pr cision ce qui est insuffisant ici o le rapport entre v 1 et v 30 est de l ordre de 1044 Des r sultats semblables ceux de Scilab sont obtenus par evalf Svd h 16 sous Maple Les r sultats obtenus par Maple ne sont pas n cessairement corrects La v rification n est pas simple a r aliser Le m me calcul avec 100 chiffres de pr cision donne les m mes 48 premiers chiffres pour v 1 37 chiffres pour v 15 35 pour v 16 33 pour v 17 et 8 pour v 30 mais ce n est en aucun cas une justification rigoureuse 1 2 Les flottants de la machine Maple donne acc s aux op rations sur
142. 49 integer 49 list 29 rational 49 series 51 198 set 29 type 49 52 53 valuation 141 variables globales 34 40 42 63 71 locales 34 40 63 variance 260 vecteur vector 117 W fonction 177 194 worksheet 8 78
143. 65 265 267 269 x CONTENTS 2 5 Exercices 3 Simulation 3 1 Tirage uniforme 3 2 Tirage selon une distribution fix e 3 3 Exercices CHAPTER XII CALCUL FORMEL ET CALCUL NUM RIQUE 1 Calcul num rique l int rieur du syst me 1 1 La pr cision arbitraire 1 2 Les flottants de la machine 1 3 Un exemple concret 2 Lien avec d autres langages ou biblioth ques 2 1 Utilisation de sous programmes en C ou Fortran 2 2 Code valuant une expression 2 3 Production de programmes 2 4 Lien avec les biblioth ques num riques Annexes ANNEXE A UNE SESSION MATHEMATICA ANNEXE B AUTOUR DU CALCUL FORMEL Informations lectroniques Revues et conf rences ANNEXE C INDEX DES SYST MES ACTUELS 1 Syst mes g n raux 2 Syst mes sp cialis s 3 Syst mes de CAO en automatique BIBLIOGRAPHIE Ouvrages g n raux Ouvrages plus sp cialis s INDEX 269 270 270 271 273 275 275 275 279 281 284 285 286 291 294 301 303 303 303 305 305 306 307 309 309 309 311 Introduction E 1858 Charles DELAUNAY s adressa en ces termes l Acad mie des Sci ences J ai Phonneur de faire part l Acad mie de l ach vement des calculs que j ai entrepris il y a plus de douze ans Deux ans plus tard il ajouta J ai Phonneur de pr senter l Acad mie le tome XXVIII de ses M moires formant le premier volume de ma Th orie du mouvement de la Lune Deux tomes des M moires de
144. 7 33341889 0 2277666333 0 5905668901 a Z a 1 solve subs x a g y 19 423462091i 19 423462092 solve subs x a f y 19 423462072 19 42346207i 1 743900269 16 28118131i 1 743900269 16 281181312 1 743900269 16 28118131i 1 743900269 16 281181314 Les deux premi res racines sont bien communes aux deux polyn mes et correspondent l ordonn e des intersections On remarque au passage que lorsqu un coefficient du polyn me est num rique solve se comporte comme fsolve 1 3 8 Nombres et fonctions alg briques Un nombre alg brique est un z ro d un polyn me en une variable coeffi cients rationnels De m me une fonction alg brique f x1 x est une fonc tion annulant un polyn me en f et 1 n coefficients rationnels Alors qu il est impossible de prouver des galit s entre nombres alg briques par des calculs num riques il est possible de prouver de telles galit s lorsqu elles ne font intervenir que des fractions rationnelles en des nombres alg briques en utilisant des calculs similaires celui de l exemple 7 En outre ces calculs m nent toujours un r sultat ind pendant de la racine consid r e En Maple les nombres alg briques sont repr sent s l aide de la fonction RootOf et peuvent tre manipul s par la commande evala L op ration de 1 OP RATIONS DE BASE ET POLYN MES EN UNE VARIABLE 149 normalisation mentionn e en 81 3 2 s
145. CTIONS RATIONNELLES FIGURE 11 FIGURE 12 Calculer l enveloppe de la famille de cercles dont le centre est situ sur la parabole y 2px et qui sont tangents l axe de la parabole On peut simplifier le probl me en commen ant par param trer la parabole On consid re les plans variables Q d quation 3 x 3Ay z 0 et P celui de ces plans qui correspond a D terminer l enveloppe de la droite d intersection de P et de Q On consid re la glissade d une chelle contre un mur perpendiculaire au sol fig 11 D terminer l quation de l enveloppe des positions de l chelle Cette courbe s appelle une astroide D terminer l enveloppe des droites perpendiculaires aux diam tres d une ellipse aux extr mit s de ceux ci fig 12 Par diam tre on entend toute corde qui passe par le centre CHAPTER VII Suites r elles ES SUITES pour lesquelles le calcul formel a le plus offrir sont les suites L qui satisfont une r currence lin aire Nous consid rons d abord celles ci en d taillant le cas des coefficients constants o la r currence peut tre r solue bien que ce soit rarement la chose faire Nous poursuivons par les r currences d ordre un en montrant sur quelques exemples d taill s comment une approche purement empirique permet dans certains cas d obtenir toute l information d sirable sur une suite Un cas particulier important de solutions de r c
146. Calcul formel mode d emploi Exemples en Maple PHILIPPE DUMAS CLAUDE GOMEZ BRUNO SALVY PAUL ZIMMERMANN Cet ouvrage est diffus sous la licence Creative Commons Paternit Partage des Conditions Initiales l Identique 2 0 France Extrait de http creativecommons org licenses by sa 2 0 fr Vous tes libres e de reproduire distribuer et communiquer cette cr a tion au public e de modifier cette cr ation selon les conditions suivantes e Paternit Vous devez citer le nom de l auteur origi nal de la mani re indiqu e par l auteur de l uvre ou le titulaire des droits qui vous conf re cette autori sation mais pas d une mani re qui sugg rerait qu ils vous soutiennent ou approuvent votre utilisation de l uvre e Partage des Conditions Initiales l Identique Si vous modifiez transformez ou adaptez cette cr ation vous n avez le droit de distribuer la cr ation qui en r sulte que sous un contrat identique celui ci chaque r utilisation ou distribution de cette cr ation vous devez faire appara tre clairement au public les condi tions contractuelles de sa mise disposition La meilleure mani re de les indiquer est un lien vers cette page web Chacune de ces conditions peut tre lev e si vous obtenez l autorisation du titulaire des droits sur cette uvre Rien dans ce contrat ne diminue ou ne restreint le droit moral de l auteur ou des auteurs Avant Propos
147. E 7 Pour tracer l ensemble de MANDELBROT voir p 83 il faut calculer des valeurs de la suite 2 11 22 20 o 20 est un nombre complexe donn C est ce que fait la proc dure f ci dessous qui part de zo ao ibo et renvoie le carr du module de z ou d une valeur pr c dente s il d passe 4 f proc a0 b0 n local a b c a a0 b b0 to n while a 2 b 2 lt 4 do c a 2 b 2 b 2 a b b0 a c a0 od a 2 b 2 end Pour cette fonction l utilisation des flottants de la machine apporte un gain proche de 30 time f 0 3 0 2 100000 time evalhf f 0 3 0 2 100000 107 233 3 683 Cet exemple montre que la commande evalhf permet d valuer avec des flottants de la machine des proc dures relativement complexes comprenant des boucles et des tests Cependant nous avons atteint l les limites de ce qui est possible sans sortir de Maple Nous verrons dans la section suivante que l on peut encore gagner un facteur 100 gr ce la compilation ex 8 p 285 1 CALCUL NUM RIQUE L INT RIEUR DU SYST ME 281 MC SM O C l av FIGURE 1 Un hauban charg transversalement 1 3 Un exemple concret Le calcul formel est un outil id al pour r soudre beaucoup de probl mes qui se posent aux ing nieurs En effet l ing nieur a souvent des mod lisations physiques compliqu es et travaillant dans des plages d termin es de variation des param tres est int ress par des formules approch es par ex
148. HM TIQUE ET COMBINATOIRE Dans la mesure du possible il faut donc supprimer les produits au profit des additions m me si le nombre d additions devient lev Une autre fa on de r duire la longueur des calculs consiste viter autant que possible d avoir recours des nombres rationnels Dans les principaux syst mes de calcul formel les nombres rationnels sont en effet automatique ment r duits 6 4 devient 3 2 et 1 2 1 3 devient 5 6 Ces simplifications peuvent influer de fa on notable sur le temps de calcul notamment lorsque num rateur et d nominateur sont de grands entiers EXEMPLE 2 Pour calculer la somme ml n la m thode naturelle consiste op rer directement en ajoutant chaque it ration le rationnel 1 n s 1 t 1 for n to 499 do t t n s s t od mais il vaut mieux ajouter l entier 500 n chaque tape et diviser par 500 la fin u 0 t 1 for n from 500 by 1 to 1 do t t n u u t od u u 500 evalb s u true La premi re m thode est environ 60 fois plus lente que la seconde chaque it ration le syst me effectue une r duction au m me d nominateur alors qu il n en fait qu une seule dans le second cas 1 1 1 Exponentiation Qu il s agisse d entiers de r sidus d entiers modulo p de polyn mes ou de matrices la multiplication est une op ration relativement co teuse L exponen tiation le calcul de a o n est un entier est un cas important
149. I aux variables x et y Ceci est permis en Maple o le nom x repr sente la fois un symbole math matique et une variable informatique La commande assign appliqu e par exemple coordsI effectue cette affectation La seconde approche que nous pr f rons consiste substituer dans le membre droit de l quation 1 les symboles x et y par les coordonn es de I Cette op ration est effectu e par la commande subs 1 sin 6 si normal subs coordsI y sqrt x 2ty 2 _ 1 R2V4R1 R2 2 RiVRI s2 normal subs coordsI y sqrt R1 x 2 y 2 1 R2V4R1 R2 2 R1VR2 c1 normal subs coords x sqrt x 2ty 2 pew 12R1 Re Ap 2 RIVRI c2 normal subs coordsI R1 x sqrt R1 x 2 y 2 T R2 C2 2 RIV R2 Pour obtenir un r sultat simplifi nous avons employ la commande normal qui r duit au m me d nominateur les fractions rationnelles et di vise num rateur et d nominateur par leur pgcd A titre de comparaison voici le r sultat brut non simplifi donn par Maple pour le calcul de cos 02 subs coordsI Ri x sqrt Ri x 2 y 2 12R1 R2 Ri 2 2 R1 af 12k RE RZ URI R2 2 Ri Ri Les fonctions de simplification sont d crites en d tail dans la seconde partie de ce chapitre L aire cherch e s obtient alors en faisant la somme des diff rences des secteurs circulaires et des aires des triangles Les aires des secteurs circulaires
150. II SERIES ET D VELOPPEMENTS ASYMPTOTIQUES l aide de l quation de KEPLER 6 calculer un d veloppement de b l ordre n en e Inversion de s ries formelles partir du d veloppement de b en d duire celui de k par l quation 5 et celui de f par 7 Remplacer e par e et l par I dans k et f pour obtenir les d veloppements de k et f relatifs au Soleil Calculer cos 6 en fonction de e e 1 1 h h l aide de l identit 4 Former S en se servant de la formule 3 Il suffit de consid rer les polyn mes de LEGENDRE jusqu l ordre n 2 2 orthopoly P Effectuer un d veloppement limit de S a l ordre n en les quatre variables e e 7 tant donn es les valeurs approch es e 1 18 e 1 60 y 1 11 et c 1 400 on consid re comme DELAUNAY e et y comme des termes d ordre un e comme un terme d ordre quatre et c comme un terme d ordre deux mtaylor select Lin ariser les expressions trigonom triques afin de mettre S sous la forme d une somme de termes du genre a cos b o a est un mondme en e e 7 c et b est une combinaison lin aire des angles l l h w combine trig Regrouper les termes ayant le m me facteur cosb Commandes collect et indets On doit obtenir l ordre 2 le d veloppement suivant U l n 3 2 j 3 1 3 1 5 3 4 gccos l l h h 3e cos l 1 cos I 2 3 3 2 l TRS RE NI ww
151. IONNELLES 1 3 4 Factorisation Bien que performantes les m thodes de factorisation formelle de polyn mes sont in vitablement tr s co teuses en temps Cela provient de l existence de polyn mes tr s simples avec un grand nombre de facteurs comme 219 1 Il est donc avis d viter toute factorisation dans un programme d autant plus que l on peut souvent s en passer car nombreuses sont les op rations qui donnent le m me r sultat symbolique pour toutes les racines d un polyn me Cependant au cours d une session interactive lorsque l on fait des exp rimen tations autour d un probl me il peut se produire que la factorisation d un polyn me apporte un clairage int ressant La commande utiliser pour cela est factor qui factorise aussi bien des polyn mes en une qu en plusieurs variables Lorsque factor renvoie le polyn me de d part cela signifie que celui ci est irr ductible sur Q EXEMPLE 11 Dans l exemple 10 les deux r sultants restent inchang s par factor Il s agit donc des polyn mes coefficients dans Q de plus bas degr s annulant aux coordonn es des intersections La commande factor s applique aussi aux fractions rationnelles Dans ce cas num rateur et d nominateur sont factoris s 1 3 5 Factorisation sans carr s Cette op ration r alis e uniquement l aide de pgcds n est pas co teuse Elle permet de r crire un polyn me P sous la forme Q1Q2 QE o
152. La share library de Maple contient des programmes d velopp s par des utilisateurs Elle est distribu e avec le systeme mais les nouvelles versions de la share library sont plus fr quentes que les nouvelles versions de Maple On peut trouver la derni re version de la share library par ftp sur la machine ftp inria fr 192 93 2 54 dans le r pertoire lang maple Revues et conf rences La principale revue du domaine s appelle The Journal of Symbolic Compu tation L association am ricaine ACM dite galement un bulletin le SIGSAM Bulletin consacr au calcul formel La Maple Technical Newsletter publi e par Birkh user est une revue consacr e uniquement Maple qui contient des articles de niveau l mentaire sur des applications de Maple en partic ulier pour l enseignement Enfin les conf rences ayant trait au calcul formel sont 303 304 B AUTOUR DU CALCUL FORMEL e ISSAC International Symposium on Symbolic and Algebraic Com putation conf rence annuelle dont les actes sont g n ralement pu bli s par ACM Press e AAECC Applied Algebra and Error Correcting Codes conf rence bisannuelle plus orient e vers l alg bre dont les actes sont publi s dans la s rie Lecture Notes in Computer Science Springer Verlag e DISCO Design and Implementation of Symbolic Computation Sys tems conf rence annuelle dont les actes sont publi s dans la s rie Lecture Notes in Computer Science Springer Verlag
153. N 43 EXEMPLE 22 Voici une programmation de la factorielle plus proche de la d finition math matique fact proc n n fact n 1 end fact 0 1 Attention l affectation fact 0 1 doit tre faite apr s la d finition de fact car la cr ation d une proc dure r initialise sa table de remember EXEMPLE 23 Il est galement possible de faire cette affectation l int rieur de la proc dure ce qui permet la fin d un calcul de stocker la valeur apr s avoir test si cela en vaut la peine Voici un exemple simplifi g proc x print x if x 2 then g x 3 else x fi end g 2 g 2 Le premier appel g 2 effectue le calcul l instruction print x est ex cut e et entre le couple 2 3 dans la table de remember de g Lors du second appel le calcul n est plus effectu et la proc dure renvoie tout de suite la valeur C est ainsi qu en Maple fonctionnent la plupart des proc dures correspon dant a des fonctions math matiques lorsque leur argument est une variable non affect e Par exemple le corps de la proc dure exp ressemble a ceci exp proc x if type x float then elif else exp x xp x fi end Il est impossible ici de renvoyer exp x ce qui entrainerait une boucle sans fin Il serait possible de retourner simplement exp x mais alors chaque apparition de ce terme dans une expression red clencherait l ex cution de tout le corps de la proc dure exp ce qu il e
154. Nicolaas G Asymptotic Methods in Analysis Dover 1981 Une r impression de la troisi me dition par North Holland en 1970 premi re dition 1958 Un livre de recettes pour r soudre des quations diff rentielles ZWILLINGER Daniel Handbook of Differential Equations Academic Press 1989 Sur les probabilit s voici deux classiques le premier est l mentaire mais a peut tre un peu vieilli R NYI Alfred Calcul des probabilit s Dunod 1966 Le second est plus complet mais plus gros FELLER William An Introduction to Probability Theory and its Applica tions John Wiley 1968 troisi me dition vol 1 aide 10 Airy sir George Biddel fonction d 69 algorithme d Euclide 34 143 d Euclide tendu 96 98 101 de Gosper 180 de Risch 223 224 du simplexe 129 alias 19 21 67 149 223 Alpak 2 animation 89 91 apostrophe 14 55 argument d un nombre complexe 23 d une proc dure 41 60 assume 27 28 204 208 240 247 Axiom 2 45 224 base de Gr bner 151 164 standard 151 Basile 294 Bernoulli quation de 246 Bessel Friedrich Wilhelm fonctions de 225 231 235 B zout tienne identit de 96 bool en 16 18 50 boucle 33 39 break 37 by 34 35 do 34 37 for 34 37 from 34 35 seq 35 37 38 while 34 37 browser 10 Index CAO syst mes de 294 Carmichael
155. Pour trouver une relation entre eux on ajoute une variable que l on limine aussit t grobner gbasis u t xpl v txp2 w txq t w u v x y 2z l plex u try Qty tz E v try tz tz x Qty tzy ty yu zv 2y9t ytz ty 24t uy 270 xy v 2v u w yu TV U ZU 2y v zu ry u x yu Le premier des polyn mes o n appara t pas t donne la relation de liaison cherch e q y 1 p 2 2 pe L ordre que nous avons choisi sur les variables permet d avoir une base assez petite mais tout autre ordre convient condition que t apparaisse en premier REMARQUE lorsqu on cherche une relation de la forme q ap bp2 entre trois polyn mes q p p2 une autre m thode consiste employer une forme sp ciale de gcdex gcdex p1 p2 q x a b a b y 1 2 2 Mais contrairement l approche utilisant les bases de GROBNER cette m tho de ne fonctionne plus lorsqu on ajoute d autres polyn mes p i Il est un peu dommage de calculer toute la base de GROBNER pour l ordre lexicographique lorsque l on ne veut comme dans l exemple ci dessus liminer qu une variable C est d autant plus g nant que les calculs de base pour l ordre lexicographique sont tr s co teux et on court le risque de ne pas parvenir au r sultat en un temps ou un espace m moire raisonnable parce que l on calcule beaucoup plus que n cessa
156. S du nom de son d couvreur On se propose de d terminer l quation de cette courbe sachant que les rayons de lumi re venant du soleil peuvent tre consid r s comme parall les On prend le cercle de rayon 1 centr sur l origine On consid re un point de coordonn es x y du cercle Si 4 arctan y x un rayon horizontal r fl chi en x y a un vecteur directeur de coordonn es normal expand subs th arctan y x cos 2 th sin 2 th x y 2xy x2 y 22 y Donc les droites qui nous int ressent ont pour quation Qay X x x y Y y 0 Dans notre exemple on prend y et voici l quation de la courbe cercle x y 2 y 2 1 dx solve diff cercle y diff x y y eq 2 x y y X x y xy 2 y72 Y y eq2 numer subs diff x y y dx diff eq y sys subs x y x cercle eq eq2 grobner gbasis sys x y X Y plex 2 POLYN MES ET SYST MES MULTIVARI S 161 Bt 4X 4 4Y y 2rY 2yX 9Xz 16X4 32Y X 14X 16Y4 2 14Y T2 Y 9x 128X 256X8Y 112X 128Y 4X 38X 112Y7X 3y 4X 1 4Y 36y X 9y 64Y X4 23Y 32X2Y 32Y 128Y X GAY OUR 32Y X 8X 16X4 16Y4 1 8Y 1 15Y 12X 9Y X 48Y 48X4 64Y 192Y4 X 192X4Y2 64X Le dernier polyn me o n interviennent que X et Y donne l quation cherch e On p
157. TION AVANC E FIGURE 6 Le DAG repr sentant ln x 1 2sin x ln x 1 Les cons quences de cette repr sentation sur l espace m moire utilis sont normes Par exemple la taille de la d riv e d une expression de taille n est de Pordre de n3 dans la repr sentation arborescente et est abaiss e l ordre n par l utilisation de DAGs Il est plus d licat d exploiter cette structure pour abaisser galement le temps de calcul L option remember r pond dans une certaine mesure cette attente mais au prix d une consommation m moire lev e Nous d crivons une autre approche utilisant la commande optimize dans l exercice 6 Package hackware Le package hackware est tr s d licat d emploi et r serv au programmeur Maple confirm Cependant il permet de comprendre vrai ment comment fonctionne Maple et nous conseillons l usage des comman des disassemble et pointto pour explorer la structure des objets Maple 3 3 D veloppement d extensions du syst me Le langage de program mation permet d tendre le syst me Nous distinguons trois directions prin cipales dans lesquelles l utilisateur peut tendre Maple La premi re est l introduction dans le langage d une fonction au sens math matique qui n est pas connue de Maple la deuxi me est l ajout d une fonctionnalit une op ration sur les fonctions math matiques comme la d rivation ou l valuation num rique et la troisi m
158. TOTIQUES 211 alors la m thode de LAPLACE Il est galement possible d utiliser des pro pri t s de la transform e de MELLIN pour d terminer le comportement asymp totique d une int grale mais nous n en parlerons pas ici EXEMPLE 11 Nous avons vu en 81 1 comment calculer num riquement le sinus int gral de FRESNEL lorsque l argument est assez proche de l origine Lorsque l argument devient plus grand il est pr f rable d utiliser le d velop pement asymptotique L int gration par parties s applique l int grale de l quation 1 apr s un changement de variables S a gt Int sin Pi t 2 2 t a infinity value S 0 student changevar t u 1 2 S x u sin 7 u2 f ND du student intparts u 1 2 2 cos Egg Zu 1 2 ih G pr TE 22 2u3 2r Le calcul se poursuit et donne de plus en plus de termes du d veloppement for i from 3 by 2 to 7 do student intparts u i 2 od subs csgn x 1 map simplify 2 2 2 2 cos 55 sn TS cos 5 sin 7 f 105 sin 7 t 15 T 5 1 7 1 9 2 TT 3 TU 2 2 TU 1 2 TT TT EXEMPLE 12 On consid re maintenant l int grale log 1 tz dt 0 Let o x tend vers l infini Le calcul se simplifie en remarquant que lorsque x croit log 1 ta se comporte au premier ordre comme log x la diff rence tant gale log 1 a t Une premi re partie du comportement asymptotique est donc donn e pa
159. UL FORMEL ET CALCUL NUMERIQUI 1 1 1 Le temps de calcul La principale faiblesse des syst mes de calcul formel en calcul num rique est leur lenteur Nous l illustrons sur un exemple de calcul des valeurs sin guli res d une matrice EXEMPLE 4 Les valeurs singuli res d une matrice A sont les racines carr es des valeurs propres de AtA Le rapport entre la plus grande valeur singuli re et la plus petite appel le conditionnement de la matrice quantifie la sensibilit de la solution u du syst me lin aire Au b par rapport aux donn es A et b La solution est d autant plus sensible que le conditionnement est grand Calculons les valeurs singuli res d une matrice num rique 100 x 100 obtenue al atoirement en Maple m evalm randmatrix 100 100 99 0 time evalf Svd m 33 134 Le r sultat est obtenu apr s 33 secondes Sauvegardons dans un fichier les l ments de la matrice utilis e et r alisons le m me calcul dans un syst me sp cialis comme Scilab qui ex cute en fait des programmes Fortran gt m read mat100 data 100 100 gt initimer v svd m timer ans 0 6 Les r sultats donn s par les deux syst mes sont les m mes mais le temps de calcul est de 33 secondes avec Maple contre 0 6 seconde avec Scilab soit un rapport de plus de 50 La lenteur des syst mes de calcul formel pour les calculs num riques provient de deux facteurs 1 g n ralit les syst mes de calcul
160. a 10 10 i 1 100 4 4 4 4 plots display p1 p2 Pour trouver l enveloppe il faut trouver pour chaque normale la valeur de correspondant au point o la normale est tangente l enveloppe En ce point la d riv e par rapport au param tre t doit tre parall le la normale ce qui nous donne la valeur de map diff fam t 254 X CALCUL DIFF RENTIEL simplify solve vit 1 1 vit 2 2 lambda 9 cos t 1 6 sin t cos t Il ne reste plus qu substituer cette valeur de dans l quation des droites res map simplify subs lambda fam 27 cos t 3 cos t 15 cos t 1 6 cos t f 3 cos t 15 cos t 27 cos t 1 6 cos t La courbe obtenue est trac e sur la figure 5 avec la courbe de d part par les instructions suivantes p3 plot op res t Pi 2 0 001 Pi 2 0 001 4 4 4 4 p4 plot op res t Pi 2 0 001 3 Pi 2 0 001 4 4 4 4 plots display p1 p3 p4 res Dans le cas o la courbe tudier est beaucoup plus compliqu e on imagine facilement que les calculs pour obtenir la d velopp e peuvent devenir inextricables Avec un syst me de calcul formel il suffit de r aliser nouveau les op rations pr c dentes en changeant uniquement les quations de d part c est dire la liste coords 2 2 Un calcul de g od sique Une g od sique est une courbe d une sur face qui localement suit un chemi
161. a b Lorsque F admet un inverse simple il suffit donc de tirer X F 1 U o U est uniforme sur 0 1 EXEMPLE 8 Un g n rateur al atoire selon la loi exponentielle sur 0 oof dont la fonction de r partition est 1 exp t s obtient par rand_exp proc log randU end en utilisant le g n rateur randU vu plus haut et le fait que U et 1 U ont la m me distribution Une v rification est obtenue en tra ant la courbe de la m me fa on que ci dessus s array 0 100 sparse to 2000 do 272 XI CALCULS EN PROBABILIT FIGURE 5 Tirages selon une loi exponentielle t trunc 20 rand_exp if t lt 100 then s t s t 1 fi od plot seq n s n n 0 100 ce qui donne la figure 5 Lorsque la fonction de r partition a une expression compliqu e il n est pas si facile de calculer son inverse Voici une proc dure qui prend en entr e une fonction de r partition F de variable x un intervalle r et retourne un g n rateur al atoire peu efficace suivant la distribution voulue gen_rand proc F x r subs _corps fsolve F randU x r proc _corps end end Consid rons par exemple la distribution de fonction de r partition a sin x 7 sur l intervalle 0 7 Fi x sin x Pi le g n rateur al atoire correspondant est obtenu par randFi gen_rand F1 x 0 Pi Voici la proc dure que nous avons construite print randF1 proc fsolve x sin x Pi randU x 0 P
162. a derni re colonne ce qui fournit une r currence Pour le d veloppement Maple ne nous est d aucun secours car il ne sait pas manipuler des matrices dont la dimension est un param tre en revanche il saura r soudre la r currence lin aire obtenue voir exercice 2 p 132 2 2 3 Polyn me caract ristique Le calcul de d terminants symboliques permet celui de polyn mes car act ristiques La connaissance de ce polyn me fournit de nombreuses infor mations sur la matrice EXEMPLE 12 Nous reprenons la matrice A de l exemple 8 p 121 Le calcul de son polyn me caract ristique est tr s facile avec un syst me de calcul formel charpoly A lambda A4 18A 247t 36At 81A 216At 108 474 246 Nous calculons alors le discriminant de ce polynome et m me sa d composition sans carr s ce qui est peu co teux voir chap VI convert discrim lambda sqrfree 768 8t 27 4t 9 3t De cela il d coule que pour t 27 8 9 4 0 3 le polyn me caract risti que n a que des racines simples ventuellement dans une extension alg brique de Q t et donc que la matrice est diagonalisable pour toutes ces valeurs de t 2 2 4 Valeurs propres Le calcul des valeurs et vecteurs propres d une matrice coefficients symboliques ou non revient trouver les racines du polyn me caract ristique puis r soudre un syst me lin aire Les syst mes de calcul for
163. a division EXEMPLE 4 Pour obtenir le reste de la division de A xt ux 1 par B 2z vx 1 en la variable x on fait A x710t u xt 1 B 2 x73 v x72 1 R rem A B x R v Our Bue y D y 3e v Byt tfu z 26 Bo 8J T 8 8 16 256 Si les coefficients de A et B sont rationnels la fonction divide d termine si B divise A Cette fonction donne le quotient de mani re plus rapide que quo lorsque la division est exacte Enfin les fonctions prem et sprem calcu lent un pseudo reste c est dire un polyn me R multiple par un scalaire du polyn me R L avantage de ces fonctions est qu elles vitent les divisions de coefficients et donc sont souvent plus rapides sur de gros calculs EXEMPLE 5 On reprend les deux polyn mes de l exemple 4 pren A B x 256ux 256 96v x 24v x 32a 32rv 2av x 48v 20v v Ce polyn me vaut 256 fois celui obtenu par rem dans l exemple 4 et on n a pas eu r duire toutes les fractions coefficients La fonction sprem diff re de prem par le seul fait qu elle cherche le plus petit facteur scalaire tel que R ne comporte pas de fraction 1 3 2 Pacd Une fois que l on sait effectuer une division euclidienne on sait calculer le pgcd par l algorithme d EUCLIDE Le pgcd A B de deux polyn mes A et B en une variable s obtient par la commande gcdex qui prend en argument les polyn mes et la variable EXEMPLE 6 Pour montrer q
164. acsyma en 1970 et Scratchpad d velopp par IBM d s le milieu des ann es soix ante qui est devenu Scratchpad IT en 1975 pour n tre diffus officiellement qu en 1991 sous le nom d Axiom Ces trois syst mes Reduce Macsyma et Scratchpad ont t crits en Lisp On a longtemps pens que ce langage tait pr f rable pour d velopper un syst me de calcul formel jusqu l apparition vers le milieu des ann es 1970 du langage C dans lequel ont t crits Maple 1980 et Mathematica 1988 successeur de SMP 1982 Le calcul formel aujourd hui Il a acquis une notori t consid rable depuis 1988 avec l arriv e de Mathematica dont le concepteur Stephen WOLFRAM a men une Campagne de publicit impressionnante partout dans le monde Cette publicit a fait mieux conna tre le calcul formel dans le milieu industriel Les principaux syst mes de calcul formel utilis s actuellement sont Axiom Macsyma Maple Mathematica et Reduce Tous les cinq sont des syst mes g n raux c est dire qu ils savent manipuler des nombres en pr cision ar bitraire factoriser ou d velopper des polyn mes et fractions nombre quel conque de variables d river et int grer lorsque c est possible des expres sions construites l aide de fonctions l mentaires r soudre des quations diff rentielles ou non de fa on exacte ou d faut num rique effectuer des d veloppements limit s un ordre quelconqu
165. aide de la commande solve ou d un changement de variable astucieux pour obtenir un meilleur rendu surtout au voisinage des points multiples comme 0 0 dans notre exemple comparer les figures 11 et 12 FIGURE 11 implicitplot x76 FIGURE 12 y 6 3 x 4 y 2 3 x 2 y 4 x 4 2 polarplot cos 2 t t 0 2 Pi x 2 y 2 y 4 x 1 1 y 1 1 1 4 Trac de donn es Pour tracer simplement une liste de points en les reliant ou non on utilise la commande plot 1 o 1 est la liste en question 82 III COURBES ET SURFACES form e soit de couples x y soit de nombres les indices impairs correspon dant alors aux abscisses et les indices pairs aux ordonn es EXEMPLE 3 Voici une marche al atoire dans le plan Partant du point 0 0 un point mobile fait des pas nord sud est ouest de fagon quiprobable x 0 y 0 dx 1 1 0 0 dy 0 0 1 1 die rand 1 4 for i to 10000 do 1 i x y r die x xtdx r y ytdy r od plot seq 1 i i 1 10000 Trac de donn es issues d un fichier Lorsque les donn es visualiser sont obtenues en dehors du syst me par une exp rience physique ou un autre programme la solution la plus simple pour visualiser ces donn es en Maple consiste passer par l interm diaire d un fichier On peut alors soit formater ce fichier l ext rieur du syst me en ajoutant des virgules et des crochets au bon endroit soit utiliser la commande readdata de Maple voi
166. aires 2 S RIES ENTI RES ET D VELOPPEMENTS LIMIT E n 199 Au dela du disque de convergence la s rie cesse de converger ce qui appara t bien sur ces figures Lorsque les coefficients un d une s rie enti re sont connus explicitement il n est g n ralement pas trop difficile d en d duire le rayon de convergence par la r gle d HADAMARD c est l inverse de la limite sup rieure de la suite Jun si elle existe Dans la plupart des cas en pratique la limite sup rieure est en fait la limite et la fonction limit peut la trouver 2 2 Fonctions d finies explicitement C est la commande series qui permet de calculer des d veloppements limit s Voici comment on calcule le d veloppement l ordre 2 en 0 de R z 1 x sin LT COS 37 series sin Pi 6 x cos Pi 3 x 7 1 x x 4 V37 24 V37 24 61 2 7V3 i re 103687 482 Varoa 5V3 565 gt 859V3 3 3721 4 224 OU Pe ee n are maosa OC Cette commande ne se limite d ailleurs pas a des d veloppements en s rie enti re mais calcule aussi des d veloppements en s rie de LAURENT o des puissances n gatives interviennent et certains d veloppements en s rie de PUISEUX ot des puissances rationnelles interviennent series arccos 1 x x Jarl 4 V2 37 3V2 50 5V2 72 35V2 972 63V2 np Olz BU tag Teg ler Aa loge OR La commande series peut parfois tre am lior e en efficacit notam
167. ait obtenir si x est r el n gatif on voudrait obtenir x et si x est un nombre complexe quelconque on doit choisir parmi deux racines complexes oppos es Ce probl me du type de la variable se pose dans bien d autres cas Dans le 81 le probl me avait t r gl par l emploi de l option symbolic de la fonction simplify qui permet de r aliser les simplifications sans se poser de question Dans le cas g n ral la bonne solution consiste utiliser la fonction assume qui permet de pr ciser les propri t s d une variable EXEMPLE 12 On aurait pu exprimer que les variables R et R taient r elles positives de la fa on suivante assume R1 gt 0 assume R2 gt 0 about R1 Originally R1 renamed R1 is assumed to be RealRange Open 0 infinity La fonction about indique les hypoth ses faites sur une variable Apr s l appel de assume les variables sont automatiquement renomm es et un tilde appara t lors de leur impression Mais on continue les utiliser normalement en entr e EXEMPLE 13 Avec ces hypoth ses sur R et R les simplifications au raient t r alis es automatiquement A normal R1 2 arccos c1 si c1 R2 2 arccos c2 s2 c2 12R1 R2 1 A arccos Re RY R2 VARY R2 2 R1 2 THOF R2 arccos Gr Le seul moyen de supprimer les hypoth ses faites sur une variable est de lui donner une valeur qui peut tre son nom Par ailleurs les nouvelles hypoth ses n
168. ale est d clench e ce qui incr mente s deux fois L valuation un niveau de f ne lance pas l valuation de t pas plus que normal puisqu a l int rieur de normal toutes les valuations ont lieu un seul niveau Le dernier test provoque l valuation de t puisque normal comme presque toutes les proc dures Maple value totalement ses arguments En revanche si l instruc tion normal f est utilis e l int rieur d une proc dure elle ne d clenche pas l valuation de t car la variable f n est valu e qu un seul niveau 3 1 4 Tables et proc dures Trois particularit s des tables et des proc dures m ritent d tre signal es ces deux structures ne s valuent pas selon les m mes r gles que les autres objets du syst me elles sont toutes deux susceptibles de cr ation implicite et la commande op ne permet pas de les d composer compl tement T 60 II UTILISATION AVANC E Cr ation implicite La cr ation implicite intervient lorsqu une valeur de fonc tion ou une variable index e apparaissent en membre gauche d une affectation EXEMPLE 47 Les deux affectations a 3 0 0 1 cr ent respectivement une table et une proc dure La plupart des objets Maple ne peuvent pas tre modifi s Les op rations courantes cr ent une copie modifi e de leur argument Il n y a qu une excep tion cette r gle les tables L affectation une variable index e comme a 3
169. ande Maple doit tre termin e par un point virgule ou par deux points C est imp ratif car c est ce qui indique Maple que la commande est termin e signifiant que le r sultat doit tre affich et qu il ne doit pas l tre par exemple pour des calculs interm diaires dont 10 I PRISE EN MAIN DU SYST ME l affichage serait tr s long En revanche les passages la ligne au milieu d expressions n ont pas d importance et servent les pr senter plus clairement Voici donc comment saisir les quations des deux cercles eqi x 2 y 2 R1 2 eql x y RI eq2 x R1 72 y 2 R2 2 eg x R1 y R2 Ces commandes font appara tre deux types d galit L galit math matique est repr sent e par le signe et sert manipuler des quations L affectation repr sent e par le signe est une op ration informatique qui permet de nommer des expressions Ainsi l quation du cercle C1 est d sormais connue du syst me sous le nom eq1 tandis que eq2 est la variable d signant l quation de C2 L usage de symboles est la diff rence essentielle entre les syst mes de calcul formel et les langages de programmation traditionnels comme C Fortran Pascal Lisp Dans ces derniers les op rations l mentaires s effectuent sur des valeurs num riques Dans les syst mes de calcul formel ces op rations s appliquent galement des symboles comme dans notre
170. ans contrainte pour n lt 100 2 lorsque pile n arrive jamais deux fois cons cutives pour n lt 100 3 lorsque pile n arrive jamais k fois cons cutives pour n lt 100 et k 2 5 10 7 Arbres Reprendre le calcul de la s rie g n ratrice des arbres binaires pour calculer le nombre d arbres binaires de taille n pour n lt 100 1 lorsque la taille est le nombre de feuilles 2 lorsque la taille est le nombre de n uds 3 lorsque la taille est la somme du nombre de feuilles et du nombre de noeuds M mes questions pour des arbres ternaires les n uds ont trois descen dants les arbres unaires binaires les n uds ont un ou deux descendants et les arbres arit quelconque les n uds ont un nombre quelconque de descendants CHAPTER V Calcul matriciel E CALCUL MATRICIEL au sens large est un domaine o un syst me de calcul formel peut apporter beaucoup En effet au del de matrices 3 x 3 il devient difficile de r aliser des calculs la main La complexit de ces calculs n est pourtant pas tr s lev e ce qui permet aux syst mes de calcul formel de r soudre des probl mes de taille assez importante 1 Matrices et vecteurs Tous les syst mes de calcul formel savent manipuler des matrices et des vecteurs seule la syntaxe est diff rente selon les syst mes En Maple tout ce qui a trait l alg bre lin aire se trouve dans le package linalg pour all ger les notations nous sup
171. ans l valuation num rique EXEMPLE 13 i Int Int sqrt 2 x 2 y 2 y 0 x x 0 1 im ff 1 2 x y dy dx o Jo st time evalf i time st 5685164493 113 400 228 IX INT GRALES ET PRIMITIVES i int int sqrt 2 x 2 y 2 y 0 x x 0 1 1 1 1 i 5 V2 2x x z1 mU V2 2x2 r 0 1 Iln Ix V2 2x Iln V2 x 51m v 2 x2 x dx st time evalf i time st 5685164493 5508261068107 117 5 967 Dans cette section nous passons en revue les diff rentes classes d int grales d finies que Maple sait calculer soit partir d une primitive soit par recherche dans une table soit par transform e de LAPLACE ou de FOURIER Nous traitons ensuite les int grales multiples et l int gration num rique 2 1 Utilisation d une primitive Pour calculer i f a de la m thode classique consiste calculer une primitive F x de f x puis effectuer F b F a ou bien dans le cas des int grales impropres os ee Il est noter que ce dernier cas ne pose en g n ral pas de probl me particulier De plus Maple sait calculer un certain nombre d int grales impropres autre que celles dont il sait calculer la primitive voir le 82 2 Cette m thode n est pas valide sans quelques hypoth ses sur f La v rification de ces hypoth ses pose parfois probl me aux syst mes de cal cul formel Les deux principales difficult s sont la d tection de singularit s
172. ant il faut parfois par courir toute l expression Si l on recherche l efficacit il faut donc toujours se demander si les caract ristiques reconna tre ne peuvent pas tre obtenues en restant la surface de l expression c est dire pr s de la racine Types structur s Le langage des types structur s permet de construire des types complexes partir de types existants qu ils soient de base ou proc du raux Par exemple une liste contenant exclusivement des entiers ou des variables sera s lectionn e par le type list integer name La syntaxe d taill e des types structur s est obtenue par type structured Ces types vitent souvent l criture d une proc dure d o des tests beaucoup plus effi caces EXEMPLE 36 Pour d river une expression de type puissance par rapport une variable x en appliquant F9 aff il faut d abord v rifier que a ne d pend pas de la variable x L criture if type expr and not has op 2 expr x then est avantageusement remplac e par if type expr anything mdependent x then qui utilise le type independent que nous venons de cr er et le type anything satisfait par n importe quel objet a l exception des suites d expressions Type des sous expressions La commande hastype analogue a has teste si des sous expressions ont un type donn La commande indets effectue le m me parcours de l expression tout en collectant l ensemble des s
173. ariable appropri La primitive de Ve e 1 est l mentaire La calculer L int grale triple de l exercice 29 vaut In 2 3 In 3 Le montrer l aide d un syst me de calcul formel CHAPTER X Calcul diff rentiel E CALCUL DIFF RENTIEL est un domaine tr s vaste pour lequel le calcul formel peut rendre un grand nombre de services En particulier lors de la r solution des quations diff rentielles ordinaires un syst me de calcul formel peut venir bout des probl mes de singularit s mieux qu un syst me num rique par la recherche de solutions exactes ou sous la forme de d veloppe ments en s rie C est ce que nous montrerons en 81 En 82 nous indiquerons sur deux exemples comment un syst me de calcul formel peut traiter tr s agr ablement des probl mes li s aux propri t s diff rentielles des courbes 1 quations diff rentielles ordinaires Les quations diff rentielles ordinaires sont omnipr sentes dans les sci ences pures et appliqu es De nombreuses techniques ont t d velopp es pour en rechercher des solutions approch es par le calcul num rique mais ces m thodes se d gradent g n ralement loin des conditions initiales ou en pr sence de singularit s Bien que ne couvrant qu un champ plus restreint des m thodes formelles existent qui ne souffrent pas de ce d faut Dans cette section nous pr sentons les outils num riques et formels que propose Maple travers la
174. as une r solution explicite de la r currence Le comportement asymptotique de la suite se lit sur sa fonction g n ratrice La s rie g n ratrice d une suite u est la s rie entiere 2 u z DD Unz n gt 0 Lorsque la s rie g n ratrice a un rayon de convergence non nul ce qui est le cas ici on parle de fonction g n ratrice Pour une r currence lin aire coefficient constants cette fonction est toujours une fraction rationnelle Elle s obtient facilement en multipliant tous les termes de la r currence par z et en sommant par rapport an L quation obtenue est lin aire en la s rie g n ratrice La commande ztrans de Maple calcule u 1 z Voici par exemple pour les nombres de FIBONACCI subs u 0 0 u 1 1 ztrans u n 2 u n 1 u n n z f normal subs z 1 z solve ztrans u n n Z fis l4 z 2 La d composition en l ments simples d une fraction rationnelle sur C consiste crire la fraction rationnelle comme une somme finie de termes de la forme Qa k tOn peut aussi utiliser le package gfun 168 VII SUITES R ELLES Le n coefficient de TAYLOR de ce terme l origine vaut Ga ka Re k 1 J Le n l ment de la suite qui est aussi le n coefficient de TAYLOR de u z d apr s 2 est donc gal la somme des contributions de chacun des ter mes de la d composition en l ments simples Pour obtenir le comportement asymptotique il suffit donc de se concen
175. aucun autre syst me et est con u pour pouvoir tre utilis comme serveur de calcul de bases de GR BNER Macaulay Calculs en g om trie alg brique anneaux de polyn mes sur des corps finis Type gratuit ftp math harvard edu Version actuelle 3 0 Disponible sur machines Unix Mac et PC Auteurs Dave Bayer Department of Mathematics Barnard College New York NY 10027 USA t l 212 854 2643 dab math columbia edu et Mike Stillman Department of Mathematics Cornell University Ithaca NY 14853 USA t l 607 255 7240 email mike math cornell edu 3 SYST MES DE CAO EN AUTOMATIQUE 307 Magma Calculs sur les ensembles groupes anneaux corps alg bre lin aire et combinatoire Type commercial Version actuelle V1 Disponible sur machines Unix une version pour PC 486 Pentium est annonc e pour fin 1994 Distributeur The Secretary Computational Algebra Group School of Mathematics and Statistics University of Sydney NSW 2006 Australie fax 2 351 4534 t l 2 351 3338 email magma maths su oz au Pari GP Calculs en th orie des nombres Type gratuit Version actuelle 1 38 ftp megrez math u bordeaux fr Disponible sur machines Unix Mac et PC crit en C par Christian Batut Dominique Bernardi Henri Cohen Michel Olivier Univ de Bordeaux pari ceremab u bordeaux fr Dispose de nombreuses fonctionnalit s g n rales comme la recherche num rique des racines de polyn mes les trac s graphi
176. baser un programme sur la position d un n ud par rapport ses fr res dans un arbre dont la racine est un op rateur commutatif La seule propri t garantie c est que le coefficient rationnel d un produit lorsqu il est diff rent de 1 est la premi re op rande 2 MANIPULATION D EXPRESSIONS 47 Sous expressions Un sous arbre est l ensemble des descendants d un n ud de l arbre On appelle sous expression une partie d expression qui forme un sous arbre de l arbre repr sentant l expression Dans notre exemple x 2 3 2 sin r 3 1 x x r 3 1 x sont des sous expressions mais pas x exp 3 2 qui n est pas repr sent par un sous arbre il manque un des descendants du produit La commande has d termine si une expression appara t en sous expression d une autre L utilisation de has permet par exemple de d terminer si une expression est ind pendante d une variable EXEMPLE 26 Toujours sur la m me expression has f x has f z true false Contrairement op et nops has parcourt toute l expression en cas de r ponse n gative ce qui est co teux sur de tr s grosses expressions Pour d terminer si une des op randes est gal une expression il vaut mieux utiliser member member x 2 op f true L instruction Lop cr e une liste dont les l ments sont les op randes de f Il devient possible d y appliquer member qui teste ici l appartenance de x a cette liste
177. c est a dire sans oublier de solution lorsque la s rie comporte une partie lin aire et lorsque l autre membre de l quation est r duit une variable Par exemple le d veloppement de y x d fini par log 1 y y 1 sin x est obtenu par solve series log i1 y y y 1 sin x y 344 2r 2 3 4 37 97 Mu Si l inversion n avait pas fonctionn alors il aurait fallu aider le syst me ainsi O x series subs u sin x solve series log 1 y y 1 y u y x Lorsque la s rie ne comporte pas de terme lin aire il vaut mieux en im poser un par changement de variable et rechanger la variable apr s l inversion 2 S RIES ENTI RES ET D VELOPPEMENTS LIMIT S 201 Par exemple l quation si eit cos x 2 se r sout en posant u V1 cos x r series subs u 1 cos x x 3 1 2 solve series 1 sin y y 1 2 y u y x TE ie V6V203 O x Une des applications de cette technique est la recherche du d veloppement asymptotique des solutions de certaines quations L exemple classique est V tude de la n racine de l quation x tanx D apr s la figure 1 p 173 les courbes y tang et y x ont une intersection dans chacun des in tervalles 2n 1 7 2 2n 1 r 2 et l abscisse de cette intersection se rap proche de 2n 1 a 2 quand n cro t Donc Ln 2n 1 r 2 un tan x Pour ramener ce probl me l inversion de s
178. c du res lorsqu elles repr sentent autre chose que des nombres puisqu alors on a une perte d efficacit due a l valuation totale Troisiemement il faut viter d utiliser la proc dure le plus souvent possible il vaut mieux recourir seq Pour le reste il est important de bien comprendre la distinction entre variable et valeur mais les subtilit s de l valuation un ou plusieurs niveaux 3 APPROFONDISSEMENT DU SYST ME 59 n ont quasiment aucune incidence sur la vie quotidienne de l utilisateur de Maple EXEMPLE 45 Voici un exemple extr me f proc local x y x y y 0 x end fO y Ici le dernier x n est valu qu un niveau et la proc dure renvoie la vari able y En revanche si l on demande ensuite la valeur de y on obtient 0 EXEMPLE 46 Le cas le plus r aliste est celui des expressions dont l arbre n est pas parcouru chaque tape du calcul L exemple suivant met en vidence ce ph nom ne s 0 t proc x global s s s 1 t x end f subs x t 3 x72 1 x 1 s 1 f 1 f sin f z s normal eval f 1 s t 3 1 T normal f s t 3 1 9 chaque appel de la proc dure t le compteur s est incr ment L expression f est une fraction rationnelle en t 3 Sa cr ation exige une valuation de t lors de l valuation du premier argument de subs Ensuite chaque fois que f apparait dans une expression au niveau interactif son valuation tot
179. c est un r el La partie homog ne du second degr tv Av est une forme quadratique Sa r duction consiste trouver une base orthonorm e dans laquelle la matrice A est diagonale C est toujours possible puisque est sym trique 134 V CALCUL MATRICIEL FIGURE 2 La conique Ta ty y 2 2 3y 7 0 Si l on se place en dimension 2 x y 0 est l quation d une conique dans un rep re orthonorm Oz Oy Maple va nous permettre de visualiser ce que r duire la forme quadratique signifie pour la conique associ e La conique consid r e repr sent e fig 2 est d finie par l quation Sa Voy Syp 2x 2V3y 7 0 ce qui correspond A matrix 7 8 sqrt 3 8 sqrt 3 8 5 8 1 b vector 2 2 sqrt 3 c 7 Le polyn me tant quant lui d fini par v vector 2 Phi transpose v amp A amp v transpose b amp v c Nous allons dans un premier temps chercher une base orthonorm e dans laquelle la matrice A est diagonale Il suffit pour cela de calculer la forme de JORDAN de la matrice qui est ici diagonale et de normaliser les lignes de la matrice de changement de base jordan A P 1 0 0 1 2 P transpose stack seq map simplify normalize i i row P 1 2 z1 2 Dans cette base le polyn me devient evalm subs v evalm P amp vector x y Phi r Ky Ay 7 2 f e voir fig 3 Les termes en xy ont bien disparu et les coeffici
180. chiffres Pourtant sa d composition en facteurs premiers est vingt fois plus co teuse que la multiplication de deux entiers de 10 000 chiffres Le test de primalit de Maple comme celui de la plupart des syst mes de calcul formel est probabiliste Lorsqu il r pond false le nombre est a coup s r compos par contre lorsqu il r pond true le nombre n est que tr s probablement premier Ceci tant dit aucun contre exemple n est connu ce jour pour la version V 3 La m thode probabiliste utilis e est une combinaison du test de FERMAT si p est premier alors a a mod p pour tout entier a et du test de LUCAS dont l explication sort du cadre de ce livre Pour le test de FERMAT avec a 2 les contre exemples inf rieurs 2 000 sont 341 561 645 1 105 1 387 1 729 1 905 Un nouveau test avec a 3 ne laisse subsister que 561 1 105 et 1 729 Ces trois entiers passent le test de FERMAT avec n importe quelle base a ce sont des nombres de CARMICHAEL on sait depuis 1993 qu il en existe une infinit Par contre on ne sait pas l heure actuelle s il existe des entiers mettant en d faut la fois le test de FERMAT et celui de LUCAS Le test de primalit probabiliste est tr s rapide Il existe aussi des tests de primalit garantis qui sont plus lents mais ils ne sont pas disponibles en Maple La factorisation d entiers est une op ration beaucoup plus co teuse Sur les ordinateurs actuels des
181. contraires l intuition 2 1 R gles du jeu et probl mes Le probl me de la ruine se pr sente sous la forme d un jeu chaque tape une pi ce est lanc e Si pile sort le premier joueur re oit un franc de son adversaire sinon il lui donne un franc Pour rendre le mod le plus g n ral on consid re une pi ce imparfaite donnant pile avec probabilit p on note nouveau q 1 p Le jeu dure n tapes Dans un premier temps la fortune des deux joueurs est suppos e illimit e Il s agit de r pondre aux questions suivantes 1 au bout de combien d tapes les deux joueurs reviennent ils galit pour la premi re fois 2 quelle est l esp rance de gain de chacun des joueurs 3 combien de fois les joueurs sont ils galit au cours de la partie 4 au bout de combien d tapes les deux joueurs reviennent ils galit pour la derni re fois 5 en supposant la fortune d un joueur limit e k quelle est la prob abilit qu il ait tout perdu en n tapes Combien d tapes dure en moyenne la partie Une repr sentation graphique d volution du gain du premier joueur est don n e en figure 3 p 266 C est une marche al atoire d un point partant de l origine dont l abscisse augmente d une unit chaque tape et dont l ordon n e augmente d une unit lorsque pile sort et d cro t d une unit sinon Les deux joueurs sont galit lorsque le point retourne s
182. couleur caract risant y Si f est V expression de la fonction tracer on fait comme suit plot Re f x a b y c d color Im f Pour visualiser le module de z en fonction de x et y la couleur repr sentant Vargument de z on remplace Re f par abs f et Im f par argument f fig 25 3 5 Animation L animation permet galement de visualiser une quatrieme dimension de nature plut t temporelle Elle consiste en l affichage s quentiel de plusieurs trac s EXEMPLE 5 L instruction animate t 4 r sin t 4 1 r cos t 4 r 0 1 t 1 100 visualise la trajectoire d un rayon de bicyclette 90 III COURBES ET SURFACES g subs z x I y 1 1 z73 log 1 1 z 2 plot3d abs g x 2 2 y 2 2 view 0 8 color argument g grid 50 50 FIGURE 25 Repr sentation du module d une fonction analy tique avec argument en couleur ici en niveaux de gris Le trac ne s exprime pas n cessairement par une fonction L affichage s obtient alors par les commandes display et display3d avec une liste de trac s graphiques et l option insequence true La suite d instructions ci dessous montre l volution d un groupe de dix particules partant d un m me point et se d pla ant al atoirement au nord au sud l est ou l ouest jusqu une centaine de d placements N 10 T 100 x array 1 N 0 T y array 1 N 0 T for i to N do x i 0 0 yli 0 0 od die rand 1 4 dx
183. crivons surtout les calculs de sommes exactes c est dire les cas o il est possible de donner une formule pour Sp o k n intervient plus Nous reviendrons sur d autres aspects des sommes dans le chapitre suivant sur les s ries Quant au produit on peut le ramener une somme en prenant le loga rithme tout en faisant attention aux signes 3 1 Sommes g om triques Les sommes g om triques sont les sommes b i 5 i de la forme _ x Maple sait les reconna tre et les valuer sum x7i i a b ei got x 1 x 1 Ces sommes sont tr s importantes en pratique En particulier elles inter viennent naturellement dans les calculs d int r ts compos s Nous d taillons en exercice quelques questions que l on peut se poser sur le plan pargne logement 3 2 Suites hyperg om triques et sommes ind finies Les suites hy perg om triques sont une g n ralisation des suites g om triques dans une suite g om trique le quotient Un 1 Un est une constante ind pendante de n alors que dans une suite hyperg om trique ce quotient est une fraction ra tionnelle en n Des exemples de suites hyperg om triques sont la factorielle ou les coefficients binomiaux 180 VII SUITES R ELLES Cette notion est importante pour le calcul de sommes ind finies qui sont aux sommes ce que les primitives sont aux int grales Autrement dit la suite Sn est une somme ind finie de la suite un lorsque Sn
184. cteurs et de matrices est li e la r gle d valuation de ces objets voir I1 3 1 En particulier il faut parfois faire explicitement appel a op ou eval pour acc der a leur contenu EXEMPLE 4 a matrix b 2 3 4 a print a 1 MATRICES ET VECTEURS 119 b 2 3 4 subs b 1 a subs b 1 op a 1 2 a 3 4 transpose a transpose op a b 3 b 3 2 Al 2 4 1 2 Manipulation des matrices Dans tous les syst mes de calcul formel il existe une panoplie de fonctions pour r aliser les op rations matricielles de base En Maple les principales fonctions de manipulation c est dire qui effectuent pas de calcul propos es par le package linalg sont r sum es au tableau 2 TABLE 2 Principales manipulations de matrices Fonction Commande Transposition transpose Cr ation d une matrice bloc diagonale diag Cr ation d une matrice bande band Cr ation d une matrice compagnon companion Extraction d une sous matrice submatrix Extraction de colonnes col Extraction de lignes row Adjonction de colonnes augment Adjonction de lignes stack Suppression de colonnes delcols Suppression de lignes delrows Les fonctions map et zip qui s appliquent d autres objets que les ma trices et les vecteurs peuvent galement s av rer utiles EXEMPLE 5 La commande map applique une fonction aux l ments d un vecteur ou d une matrice m matrix 2 2 i j gt x i j a r MT 38
185. cteurs repr sentant l tat la sortie et la commande du syst me X repr sente la d riv e de X par rapport au temps Lorsque f et g ne sont pas lin aires il est souvent utile d obtenir le systeme correspondant lin aris autour d un point de fonctionnement Xo Up X AX BU Y CX DU o B C et D sont les matrices jacobiennes de f et g par rapport X et U en Xo Uo La matrice jacobienne du vecteur f1 X fm X par rapport X1 Xn est la matrice dont l l ment i j est Of 0X Pour fixer les id es voici les calculs mis en jeu pour le syst me consistant en un pendule invers sur un chariot mobile fig 1 p 131 Les quations du pendule sont les suivantes T1 T2 Lo uy Mu sin x3 r cos x3 D4 mp me Yi Ti 3 T4 Y2 T3 ta D avec Da 5 sin xs cos ts gmri gaz Sin ws mog dm cos x3 u1 Im ms M Me II d 4 3 qm cos x3 2 ALG BRE LIN AIRE 131 FIGURE 1 Le pendule invers sur un chariot mobile ou 1 2 3 et x4 correspondent respectivement la position du chariot sa vitesse l angle 0 du pendule avec la verticale et sa vitesse angulaire Mp et Me sont respectivement les masses du pendule et du chariot et l est la longueur du pendule La commande wu repr sente la force avec laquelle le chariot est pouss ou tir Le calcul en Maple donne x vector 4 u vector 1 qm mb mb mc c3 cos x 3
186. de TAYLOR n gatifs c est la sec onde qui nous int resse A 2 Les arches descendantes v rifiant la m me quation elles ont la m me fonction g n ratrice La probabilit que le premier retour ait lieu l abscisse 2n est le coefficient de 2 dans 2A z et la probabilit de retour est la somme de ces coefficients c est dire 2A 1 2 subs z 1 A 1 1 4pq Le seul cas o le retour est certain est par cons quent p q 1 2 En cas de retour l esp rance de l abscisse du premier retour vaut 2 subs z 1 diff A z pq Ye e V1 4pq Lorsque p 1 2 le retour n est donc pas certain mais lorsqu il se produit sa position a une esp rance finie alors que lorsque p 1 2 le retour est certain mais sa position a une esp rance infinie La variance s obtient de la m me mani re Apr s qu une arche a t parcourue la situation est revenue au point de d part et la suite est ind pendante de ce qui s est pass pendant la premi re 2 MARCHES AL ATOIRES ET PROBL MES DE RUINE 267 arche La fonction g n ratrice du k retour l origine vaut donc 2 A z et dans la fonction g n ratrice 1 1 2A z le coefficient de z est la probabilit qu un retour ait lieu l abscisse n B z 2 3 Gain Apr s avoir parcouru un certain nombre d arches le point d col le et quitte l axe des abscisses pour ne plus y revenir S il part
187. de calculer le noyau de la matrice ayant ces vecteurs pour colonnes Sachant que les trois vecteurs vi vector 86 30 80 72 v2 vector 66 29 91 53 v3 vector 103 18 7 93 print vi v2 v3 86 66 103 30 29 18 80 91 7 72 53 93 sont li s la relation de liaison s obtient par kernel augment v1 v2 v3 7 6 1 1 3 Autrement dit Tui 6v2 2v3 0 Dans le cas g n ral cette m thode fournit une base des relations de liaison 2 2 2 D terminant Un syst me de calcul formel peut calculer le d terminant de matrices symboliques jusqu l ordre vingt environ et de matrices num riques jusqu l ordre cent EXEMPLE 11 Pour le calcul de d terminants de matrices dont la dimen sion est variable le calcul formel ne peut servir qu faire des exp riences Pour calculer les d terminants de matrices tridiagonales de la forme 1 2 r 0 0 T 1 x 2 0 0 r 1 2 0 0 2 1 x nous d finissons une proc dure qui produit la matrice d ordre n et nous cal culons le d terminant pour diverses valeurs de n genm n gt band x 1 x 2 x n det genm 9 det genm 10 124 V CALCUL MATRICIEL 1g gg a ag eg pote mie este 8 2 14 16 18 L Hrt x p r8 at p at get gO arts a Les valeurs pour n 9 et n 10 nous permettent de deviner la formule De x Pour prouver cette formule il suffit de d velopper le d terminant par rapport l
188. de cette approche est non seulement d viter la manipulation fastidieuse de fichiers mais aussi de permettre d crire des codes g n riques dont les entr es sont des expressions symboliques On peut par exemple crire une fonction Maple qui partir d un syst me non lin aire de n quations a n inconnues produit automatiquement le code Fortran ou C r alisant la r solution de ce syst me selon la m thode de NEWTON g n ralis e Une autre fa on de r soudre ce probl me de lien entre num rique et formel est d appeler partir du syst me de calcul formel des biblioth ques num riques existantes C est le cas par exemple du syst me IRENA qui 294 XII CALCUL FORMEL ET CALCUL NUMERIQUI fonctionne l int rieur du syst me de calcul formel Reduce et qui permet d appeler les sous programmes Fortran de la biblioth que NAG sans sortir de Reduce 2 4 Lien avec les biblioth ques num riques Un syst me de CAO en automatique en anglais CACSD package Computer Aided Control System Design est un logiciel qui g re une grande biblioth que de programmes Fortran et C pour le calcul num rique matriciel l int gration des syst mes d quations diff rentielles la commande et l optimisation des syst mes et le traitement du signal Il dispose d un interpr teur permettant d crire des programmes appel s macros et tracer des courbes Le plus connu de ces syst mes est le logiciel Matlab Cito
189. de l quation lorsque Un est un polyn me en n de degr a Le degr maximal est a 1 Le coefficient de n est 0 Ensuite le coefficient de n vaut 2a 6 et doit tre nul Le degr vaut donc a 3 Maple peut conclure la r solution par une m thode de coefficients ind termin s rec n u n 2 5 u n 1 n 1 u n pol n gt a3 n 3 a2 n 2 alxn a0 collect eval subs u pol rec n 3as 2a2 n 4a Taz 602 n 600 5a1 5a3 50 factor subs solve coeffs n a0 ai a2 a3 pol n a n 2n 1 n 1 Une fois trouv e une solution une seconde solution ind pendante s obtient par variation de la constante Nous verrons comment mener bien ce calcul en exercice 7 On peut galement calculer les solutions rationnelles Maple n a pas de proc dure pour cela mais nous allons montrer comment proc der sur la r currence suivante 4 n n 3 n 3n4 3 tnse 5 n 2 n n lung n 1 n n lun 0 170 VII SUITES R ELLES La premi re tape consiste localiser les p les de la fonction u ou de mani re quivalente il s agit de d terminer le d nominateur D de u Si a est une racine de D alors a 1 est un p le de u n 1 et a p est un p le de u n p Le terme droit de l quation 4 tant le polyn me nul le terme gauche ne peut avoir de p le En cons quence sauf si des racines de D diff rent d un entier le coefficient a n de
190. de la courbe peut tre facilement r alis l aide d un syst me de calcul formel Les principales op rations Maple qui s appliquent une fonction sont r sum es au tableau 6 p 25 2 8 4 quations Un leitmotiv de ce livre est la manipulation d objets d finis par des quations sans passer par la r solution de celles ci Ainsi une fonction d finie par une quation diff rentielle lin aire et des conditions initiales est parfaitement pr cis e L ensemble des solutions d qua tions diff rentielles lin aires est clos par addition et produit entre autres et forme ainsi une importante classe o l on peut d cider de la nullit En revanche si l on r sout une telle quation la solution priv e de son quation de d finition tombe dans une classe plus grande ot bien peu est d cidable Les chapitres de la seconde partie reviendront plus en d tail sur ces consid rations Cependant dans certains cas surtout en utilisation interactive il est utile de chercher une solution explicite par exemple pour passer une application num rique Les principales fonctions de r solution sont r sum es au tableau 4 TABLE 4 R solution d quations Commande Usage fsolve solutions flottantes isolve solutions enti res msolve solutions modulaires linsolve solutions d quations lin aires dsolve solutions d quations diff rentielles rsolve solutions de r currences solve r solveur symboliqu
191. de la r currence uy11 sin un du chapitre VII pour en tudier la vitesse de convergence La m thode que nous allons employer s applique toutes les suites convergeant vers 0 d finies par un 1 f un la fonction f ayant un d veloppement en s rie de la forme f x 1 gt aiz lorsque x 0 En notant p le plus 210 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES petit indice tel que a 0 l id e est de regarder la suite vn 1 u En substituant dans la r currence on obtient 8 Un4 1 Un Pap O un Comme un tend vers 0 et par hypoth se a 0 partir d un certain indice la suite Un41 Un est de signe constant et Un41 Un gt pla 2 Donc pour n suffisamment grand v gt plap n 4 et par cons quent un O n En suite il s agit de raffiner l estimation v pa n en sommant 8 Pour cela il faut prendre suffisamment de termes dans le d veloppement 8 afin d avoir un reste tendant vers 0 dans l estimation de vn Ce r sultat est atteint lorsque le reste est en O u La somme des uk pour k gt p converge alors vers une constante qui d pend de ug alors que tout le reste du d veloppement n en d pendait pas Ce proc d se poursuit ensuite formellement sans conna tre uo Dans notre exemple p 2 et a 1 6 Le calcul se d roule ainsi d series 1 sin x 2 1 x 2 x 7 A x d 1 3 15 O z Ici d correspond v 1 Vn Une premi re approximation s en d d
192. de la r ponse aux questions 1 2 3 et 5 est l observation suivante Si Un lt Upn 1 alors Un 1 lt Un Autrement dit soit la suite est croissante soit elle commence par cro tre puis ne peut que d cro tre Comme par ailleurs elle reste positive elle est alors convergente Les courbes de la partie inf rieure de la figure sont obtenues en recherchant les paliers qui sont solutions de uy 1 Un Pour n lt 2 les deux courbes y exp x n 1 et y x n ont pas d intersection il ne peut donc se produire de palier Ensuite les deux courbes ont deux intersections l une gauche et l autre 2 RECURRENCES D ORDRE UN 177 droite de 1 mais il est impossible que un lt 1 pour n gt 2 ce qui d termine la solution qui nous int resse La fonction W de Maple d finie par W x exp W x x permet de donner une forme explicite l ordonn e du n palier a Il faut faire attention ce que la bonne solution soit choisie Comme la racine carr e ou le logarithme la fonction W a plusieurs branches Une v rification num rique convainc que la solution renvoy e par solve n est pas la bonne pour ce probleme evalf subs n 2 solve exp z nt1 z z 0 6190612866 On v rifiera que la bonne racine est en fait W 1 1 n 1 La courbe obtenue en tra ant cette fonction pour n r el entre 0 et 40 passe par les points de d part des paliers horizontaux de la figure 4 Ens
193. de r solution qui reposent sur des algorithmes 1 OP RATIONS DE BASE ET POLYN MES EN UNE VARIABLE 141 sp cialis s Dans ce tableau sont marqu es d une toile les op rations pour lesquelles on ne sp cifie pas de variable privil gi e ces op rations traitent toutes les variables sur le m me plan Nous allons maintenant reprendre un peu plus en d tail les trois cat gories de ce tableau Notre but n est pas de pr senter la syntaxe de chacune de ces commandes pour laquelle nous renvoyons le lecteur l aide en ligne help mais de pr ciser ou illustrer leur utilisation 1 1 Op rations purement syntaxiques Ces commandes ne font que parcourir l expression pour en extraire l information cherch e Comme elles n effectuent absolument aucun calcul il faut que les polyn mes soient d velop p s par rapport la variable d int r t et que 0 ne soit pas cach dans un des coefficients utilis s EXEMPLE 1 Il ne faut donc pas faire degree x 1 x x 2 x degree exp a exp a 1 xx 1 x qui renvoie les r sultats faux 2 1 Fi Pour viter la situation du premier calcul on utilisera syst matiquement la commande collect avant de calculer le degr ou la valuation Quant au second r sultat il provient de ce que deux expressions transcendantes exp a et exp a mais alg briquement d pendantes sont simultan ment pr sentes dans l expression ce qu il faut corriger d s d tection par exem
194. des de production de code 1 l valuation d une expression l utilisateur ins re ces expressions dans un programme qu il crit lui m me 2 la production de programmes le syst me de calcul formel produit un programme complet pr t tre compil partir d une descrip tion sous forme de macro instructions fournie par l utilisateur Avant d illustrer ces deux modes de production de code nous montrons l utilisation depuis un syst me de calcul formel de petits programmes num ri ques que l utilisateur a lui m me crits 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 285 2 1 Utilisation de sous programmes en C ou Fortran Lorsqu une petite boucle num rique utilise la majeure partie du temps total de calcul il peut s av rer fructueux d crire cette boucle dans un langage compil tel que C ou Fortran et de lier le sous programme ainsi r alis au syst me de calcul formel La technique la plus efficace de transmission de donn es entre le syst me de calcul formel et le langage num rique consiste utiliser la m me repr senta tion interne des donn es Ceci n est possible que si le syst me de calcul formel est assez ouvert Dans sa version de base Maple ne permet pas une telle communication et nous n en parlerons pas plus ici La technique la plus employ e est de communiquer sous un format in term diaire que le syst me de calcul formel et le langage num rique savent lire et crire
195. des deux polyn mes lorsque a 0 EXEMPLE 9 Si a est racine d un polyn me P x et B est racine d un polyn me Q x on peut obtenir un polyn me qui s annule en a B par resultant P subs x y x Q x EXEMPLE 10 Les deux courbes d finies par x y 4a y 0 et y L1 zx 1 x 0 sont trac es en figure 1 p 145 Le dessin montre que les courbes ont quatre points d intersection La d termination pr cise des coordonn es de ces points s obtient en utilisant les r sultants qui fournissent les quations aux abscisses et aux ordonn es des points d intersection f x 2 y 2 3 4 x 2 y 2 g y72 1 x 1 x 73 resultant f g y resultant f g x 602 4x7 1 9x 95a 35a 16424 152x 16y 6032y 1624y 419248 815y 301y 9y 1 Le premier polyn me est un carr alors que le second est bicarr Cela s explique par la sym trie de la figure par rapport l axe des abscisses On note galement que les degr s sont plus grands que le nombre de racines at tendu En les valeurs de x ou de y racines de ces r sultants ni f ni g ni leurs coefficients de t te ne s annulent Les racines des r sultants qui ne sont pas des coordonn es des points d intersections de la figure 1 correspondent donc d autres intersections de ces deux courbes non plus dans R mais dans C Nous reviendrons sur cet exemple p 148 146 VI POLYN MES ET FRACTIONS RAT
196. des valeurs de z Parmi celles ci aucune n est r elle ce que l on peut montrer l aide des suites de STURM Comme dans le cas des polyn mes une variable la r solution explicite n est souvent utile qu en derni re phase d un calcul car beaucoup d informa tions peuvent s obtenir plus facilement partir du syst me lui m me qu partir de l ensemble de solutions 154 VI POLYN MES ET FRACTIONS RATIONNELLES 2 1 3 Forme normale des polyn mes De m me que la division euclidienne fournit une forme normale pour les polyn mes et les fractions rationnelles en des nombres alg briques on obtient gr ce aux bases de GR BNER une forme normale pour les polyn mes en des racines d un syst me de polyn mes Cela permet de prouver des th or mes de nature g om trique de la forme on construit un point ayant telle et telle propri t alors il a galement telle autre propri t Deux fa ons de proc der existent en Maple soit on calcule d abord une base et on applique la commande normalf du package grobner qui r duit le polyn me par rapport cette base soit on utilise la commande simplify en lui donnant en dernier argument l ensemble de polyn mes EXEMPLE 22 Il n est pas vident a priori que l on puisse d duire le polyn me 2 gy 2ry 2y ve 2y yz 227 y z 1 du syst me x2y 2y 24 1 xy z Voici comment on peut prouver que c est le cas
197. dic evalp matrices evalm fractions rationnelles normal d veloppements limit s series nombres alg briques evala racines carr es rationalize nombres complexes evalc fonction f simplify f 18 I PRISE EN MAIN DU SYST ME 2 1 2 Rationnels La propri t de forme normale s tend aux nombres rationnels Non seule ment les additions multiplications et quotients sont imm diatement ex cut s mais en plus les fractions rationnelles sont toutes r duites EXEMPLE 3 Dans cet exemple les factorielles sont d abord valu es puis le rationnel obtenu est simplifi 991 100 1 50 1 100 2 1 3 Flottants Les r gles de simplification automatique sont moins syst matiques pour les nombres approch s num riquement appel s aussi nombres en virgule flot tante ou plus simplement flottants Lorsqu ils interviennent dans une somme un produit ou un quotient faisant intervenir par ailleurs des rationnels ils sont contagieux c est a dire que toute l expression devient un nombre flottant EXEMPLE 4 72 53 5 3 2 7 3 141509435 Pour les autres expressions la fonction de base pour ces calculs est evalf qui value num riquement une expression tous les nombres sont transform s en flottants Un argument optionnel permet de pr ciser le nombre de chiffres significatifs utilis s lors du calcul EXEMPLE 5 Voici m avec 50 chiffres significatifs evalf Pi 50 3 14159265358979323846264338327950288
198. dimentaire pas d acc s aux structures de donn es factorisation des polyn mes faible Macsyma Type commercial Version actuelle 419 0 sous Unix et 2 0 sur PC Disponible sur machines Unix et PC PC Macsyma Distributeur Macsyma Inc 20 Academy Street Suite 201 Arlington MA 02174 6436 USA t l 617 646 4550 fax 617 646 3161 email info macsyma com Il ex iste de nombreux syst mes d riv s Maxima Aljabr Vaxima Paramacs Le syst me qui compte le plus d gt hommes ann es de d veloppement dot de nom breux modules sp cialis s qui n existent pas encore dans les autres syst mes Syst me un peu vieillissant 306 C INDEX DES SYST MES ACTUELS Maple Type commercial Version actuelle V 3 Disponible sur machines Unix Mac et PC Distributeur Waterloo Maple Software 450 Phillip Street Waterloo Ontario N2L 5J2 Canada t l 519 747 2373 fax 519 747 5284 email info maplesoft on ca Facilit de mise en uvre rapidit et acc s aux sources des biblioth ques Mathematica Type commercial Version actuelle 2 2 Disponible sur machines Unix Mac et PC Distributeur Wolfram Research Inc 100 Trade Center Drive Champaign IL 61820 USA email info wri com fax 217 398 0747 Possibilit d utiliser des sous programmes en C ou Fortran via le logiciel MathLink Programmation par r gles de r criture mais peu efficace Un peu trop bo te noire MuPAD Type gratuit pour les tablissement
199. dit puis on se positionne l endroit voulu du worksheet et on l ins re avec l option Paste 1 TRAC S EN DEUX DIMENSIONS 79 40 50 10 5 o se 20 A 0p Mgt se 10 50 20 100 40 150 plot x 4 2 x 2 x72 x73 plot x 4 2 x 2 x 2 x73 x 5 x 10 10 10 y 50 50 discont true FIGURE 3 FIGURE 4 Dans la plupart des cas la commande de trac plot appel e directe ment donne un r sultat satisfaisant Cependant il est utile d apprendre a reconna tre les mauvais trac s et de savoir alors comment aider le syst me EXEMPLE 1 Consid rons la fonction f x x 2 x 2x x Si l on ex cute plot x 4 2 x 2 x 2 x73 x 10 10 on obtient le trac de la figure 3 Au vu de ce trac on pourrait croire que la fonction f est continue et born e entre 150 et 100 alors qu elle a en fait trois p les en 1 1 et 2 D autre part on distingue mal le comportement au voisinage de 0 Pour parer ces probl mes il faut limiter l intervalle de variation des abscisses celui qui nous int resse par exemple 5 10 limiter l intervalle de variation des ordonn es par exemple 50 50 et indiquer la commande plot par l option discont true de chercher les discontinuit s de la fonction On obtient alors le trac de la figure 4 Fonctions variation rapide Lorsque l on trace une fonction variation rapide par exemple une fonction oscillante comme si
200. e sinh pl T I sinh pl 282 XII CALCUL FORMEL ET CALCUL NUM RIQUI 40 20 0 1000 2000 3090 4000 5000 6000 FIGURE 2 Courbes du hauban pour diverses valeurs de F Dans un premier temps nous allons tudier la fonction y x en fonction de la force F Les autres param tres sont donn s l 6 000 c 1 2 p 1 62 x 1072 q 0 283 T 98 100 M 2 10 et Mz 10 Une premi re tape consiste tracer la forme du hauban c est dire la courbe y x pour diverses valeurs de F par exemple pour F variant de 0 10 000 par pas de 500 La session Maple ci dessous permet de tracer les 21 courbes reproduites dans la figure 2 y F F sinh p c sinh p x T p sinh p 1 F c x T 1 y F y F subs x 1 x c 1 c y F y q q cosh p x p 1 2 cosh p 1 2 1 T p ptq x 1 x 2XT y M M 41 T 1 x 1 sinh p 1 x sinh p 1 M 2 T x 1 sinh p x sinh p 1 y y F 1 y q y M y F 2 y q y M data c 1 2 1 6E3 T 98100 p 1 62E 2 q 283 M 1 2E6 M 2 1F6 v subs data y p1 plot map subs seq F 500 i i 0 20 v 1 x 0 3000 p2 plot map subs seq F 500 i i 0 20 v 2 x 3000 6000 plots display p1 p2 Le but final est de calculer la longueur du hauban qui est donn e par la formule pe Vi uar V1 yh dx 0 c o y et y repr sentent respectivement les d riv es de y fl che gauche de
201. e manipuler des matrices coef ficients symboliques tracer des graphiques en deux ou trois dimensions Ces syst mes voluent sans cesse au rythme d une nouvelle version tous les ans environ Il existe aussi des logiciels sp cialis s pour certains calculs symboliques Ces logiciels ne fournissent pas tous les outils que propose un syst me g n ral mais ils disposent de fonctionnalit s sp cifiques un domaine qu ils sont souvent les seuls offrir En outre dans leur domaine ces logiciels sont g n ralement plus efficaces que les logiciels g n raux C est le cas de Pari et Kant en th orie des nombres de Cayley devenu Magma et Gap en th orie des groupes de Macaulay pour les manipulations d id aux de Gb pour les calculs de bases de GR BNER INTRODUCTION 3 Note sur les exemples Nous avons choisi Maple pour illustrer ce livre car parmi les syst mes actuels il nous semble tre le seul tre la fois d acc s facile tr s diffus aussi bien par le nombre d utilisateurs que par la diversit des machines le supportant disposant d une biblioth que suffisamment riche et ouverte on peut lire les sources de la plupart des fonctions et ais ment extensible Pour faire ressortir les commandes donn es Maple dans les exemples celles ci sont affich es dans une police de caract res sp ciale En revanche les r sultats renvoy s sont affich s sensiblement comme Maple le fait lui m me sum 1 n
202. e a une primitive l mentaire ou non En pratique l implantation de Maple est compl te pour les extensions purement transcendantes c est dire celles o aucune fonction alg brique n intervient Dans ce cas l chec du syst me prouve l inexistence d une prim itive l mentaire Dans le cas des extensions alg briques l implantation est encore incompl te certaines primitives sont trouv es par le syst me mais il choue parfois alors qu une primitive l mentaire existe EXEMPLE 6 Voici un exemple de fonction purement transcendante ad mettant une primitive l mentaire Le syst me la trouve sans peine exp x73 1 3 x73 1 x72 e 1 3x3 2 1 2 x int f x e 2 1 x EXEMPLE 7 Voici une autre fonction purement transcendante int 1 1n x73 1 x 1 lea a Ce r sultat non valu prouve que 1 In x 1 n a pas de primitive l mentaire EXEMPLE 8 Le cas de l int gration d une fonction l mentaire alg brique est plus difficile Nous avons d j mentionn que Maple ne peut int grer toutes les fonctions alg briques En outre le programme n cessite parfois l emploi de la notation RootOf La commande alias simplifie les expressions f x72 1 7 1 3 x int f x 3 1 3 1 poe ae dx x alias alpha RootOf z 3 x 2 1 z convert f RootOf 8 12H fis 224 IX INT GRALES ET PRIMITIVES int f x 3 3 gt a 5 m 48 1 55 9 1 9 12x 2722 1
203. e ces propri t s Il faut enfin noter que pour des raisons discutables d efficacit les tests internes sont faits par isgiven et non par is Cela force parfois l utilisateur fournir des information redondantes EXEMPLE 15 Le polyn me z 1 est n gatif dans l intervalle 1 1 mais la d duction n est pas imm diate f signum z 2 1 assume z lt 1 z gt 1 f signum z 1 is z72 lt 1 true additionally z 2 lt 1 f 1 2 5 Objets compos s Nous avons d j utilis des ensembles et des suites d expressions dans le 81 Maple g re aussi des listes Le tableau 9 d crit les caract ristiques et diff rences de ces objets Un dernier type d objet compos est la table mais l utilisation un peu d licate des tables en Maple repousse leur tude au chapitre II 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 29 TABLE 9 Listes ensembles et suites d expressions Objet Caract ristiques liste type list syntaxe a b c ordonn a b c b a c l ments r p t s a a c gt a a c plusieurs niveaux 1 b c a 1 d a b c d liste vide ensemble type set syntaxe a b c non ordonn a b c b a c pas d l ments r p t s a a c a c plusieurs niveaux 1 b c a l d a b c d ensemble vide suite type exprseq d expressions syntaxe a b c ordonn a b c b a c l ments r p t s a a c gt a a c un seul niveau 1 b
204. e d op randes du r sultat En revanche dans le cas o les objets sont num riques la commande seq construit une liste parfois beaucoup plus grosse que la taille du r sultat Il faut donc choisir le type d it ration en fonction du type de f EXEMPLE 12 L exemple 4 est plus rapide que l it ration par seq convert seq 2 k 1 k 1 1000 En revanche le calcul suivant s 0 for n to 400 do s stexp n x od est quatre fois plus lent que sa version utilisant seq s convert seq exp x n n 1 400 Commande La commande produit efficacement deux types de s quences particuli res la r p tition d une expression et la succession d entiers Dans le premier cas la syntaxe x i o i est un entier produit i copies de x Dans le second cas la syntaxe est simplement a b o a et b sont des entiers ce qui produit la suite d expressions compos e des entiers de a a b EXEMPLE 13 Un emploi fr quent de la commande est le calcul de d riv es La proc dure diff prend en effet comme premier argument la fonc tion et les arguments suivants sont les variables par rapport auxquelles il faut 1 PRIMITIVES DU LANGAGE DE PROGRAMMATION 39 calculer la d riv e Pour calculer une d riv e n la commande est abr g e par l utilisation de f exp x 2 diff f x 5 120e 1602 e 321067 Ce qui n est qu une abr viation en utilisation interactive devient crucial dans l criture d op
205. e de qr fournit une approximation p q diff rant d au plus 1 2q de r Si le choix de q est libre il existe des paires d entiers p q pour lesquelles l approximation est bien meilleure r p q lt 1 q Le d veloppement en fraction continue de r donne une suite de telles approximations Ce d veloppement s crit 1 r ao ay ag 1 az 100 IV ARITHM TIQUE ET COMBINATOIRE Dans ce d veloppement ag est la partie enti re de r puis a est la partie enti re de 1 r ao Les approximations rationnelles sont les r duites du d veloppement qui s obtiennent en normalisant les r sultats interm diaires 1 1 ao aot at ge ay 1 ay a2 Dans cette suite les d nominateurs q sont croissants Cette suite est finie lorsque r est rationnel et infinie sinon La suite des a est p riodique si et seulement si r est alg brique de degr 2 racine d un polyn me du second degr coefficients entiers EXEMPLE 7 En Maple le d veloppement en fraction continue de r est donn par la commande convert r confrac Cette commande renvoie la liste des quotients partiels les a et met la liste des r duites dans un troisi me argument optionnel convert evalf Pi 11 confrac 22 333 355 103993 101318 208341 312689 1459097 7 7 106 113 33102 33215 66317 99532 464445 Il est noter que la derni re r duite donn e par Maple ne doit pas tre prise en compte elle e
206. e des nombres tricolores plus rapide consid rer les deux derniers chiffres des nombres V rifier que le programme obtenu est environ deux fois plus rapide que le premier 9 Trouver les seize premiers nombres tricolores 2 Combinatoire La combinatoire s int resse l tude d objets de taille finie Ces objets sont g n ralement d finis par un certain nombre de r gles de construction L tude du nombre d objets de taille donn e ou de la valeur moyenne d un param tre de ces objets peut tre grandement assist e par le calcul formel dans plusieurs directions D abord l arithm tique en pr cision arbitraire fa cilite l exp rimentation Ensuite le syst me conna t quelques objets de base de la combinatoire permutations partitions compositions dans son package combinat que nous n aborderons pas ici Enfin les capacit s des syst mes manipuler formellement des fonctions et s ries peuvent tre mises contri bution par le biais de s ries g n ratrices C est sur cette approche que nous insisterons davantage 2 1 Approche empirique L exemple des d num rants permet de com parer l approche empirique et l utilisation de s ries g n ratrices Le probl me est de compter le nombre d de fa ons de totaliser n francs avec des pi ces de 1 2 5 10 et 20 francs Le nombre no de pi ces de 20 francs peut varier de 0 la partie enti re de n 20 not e n 20 Une fois ce nombre fix il reste
207. e est l criture d un ensemble de proc dures for mant une application particuli re Il y a dans tous les cas une philosophie g n rale de programmation qu il faut conserver et que nous allons d tailler maintenant Ajout d une fonctionnalit Le petit programme de d rivation ci dessous illus tre une partie des points que nous avons pr sent s jusqu ici Cette proc dure 3 APPROFONDISSEMENT DU SYST ME 69 prend deux arguments l expression d river et la variable par rapport laquelle on d rive derive proc f x local s i if not has f x then 0 expressions ind pendantes de x elif f x then 1 x lui m me elif type f 8 then map derive f x gt fil 52 fi elif type f 8 then le produit est n aire et IT AT UA Ibe Fi convert seq subsop i derive op i f x f i 1 nops f 8 elif type f then if not has op 2 f x then F Sap fo op 2 f derive op 1 f x op 1 f op 2 f 1 else derive exp op 2 f In op 1 f x f exp gln f fi elif type f function then if op 0 f exp then f derive op f x ef f ef elif op 0 f In then derive op f x op f AI f f else ERROR Derivee non programmee on abandonne fi else ERROR arguments invalides f x fi end Ainsi nous avons ajout la fonctionnalit derive au syst me Ce pro gramme est simple mais n est pas tr s extensible pour introduire une r gle de d rivation pour u
208. e g n ral 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 25 TABLE 5 Simplifications des fonctions l mentaires Commande R sultat expand combine trig combine exp combine 1n simplify trig simplify exp simplify 1n ou expand simplify power simplify power symbolic ou combine power convert exp convert trig convert 1n sin a b sin a cos b cos a sin b cos a b cos a cos b sin a sin b idem pour les fonctions hyperboliques b ert ete cos a cos b cos a b 2 cos a b 2 cos a sin b sin a b 2 sin a b 2 sin a sin b cos a b 2 cos a b 2 idem pour les fonctions hyperboliques ete Es eatb e2 is ea ertnind D bre o n est entier nlnb In b o n est entier Ina Inb In ab sin x cos x 1 cosh a sinh x 1 cosh z e e 2 e gt cos x isin x e cosh x sinh x arccos z iln a iV1 x arctanh x In 1 x In 1 x 2 TABLE 6 Principales op rations sur les fonctions Expression R sultat f la fonction elle m me diff f x d riv e par rapport x int f x primitive par rapport x eval subs x a f limit f x a series f x a asympt f x plot f x a b f a limite de f x lorsque x a d veloppement limit en x a d veloppement asymptotique lorsq
209. e inverse eq sin t 1 int exp x f t x x 0 t eq sin t 1 if e f t x dx 0 laplace eq t s 1 _ 1 laplace f t s LES s s 1 solve laplace f t t s 1 1 1 1 s GEN sol invlaplace s t sol Dirac t 1 cos t sin t V rifions la coh rence du r sultat subs f t x subs t t x 801 eq sin t 1 f e Dirac t x 1 cos t x sin t x dx 0 2 INT GRALES D FINIES 235 assume t gt 0 simplify Dirac sin t sin t7 Il est noter que Maple ne sait pas calculer 4 t x f x dx 0 pour une fonction f x quelconque tant que l on n a pas sp cifi que t est positif Une utilisation marginale de la transform e de LAPLACE est le calcul de certaines int grales contenant des fonctions sp ciales Comme dans l exemple ci dessus il suffit de calculer la transform e de LAPLACE de l int grale puis la transform e inverse EXEMPLE 24 L int grale calculer est hle 2h 2 de ou J est la fonction J de BESSEL d indice 1 f BesselJ 0 x x xBesselJ 1 x f BesselJ 0 x x BesselJ 1 x int f x 0 t f BesselJ 0 x x BesselJ 1 x dx 0 normal laplace t s 1 s 3 2 invlaplace s t t BesselJ 0 t La transform e de FOURIER est une m thode simple et efficace pour r soudre les quations diff rentielles lin aires rencontr es en lec
210. e un r sultat et le renvoie Pour modifier A il faut donc lui affecter le r sultat de simplify Cette formule n aurait sans doute pas t tr s difficile obtenir l aide d une feuille de papier et d un stylo Cependant le grand nombre de simpli fications n cessaires son obtention rend le risque d erreur lev Le calcul formel apporte une s curit suppl mentaire nous sommes s rs que les calculs sont justes En revanche les expressions que nous avons donn es Maple ne le sont peut tre pas Une simple v rification s av re utile Le calcul de l aire que nous avons r alis est valable pour R2 variant entre 0 et 2R1 Pour R 0 laire de l intersection vaut 0 et pour R 2R elle vaut l aire du cercle C1 soit tR Pour calculer la valeur de A lorsque R2 0 il suffit de substituer 0 R2 dans A par la commande subs que nous avons d j vue Nous illustrons ici l autre m thode moins pratique qui consiste utiliser le symbole R2 comme un nom de variable et affecter 0 cette variable R2 0 A 0 Le r sultat est bien v rifi Le premier calcul est termin par dispense de l affichage du r sultat L affectation de 0 R2 a modifi la valeur de A qui vaut pr sent 0 C est un pi ge classique en Maple D s qu une valeur est affect e un nom cette valeur est remplac e dans toutes les expressions o appara t le nom y compris dans les expressions d fini
211. ec p 1 et q 1 et l inverse d de e modulo le produit p 1 q 1 l algorithme d EUCLIDE tendu appliqu e et p 1 q 1 donne un moyen de calculer d voir 1 2 1 Il donne alors n et e l exp diteur du message en gardant p q et d secrets Pour transmettre son message l exp diteur commence par le coder en entiers de 0 n 1 par exemple en l crivant en binaire puis en le coupant en morceaux Pour communiquer un entier a 0 n 1 l exp diteur transmet b af mod n Le destinataire retrouve le nombre a car a b mod n Seuls doivent tre tenus secrets les entiers p q et d Le nombre n peut tre rendu public car sa seule connaissance ne permet pas le d codage En effet pour trouver d il faut d abord trouver p 1 et q 1 c est dire factoriser n Pour coder un texte il faut commencer par le transformer en un entier Alphabet abcdefghijkImnoparstuvwxyz nb_lettres length Alphabet for i to nb lettres do lettre i 1 substring Alphabet i i od for i to nb lettres do codageleval lettre i 1 1 i 1 od transforme proc s string local i convert seq codage substring s i i nb_lettres i 1 i 1 length s end detransforme proc l posint local i tNoter l utilisation de eval pour viter les probl mes qui surgiraient si l une des lettres tait utilis e comme variable 1 ARITHM TIQUE 99 cat seq eval lettre i
212. ec par d faut 45 45 fig 15 On peut aussi changer le point de vue avec la souris en cliquant sur le trac et en le faisant tourner ou encore obtenir un aspect de perspective avec l option projection r o r est compris entre 0 et 1 la valeur par d faut 1 correspon dant la projection orthogonale 2 2 Courbes et surfaces param tr es Les courbes param tr es x f t y g t z h t sont trac es par la commande spacecurve fig 16 p 85 Les surfaces param tr es x f t u y g t u z h t u sont dessin es par plot3d f t u g t u h t u t a b u c d Deux cas particuliers sont les surfaces d finies en coordonn es cylindriques 2 TRAC S EN TROIS DIMENSIONS 85 SX KNX TAX BW gt I 2 RS Sze FIGURE 15 plot3d cos sqrt x 2t y 2 x 5 5 y 5 5 orientation 55 20 spacecurve cos t t sin t t sphereplot 1 cos t sin p t t 1 100 numpoints 1000 t 0 2 Pi p 0 Pi FIGURE 16 FIGURE 17 x rcos0 y rsin0 z z avec r f 0 z et sph riques x reos sing y rsindsiny z rcosy avec r f 0 p qui sont dessin es respectivement par cylinderplot et sphereplot fig 17 2 3 Surfaces implicites Comme pour les courbes en dimension deux il est possible de tracer des surfaces d finies par une quation f x y z 0 86 III COURBES ET SURFACES Le WH WY Wp W W i Rae
213. elle atteigne la courbe en un point de param tre t o le vecteur tangent est orthogonal 1 to Autrement dit 1 tot 0 On calcule donc sys x0 3 xt0 2 y0 2x xt0 3 x1 x0 u y1 yO tOxu x1 3 t1 2 y1 2 t173 1 t0xt1 grobner gbasis sys x0 y0 x1 y1 u t1 t0 plex xo RIA Yo He 224 om 3to 9 2Y1 SiG 5 Ito 2u 30 6to 9 2h to 3to 2 to 3to7 La derni re quation donne les valeurs du param tre t La condition suff isante ci dessus s applique comme tous les polyn mes ont pour mon me dominant une puissance d une variable multipli e par une constante chaque solution de la derni re quation correspond une solution du syst me Pour y voir plus clair on factorise le dernier polyn me factor nops to 2 6 1 Il n y a donc que deux racines r elles 42 et on en d duit les quations des deux droites sym triques solutions du probl me z 6 u y V2 4 u La figure 4 a t obtenue par la commande plot 3 t 2 2 t73 t 2 2 6 u sqrt 2 4 u u 6 41 0 10 scaling CONSTRAINED 2 POLYN MES ET SYST MES MULTIVARI S 159 FIGURE 5 pos oi ote de PO d FIGURE 6 G om triquement l limination correspond une projection On peut donc calculer assez facilement l quation de la projection d une courbe de l espace sur un plan de coordonn e EXEMPLE 27 La courbe de VIVIANI est
214. eloppement en s rie de 201 202 projection 159 Puiseux Victor Alexandre s rie de 199 Pythagore Iuayopac quation de 102 readlib 44 57 61 71 r currences d ordre un 173 179 lin aires 112 165 173 Reduce 2 294 r sidus m thode des 232 234 r solution d quations 11 24 147 148 d quations diff rentielles 213 246 d quations diophantiennes 100 103 d quations lin aires 121 122 d quations polynomiales 147 148 152 153 de r currences 165 166 169 170 modulo p 103 num rique 15 80 147 restes chinois 96 97 d une division 95 pseudo 143 pseudo creux 143 r sultant 144 145 Riccati Jacopo Francesco comte de quation de 246 Riemann Georg Friedrich Bernhard fonction de 209 somme de 216 Risch Robert H 223 Romberg acc l ration de convergence de 184 RootOf 21 22 26 148 150 Runge Kutta m thode de 250 Scilab 278 279 294 Scratchpad 2 select 47 49 52 seq 41 48 58 171 253 s ries 188 206 g n ratrices 108 115 203 204 214 216 259 270 hyperg om triques 191 solutions d quations diff rentielles 213 214 calcul de 20 21 25 26 142 199 208 215 share library 87 291 signe 28 simplexe 129 simplification 16 31 de polyn mes 141 142 collect 16 20 141 142 combine 16 25 26 141 255 expand 16 20 25 26 factor 20 n
215. emi re partie du chapitre IV et du chapitre VI COHEN Henri A course in computational algebraic number theory Springer Verlag 1993 Graduate Texts in Mathematics vol 138 Un livre plus l mentaire sur une partie de ces sujets est ZIPPEL Richard Effective polynomial computation Kluwer Academic Publishers 1993 Un petit livre extr mement agr able lire mais malheureusement puis pour aller plus loin en combinatoire COMTET Louis Analyse Combinatoire Presses Universitaires de France Paris 1970 2 volumes Il est parfois possible d en trouver l dition anglaise galement puis e COMTET Louis Advanced Combinatorics Reidel Dordrecht 1974 Les fonctions g n ratrices sont pr sentes dans de nombreux chapitres de ce livre une introduction p dagogique y est donn e dans WILF Herbert S Generatingfunctionology Academic Press 1990 309 310 3 BIBLIOGRAPHIE Sur les polyn mes en calcul formel et leur utilisation en g om trie l ouvrage suivant est extr mement clair et complet Cox David LITTLE John et O SHEA Donal Ideals Varieties and Algorithms Springer Verlag 1992 Pour toutes les questions d analyse mentionn es dans ce livre une bonne r f rence est DIEUDONN Jean Calcul Infinit simal Hermann Paris 1968 Un livre tr s int ressant et agr able de calcul asymptotique par l exemple DE BRUIJN
216. emi res valeurs de la suite connaissant la solution pn n 2n 1 n 1 La variation de la constante consiste chercher une solution de la forme n 1l Pn 5 tk k 0 Pour cela 1 D terminer la r currence lin aire d ordre 1 satisfaite par la suite t 2 chercher les solutions rationnelles de cette r currence La somme demeure symbolique 2 R currences d ordre un Plus les r currences sont g n rales moins les outils permettant de les tudier sont puissants Les th oremes les plus g n raux sur les suites mono tones born es ou sur les suites de CAUCHY peuvent parfois s appliquer et la v rification des hypoth ses n cessaires l application de ces th or mes peut parfois tre facilit e par le calcul formel 2 1 R currences du type un 1 f un Les probl mes li s ces suites sont d une grande richesse et sont loin d tre tous r solus En pratique et pour des suites r elles il faut tudier le comportement de la fonction f au voisinage de ses points fixes solutions de l quation x f x Si elle y est contractante ce qui se traduit par une d riv e de valeur absolue strictement inf rieure 1 alors toute suite passant dans un certain domaine autour du point fixe va converger le point fixe est dit attractif Si au contraire la d riv e a une valeur absolue strictement sup rieure 1 le point fixe est r pulsif seules les suites passant e
217. emple pour les ins rer dans un programme c t de la recherche classique de telles formules par des m thodes d identification ou par tatonnement le calcul formel par l interm diaire des d veloppements limit s et des calculs de limites peut donner une r ponse pr cise et rapide titre d exemple nous traitons ci apr s un probl me complet qui a trait l obtention d une formule approch e pour la longueur d un hauban Un hauban est un c ble g n ralement m tallique qui sert de renfort Connaissant les forces qui s appliquent sur ce c ble un probl me classique consiste en calculer la longueur Il est repr sent dans le cas d une charge transversale sur la figure 1 Les variables sont les suivantes M le couple de flexion l extr mit gauche du hauban M le couple de flexion l extr mit droite T la force de traction aux deux extr mit s q la charge uniform ment r partie le long du hauban correspond ici au poids du hauban F la charge transversale au point d abscisse c l la longueur entre les deux extr mit s p param tre d pendant de la nature et de la forme du mat riau La fl che y du hauban est donn e par y x yr x y4 x ym x avec F sinh pc sinh px Cx t yr 2 Ent i siz lt c F sinh p l c sinh p l x F l c l a on J Z o r gt e q_ cosh px pl 2 qz l x Ya x 3 3 1 4 f Tp cosh pl 2 IT M ara M gt ae G
218. employ es comme bo tes noires pour effectuer des calculs que l utilisateur ne saurait pas mener bien Nous d taillons tout d abord un exemple travers lequel nous prenons un premier contact avec le syst me Maple et nous introduisons les notions l mentaires Ensuite nous donnons un panorama des principales classes d expressions manipul es par les syst mes ce qui permet d aborder les ma nipulations de base d un syst me de calcul formel et le probl me important de la simplification des expressions 1 Une session d taill e Le probl me consiste trouver l aire de l intersection de deux cercles le centre de l un tant situ sur l autre cercle Le traitement de cet exemple l aide de Maple pr sente la syntaxe de ce syst me les principes utilis s comme pour la plupart des exemples de ce livre sont cependant valables pour tous les syst mes de calcul formel titre de comparaison ce m me exemple est trait l aide de Mathematica en annexe A La premi re partie de l tude consiste fixer les notations Le plan est muni d un rep re orthonorm d axes Ox et Oy Les deux cercles C1 et C2 ont pour rayons respectifs R1 et R2 Sans restreindre la g n ralit du probl me le point O est pris pour centre du cercle C1 et C2 est centr en O2 sur l axe Ox voir fig 1 p 8 Les quations des deux cercles sont donc C1 z y Ri C2 e R1 y Ri Si Z et J
219. en Maple une commande gcd qui donne le plus grand com mun diviseur de deux polynomes multivari s a coefficients rationnels A x y 1 z 2 B x y 1 z 3 gcd A B TY T 1 3 3 R sultants tant donn s deux polyn mes unitaires A et B coefficients dans un anneau int gre le r sultant de A et B est un polyn me coefficients dans le m me anneau qui s annule si et seulement si les deux polyn mes ont une racine commune Lorsque les polyn mes ne sont pas unitaires le r sultant de A et B vaut ates pde Resultant A a B b o a et b sont les coefficients dominants de et B Il n y a toutefois plus quivalence entre l annulation du r sultant et l existence d une racine commune Cette annulation peut en effet se produire galement si l un des deux polyn mes devient nul ou si les coefficients de t te des deux polyn mes s annulent simultan ment EXEMPLE 8 La condition pour qu un polyn me n ait pas de racine mul tiple est qu il n ait pas de racine commune avec sa d riv e Le r sultant de P et P s appelle le discriminant et on le trouve facilement 1 OP RATIONS DE BASE ET POLYN MES EN UNE VARIABLE 145 FIGURE 1 P axx 2 b x c Q x 3 pxx q resultant P diff P x x resultant Q diff Q x x 4a c ba Ap 27q Dans le premier exemple on trouve un facteur a en plus du discriminant habituel b 4ac qui refl te l annulation simultan e des coefficients de t te
220. ents de x et y sont les valeurs propres Nous avons donc bien r duit la forme quadratique Les 3 ESPACES VECTORIELS EUCLIDIENS 135 FIGURE 3 La conique r duite x dy 4y 7 0 SoN 6 FIGURE 4 R duction d une conique termes en x et y peuvent encore tre supprim s par une translation qui ram ne le centre 4 0 de la conique l origine expand subs x X y 4 Y 1 MARS 2 Pour conclure nous donnons une interpr tation g om trique La matrice P est une matrice de rotation d angle 7 6 cos 7 6 sin x 6 sin r 6 cos 7 6 Les axes principaux de la conique sont donc inclin s de 7 6 par rapport au rep re Ox Oy La transformation de matrice P permet de prendre pour directions principales de la conique les axes du rep re et la translation ram ne ensuite le centre de la conique l origine Les trois coniques obtenues durant la r duction sont r capitul es en figure 4 Les m mes calculs s appliquent bien str pour un ordre plus lev En dimension 3 on obtient des surfaces quadriques ellipsoides paraboloides 136 V CALCUL MATRICIEL NOIRE be LE Le D OT D Hii H j i LH Me H OOU FIGURE 5 Le parabolo de 5 z T ny oy 2x 2V3y 7 Pour les dimensions sup rieures la visualisation des r sultats devient plus difficile 3 3 Optimisation quadratique Un probl me reli au pr c dent est
221. equiert une quation en une seule variable Il nous faut donc diviser AA par R et simplifier simplify AA R1 2 sqrt symbolic K Kv4 K 3 K 5 5 K arccos p T arccos 1 fsolve Pi 2 K 1 158728473 La pr cision par d faut est de 10 chiffres pour la modifier il suffit d attribuer a la variable Digits le nombre de chiffres significatifs souhait s Pour finir nous tragons la courbe fig 3 p 15 donnant le rapport de Vaire de l intersection et de l aire de C1 en fonction de K La fonction utiliser est plot dont la syntaxe est tr s simple plot AA Pi R17 2 K 0 2 a FIGURE 3 Rapport des aires en fonction de K En fait nous venons de r soudre le probl me suivant Un paysan poss de un pr circulaire de rayon gal 100 m tres Il attache sa ch vre un pieu plant sur la cir conf rence du pr Quelle doit tre la longueur de la corde reliant la ch vre au pieu de fa on que la ch vre puisse brouter exactement la moiti de la surface du pr La r ponse est donc 115 87 m tres 16 I PRISE EN MAIN DU SYST ME 2 Classes d expressions et simplification L exemple trait en d tail dans les pages pr c dentes montre que la r solu tion d un probl me passe par l emploi de nombreuses fonctions solve subs normal simplify eval fsolve plot Outre la ma trise de l aide en ligne il faut apprendre raisonner en termes de classes d expressions Cha
222. er 2 dt dt AGEA d d 19 d d d EIDE gt Ty 0 t ot 6 sinl 2 2 600 cos t S cos 2 t Maple ne trouve pas de solution formelle ce syst me mais il peut en calculer des solutions num riques res dsolve sys union phi 0 0 theta 0 0 D theta 0 1 D phi 0 4 theta t phi t numeric Si plots odeplot fonctionnait correctement il suffirait de faire plots odeplot res subs time_dep pt 0 10 pour tracer une g od sique Dans la version actuelle il faut quelques acro baties suppl mentaires f t gt eval subs time_dep res t pt plots spacecurve seq f i 100 i 1 1000 Le r sultat est repr sent en figure 6 simultan ment avec le tore 6sin t p t 2 3 Exercices 1 Faire l tude de la fonction f x 4 x 1 1n z tableau de variation concavit et recherche des points d inflexion trac de la courbe 2 D terminer la d velopp e de la courbe d finie par x t sin2t y t cos2t In tan t 3 Faire dessiner au syst me une g od sique d une sph re CHAPTER XI Calculs en Probabilit E CALCUL DES PROBABILIT S a pour but de mod liser le hasard Accidents de la circulation chute des boules au loto d sint grations de particules sont des v nements apparemment impr visibles Cependant des mod les probabilistes de ces v nements permettent aux assurances de calculer leurs tarifs l tat d tre s r de gagn
223. er de l argent sur le loto et aux physiciens de dater les vestiges pr historiques Le calcul formel ne propose pas d outils sp cifiques pour le calcul des probabilit s mais certaines des techniques pr sent es aux chapitres pr c dents peuvent y tre appliqu es avec succ s Ce chapitre est donc essentiellement un chapitre d application Ainsi les calculs faisant intervenir des variables al atoires discr tes sont rendus pr cis par l utilisation de rationnels exacts et sont simplifi s par les manipulations de s ries Nous aborderons ces aspects en 81 et d taillerons un exemple en 82 L alg bre lin aire joue galement un grand r le notamment dans l tude des cha nes de MARKOV mais cette question sort du cadre de ce livre En 83 nous d crivons quelques techniques de simulation domaine o malgr sa lenteur le calcul formel est attractif par son interactivit Lorsque la variable al atoire est continue les calculs utilisent des int grales mais les capacit s des syst mes calculer des primitives ou des int grales d finies ne sont utilisables que sur des exemples simples aussi nous n aborderons pas les variables al atoires continues dans ce chapitre 1 Op rations l mentaires La figure 1 p 258 repr sente le r sultat de 500 tirages pile ou face voir le 83 1 pour la fa on de l obtenir En ordonn e sont port s les rapports du nombre de piles obtenus sur le nombre de tirages La fr quence
224. er parti par la commande subsop p 48 D veloppements limit s series Ce type est un peu particulier comme le montre l action de op s series sin z z 3 35 Fr qe 6 see 259 OF op s 1 1 1 6 3 1 120 5 0O 1 6 Les op randes sont successivement des coefficients et des puissances le dernier terme utilisant l identit O z O 1 2 Le nom de la variable est accessible comme 0 op rande Lors de la cr ation d un d veloppement les termes dont le coefficient est 0 sont supprim s Cette simplification est utile pour rechercher un d veloppement par coefficients ind termin s voir chap VIII 52 II UTILISATION AVANC E T 2 4 Types plus complexes Types du syst me Les 26 types de base du tableau 1 p 50 sont insuffisants en pratique Par exemple un programme de calcul de factorielle a besoin de s assurer que son argument est un entier positif ou nul Pour cela il existe une proc dure type qui reconna t 84 types plus complexes comme posint pour les entiers positifs nonnegint pour les entiers positifs ou nuls numeric pour les entiers rationnels ou flottants Tous ces types sont utilisables pour la sp cification des arguments des proc dures et sont aussi accessibles via la commande type Types proc duraux Il est par ailleurs possible de cr er des types Un nou veau type est d clar par la cr ation d une proc dure type nom_de_type Cette proc dure renvoie true ou false selon
225. es avant l affectation comme A ici En fait la valeur de l aire que nous avons calcul e n est pas perdue Pour la retrouver il suffit d annuler l affectation du nom R2 Pour cela on donne comme valeur 6 ce qui 14 I PRISE EN MAIN DU SYST ME R2 le symbole R2 Ce dernier s obtient en entourant le nom d apostrophes Dans l exemple suivant a vaut 2 mais a vaut a a 2 a a 2 a Annulons donc l affectation de R2 R2 R2 A 12R1 R2 1 1 R2 arccos 3 Re Ri 5 REV 4R1 R2 Retarccos 57 et A retrouve bien la valeur qui lui a t donn e Il apparait clairement que ce proc d affectation puis annulation de celle ci est bien lourd Pour valuer une expression pour diverses valeurs de ses param tres l utilisation de la commande subs est pr f rable subs R2 0 arccos 1 R1 Cet exemple illustre une particularit de la commande subs Nous avons demand a Maple de remplacer R2 par 0 dans A Le r sultat est juste mais la fonction subs ne r alise que la substitution sans valuer les fonctions qui pourraient l tre dans le r sultat C est un des rares cas o il est n cessaire d utiliser la commande d valuation eval de Maple Il faut le faire chaque fois qu l issue d une substitution les fonctions pr sentes dans l expression doivent tre r valu es La bonne solution est finalement eval subs R2 0 A 0 De m me on peut v
226. es chances d tre efficace c est pourquoi il est bon d avoir cette liste en t te La plupart des commandes qui y sont mentionn es sont d crites dans ce livre et toutes sont d crites dans la documentation en ligne Le reste du syst me Maple soit environ 800 proc dures est enti rement crit dans le langage Maple Ces proc dures sont prot g es par l option copy right Leur affichage est r duit print sin proc x end Cette option est utilisable dans n importe quelle proc dure f proc n option Copyright toto n end f proc n end Pour afficher effectivement le code il suffit de changer un des param tres de l interface en ex cutant l instruction magique interface verboseproc 2 3 1 5 Macros La commande macro permet de d finir une abr viation Ses arguments ne sont pas valu s Nous avons vu que les variables utilis es l int rieur des proc dures ne sont valu es qu leur ex cution et non leur cr ation Les macros en revanche sont substitu es dans les proc dures au moment de leur cr ation EXEMPLE 52 66 II UTILISATION AVANC E TABLE 4 Fonctions du noyau Domaine d application Nom des fonctions l ments du langage cha nes de caract res entiers rationnels flottants polyn mes fractions rationnelles fonctions expressions tables ensembles listes package hackware interface ERROR RETURN macro map seq t
227. es implicites 2 4 Trac de donn es 2 5 Trac d intersection 2 6 Exercices Autres types de trac s 3 1 Trac s simultan s 3 2 Lignes de niveau 3 3 Trac point par point 3 4 Trac s en couleur 3 5 Animation CHAPTER IV ARITHM TIQUE ET COMBINATOIRE Arithm tique 1 1 Calculs entiers et rationnels 1 2 Divisibilit et primalit 1 3 Fractions continues 1 4 Equations en nombres entiers 1 5 Exercices Combinatoire 2 1 Approche empirique 2 2 Structures d composables 2 3 Le probl me des ob ses 2 4 Exercices 54 67 68 72 93 93 93 95 99 100 104 106 106 107 113 115 CONTENTS CHAPTER V CALCUL MATRICIEL Matrices et vecteurs 1 1 Les objets vecteur et matrice en Maple 1 2 Manipulation des matrices 1 3 Calculs matriciels de base 1 4 Exercices Alg bre lin aire 2 1 R solution de syst mes lin aires 2 2 Calculs sur des matrices 2 3 Optimisation lin aire 2 4 Automatique 2 5 Exercices Espaces vectoriels euclidiens 3 1 Isom tries 3 2 R duction d une forme quadratique 3 3 Optimisation quadratique 3 4 Exercices CHAPTER VI POLYN MES ET FRACTIONS RATIONNELLES Op rations de base et polyn mes en une variable 1 1 Op rations purement syntaxiques 1 2 R criture et simplification 1 3 Calculs en une variable 1 4 Exercices Polynomes et syst mes multivari s 2 1 Bases de Grobner 2 2 Applications 2 3 Exercices CHAPTER VII SUITES R ELLES R
228. es zones de commen taire ou de dessin text Les zones d entr e et de texte sont modifiables avec les commandes habituelles d dition En particulier la souris sert se d placer copier ou ins rer du texte La version actuelle ne permet pas la saisie de caract res accentu s 1 UNE SESSION D TAILL E 9 Maple V Release 3 File Edit View Options a interrupt gt fr alphatsqrt x 1l x x 2 1 gt Int f x int f HUY oy In x aIn 1 x 2 arctanh x gt series f x 5 a 1 po x 0 x 2x2 AA x72 O x4 x x P linalg matriz 3 3 i j gt x i j y 1Z i j x2 fy x3 y s x4 yl4 Ye yty x5 pis x4 yll4 x5 yllS x6 pif gt linalg det 11 47 12 60 x12 y EN x12 yeno x2 ye 2 x12 y x12 yi gt plot3d x 2 y42 x 1 1 y 1 1 AN dou SN AED SSO NS ZA UN ds lt lt On peut aussi mettre du texte et modifier la session pour faire disparaitre les inputs et ne garder qu une forme polie de la session Maple Memory Uk Maple CPU Ti FIGURE 2 Fen tre Maple sous X Windows Nous allons maintenant saisir les quations d finissant les cercles C1 et C2 Toute comm
229. ester l int rieur du syst me de calcul formel pour produire tout le programme Une premi re m thode consiste utiliser les commandes d impression du syst me En Maple par exemple une boucle do de Fortran est produite par lprint do 1 i 1 n fortran z z f i 2 lprint 1 continue ce qui produit le texte ci dessous do 1 i 1 n z z f i 2 1 continue Cette fa on de faire est plut t fastidieuse La plupart des syst mes de cal cul formel procurent de quoi automatiser plus ou moins cette t che Maple dispose dans la share library de deux modules Macrofort et MacroC qui g n rent respectivement de v ritables programmes Fortran et C Le principe est de d crire le programme sous la forme d une liste dont chaque l ment est la description d une instruction ou d un ensemble d instruc tions Fortran ou C Cette description est elle aussi sous la forme d une liste dont le premier l ment est un mot cl d crivant l instruction Par exemple pour obtenir un sous programme Fortran qui calcule la ma trice jacobienne de la cage du laminoir avec comme arguments les variables F ho T et To et un programme principal qui appelle ce sous programme Macrofort s emploie ainsi with share readshare macrofor numerics init_genfor MACROFORT FORTRAN code generator Version 1 2 4 data a1 610 a2 648 a3 00247 1 1250 k 1 4E 2 R 360 hi 24 S 12 vFp subs data op Fp prog programm cage
230. et la roue arri re Le probl me de simulation consiste la position de d part du v lo et les valeurs des commandes tant donn es chercher la trajectoire suivie Pour le probl me de commande la position de d part est donn e et il s agit de d terminer les commandes qui permettent d atteindre un tat donn le plus rapidement possible par exemple de tourner l axe du v lo d un angle fix La technique utilis e consiste employer le formalisme de LAGRANGE Ceci n cessite le calcul d une matrice 23 x 23 de plusieurs gradients et la r solution d un immense systeme diff rentiel lin aire Les calculs de matrices et de gradients sont r alis s en Maple des programmes Fortran sont ensuite produits de fa on automatique en utilisant Macrofort voir 82 3 puis ils sont compil s et inclus dans Scilab sous la forme de macros Ils peuvent alors tre efficacement utilis s par les fonctions de Scilab A titre de curiosit nous 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 295 donnons ci apr s la valeur d un l ment de matrice du probl me de commande montrant ainsi la quasi impossibilit d une criture la main fmat 41 67 pd 18 t257 2 pd 18 t252 t804 t810 t814 t819 t 192 2 pd 18 t240 t677 pd 18 t229 pd 18 t199 t166 t655 t669 t598 t617 t625 t637 t608 2 pd 18 t181 t580 t588 t593 t568 t573 t555 t 550 t5314 t516 pd 18 t1125 t507 pd 18 t1137 t483 t493 t475 t467 2 pd 18
231. et Y de BESSEL d indice k B 5 i cos a sin t cos bt dt Q o les diff rents cosinus et sinus peuvent tre intervertis Une autre classe est celle des int grales elliptiques dont l int grande est une fraction rationnelle R x s x o s x est soit la racine carr e d un 232 IX INT GRALES ET PRIMITIVES polyn me de degr inf rieur 5 soit la racine cubique ou quatri me d un polyn me de degr 2 EXEMPLE 19 Dans cet exemple la formule 2 s applique avec v 1 3 uw w c 0 a d m b da 1 8 1 p 1 2 f x7 1 3 1n x 1 x 7 1 2 int f x Ps dx 1178 normal int f x 0 1 3 42 7 Ta V3 63 In 3 288 42 1 P 2 F 2 98 Vr ou est la d riv e logarithmique de la fonction T EXEMPLE 20 Ici encore la formule 2 s applique f exp x 2 1 x int f x 1 infinity i eEi 1 1 5 cEi 1 1 Un tel r sultat permet en particulier une valuation num rique avec une pr cision arbitraire evalf 30 298173681161597037170539249684 EXEMPLE 21 Cette int grale elliptique est donn e en terme de la fonc tion F de LEGENDRE f 1 sqrt 1 x 2 1 4 x 2 ao JG 22 1 42 int f x 1 3 i i a 5 LegendreF 1 3 zLegendreF z 5 evalf 6721475221 2 3 M thode des r sidus La m thode des r sidus peut servir calculer certaines int grales impropres Supposons en effet que l on veuille calculer l int
232. et de tirer parti des nombres flottants du pro cesseur de la machine Ses performances d pendent fortement de l architecture de la machine mais peuvent tre excellentes En particulier Maple utilise evalhf pour tracer ses dessins Il est parfois possible d appliquer evalhf sur une proc dure Lorsque c est le cas tous les calculs interm diaires sont faits rapidement Le programme 1 ci dessus ne peut pas tre ex cut par evalhf evalhf u1 10 Error unable to evaluate function convert in evalhf L application de evalhf sur les programmes utilisant l option remember est fatale le syst me meurt Il reste donc le programme 3 pour lequel evalhf fonctionne et donne de bons r sultats tab 1 Cependant les flottants de la machine sont souvent limit s en taille pr cisions dans la documentation de evalhf constants Ainsi dans notre exemple et sur notre machine nous ne pouvons pas valuer up par evalhf u3 n pour n gt 405 4 1 6 Comparaison Le tableau 1 montre le temps de calcul de u par les diff rents programmes pour les valeurs de n indiqu es en haut de chaque colonne Pour rendre ces r sultats ind pendants de la machine sur laquelle les tests ont t effectu s 184 VII SUITES R ELLES TABLE 1 Les temps de calcul des programmes n 2 5 10 20 50 100 500 1000 5000 1 0 154 7 056 5 411 lbis 0 097 7 637 5 797 2 0 013 0 057 0 150 0 530 2 583 11 53 1572 12882 72 645 2bis 0 020 0 061 0 165 0 688 3
233. eut alors tracer la courbe par implicitplot du package plots mais on a plut t int r t pour obtenir un beau trac la param trer en prenant son intersection avec les droites Y tx 2 2 3 Pr cautions g om triques Les calculs de bases de GR BNER ont bien entendu un lien avec la g om trie Comme on l a vu dans l exemple 23 on d finit des droites des cercles des ellipses ou de nombreuses autres courbes ou surfaces par des quations polynomiales et diverses questions relatives leurs intersections peuvent tre r solues l aide de bases de GROBNER Il faut n anmoins faire une distinction entre les besoins que l on a lors du calcul de forme normale de polyn mes par exemple et les besoins que l on a lors de calculs g om triques Nous avons dit que les bases de GR BNER permettaient de d terminer si un polyn me pouvait se d duire d un autre syst me de polyn mes en d finissant la d duction comme une combinaison lin aire coefficient polynomiaux La d duction g om trique est d une autre nature l objet d tude n est plus le polyn me mais l ensemble de ses z ros la vari t qu il d finit Les d ductions que l on cherche faire sont du type est ce que tel polyn me est nul en l ensemble des z ros du syst me Or un polyn me peut tre nul en l ensemble des z ros d un syst me sans que l on puisse pour autant le d duire au sens pr c dent du syst
234. f Coefficients coeffs D velopper expand R criture D velopper par rapport une variable collect Ordonner sort Quotient de la division euclidienne quo Reste de la division euclidienne rem Test de divisibilit division exacte divide Pseudo reste prem Pseudo reste creux sprem Pgcd et pgcd tendu gcdex Pgcd multivari gcd Plus petit commun multiple 1cm Normalisation des fractions normal Num rateur numer Calcul D nominateur denom R sultant resultant Factorisation factor Factorisation sans carr s convert sqrfree D composition en l ments simples convert parfrac D composition de polyn mes compoly R solution exacte solve R solution num rique fsolve Suites de STURM sturmseq Localisation de racines r elles sturm Manipulation de nombres alg briques evala consid rer comme des polyn mes Ce dernier point est particuli rement vrai en Maple qui ne propose pas de type de donn e sp cialis pour les polyn mes Ces op rations sont group es en trois cat gories les op rations pure ment syntaxiques qui extraient de l information directement accessible sur le polyn me les op rations de r criture qui peuvent d velopper des produits pour r organiser le polyn me et les op rations impliquant un calcul c est dire la division euclidienne et les op rations d riv es pgcd r sultant et suites de STURM normalisation de fractions rationnelles ainsi que les commandes de factorisation et
235. faites par leurs coordonn es syst mes dont on 2 POLYN MES ET SYST MES MULTIVARI S 151 veut d duire des informations comme la coh rence existe t il une solution la dimension de l espace des solutions les solutions sont elles en nombre fini ou infini la simplification une fois toutes les coordonn es contraintes par le syst me combien vaut telle quantit l limination peut on trouver une relation entre les coordonn es de tel point qui ne fasse plus appara tre tel param tre Les bases de GR BNER on dit aussi bases standard sont l outil fonda mental pour toutes ces questions Sans entrer dans la th orie nous allons mon trer comment utiliser cet outil pour r soudre un certain nombre de probl mes li s aux syst mes de polyn mes et leur utilisation g om trique Il faut cepen dant savoir que les calculs de bases de GROBNER sont extr mement co teux de par la nature m me du probl me On ne peut donc esp rer s attaquer de cette fa on des syst mes avec beaucoup de variables ou contenant des quations de degr lev Pour pr ciser le vocabulaire dans la suite de ce chapitre on dira que l on peut d duire un polyn me d un syst me de polyn mes lorsqu il est possible de Vobtenir par combinaison lin aire coefficients polynomiaux des polyn mes du syst me 2 1 Bases de Gr bner 2 1 1 Introduction Nous avons vu dans la section pr c dente le r le important que jouait
236. fn de solutions pour n donn Dans certains cas le comportement asymptotique de fn lorsque n tend vers l infini peut galement s en d duire voir VII 1 1 3 et VIII 3 2 3 Le probl me des ob ses Nous d taillons la r solution d un probl me qui ne repose pas sur une structure d composable mais o comme dans le probl me des reines le co t de l tude est r duit gr ce un codage par des polyn mes Des hommes tr s corpulents viennent s asseoir tour tour sur une rang e de n chaises initialement toutes libres Chacun a besoin de deux places conti gu s et choisit ces places de fa on al atoire et uniforme parmi les paires de places libres adjacentes Combien de chaises libres reste t il lorsqu aucun homme ne peut plus s asseoir Ce probl me n est pas d composable En effet l occupation d une chaise n est pas ind pendante de celle des chaises adjacentes et par cons quent il n est pas possible de d composer une configuration Cependant comme pour le probl me des reines il s agit d un probl me d occupation avec contraintes qui se code par des polyn mes Ces transformations ne sont pas encore implant es de fa on standard dans les syst mes de calcul formel actuels On peut les trouver dans le package gfun de Maple 114 IV ARITHM TIQUE ET COMBINATOIRE L ensemble des configurations possibles est repr sent par un arbre La racine repr sente la configuration initiale o toutes le
237. folevel coupl e la proc dure userinfo La proc dure userinfo s utilise lors de l criture de programmes Elle permet d afficher des messages durant l ex cution du calcul Par d faut aucun message n appara t l affichage tant contr l par la table infolevel Une partie des biblioth ques Maple fait usage de cette possibilit et le syst me affiche des messages apr s l ex cution de infolevel all 5 La variable printlevel permet de suivre le d roulement des calculs mais sans pouvoir sp cifier la fonction ou le groupe de fonctions a observer Sa valeur fixe le niveau de d tail d affichage de tous les calculs interm diaires Par exemple apr s avoir d fini f proc n if n 1 then 1 elif n mod 2 0 then f iquo n 2 else f 3 n 1 fi end la commande f 7 affiche uniquement le r sultat lorsque printlevel vaut 1 En augmentant cette valeur on verra les calculs interm diaires avec de plus en plus de d tails En outre si le programme s arr te avec une erreur provoqu e par ERROR et que printlevel vaut au moins 2 l instruction qui a provoqu l erreur est affich e ainsi que la valeur de toutes les variables locales au mo ment de l erreur Lorsque printlevel devient tr s lev de l ordre de 100 il n est pas toujours facile de traiter la masse norme d informations affich es Quand c est possible il est plus informatif de ne faire afficher que ce qui concerne une ou deux proc dures par la co
238. font partie du noyau et sont donc tr s rapides Le pgcd d entiers n est pas calcul par l algorithme d EUCLIDE qui est relativement lent En revanche l algorithme d EUCLIDE tendu igcdex en Maple permet de calculer une combinaison lin aire donnant le pgcd g igcdex 9407449 4284179 u v g u Vv 541 1690 3711 Ceci donne une identit de BEZOUT 541 1690 9407449 3711 4284179 En particulier une telle identit permet de r soudre l quation ax b mod n Si ua un g o g est le pgcd de a et n alors soit b est un multiple de g et la solution est donn e par x bu g mod n soit il n y a pas de solution 1 2 2 Th or me des restes chinois Le th or me des restes chinois permet de calculer un grand entier dont on conna t une majoration et dont on sait calculer les r sidus modulo d autres nombres plus petits Les calculs men s modulo des petits entiers sont bien s r plus rapides que ceux sur des grands entiers Les op rations sur les grands nombres sont ainsi limit es la premi re tape o le probl me est cod modulo des petits entiers et la derni re o le r sultat est reconstruit par chrem Le principe consiste calculer suffisamment de r sidus modulo des nombres bien choisis pour reconstruire l entier cherch EXEMPLE 5 Pour calculer le produit de a 143563 par b 718976 prenons par exemple p1 9999 po 9998 et p3 9997 qui sont deux deux prem
239. gain 5 Lorsque les deux joueurs ont une fortune limit e diff rente calculer en fonction de ces fortunes la probabilit qu a chacun de ruiner l autre 3 Simulation Bien souvent il est impossible de d terminer exactement une distribution ou les caract ristiques d une variable al atoire La simulation permet de faire rapidement de nombreuses exp riences de tester diff rents mod les ou de v rifier des r sultats th oriques Nous montrons dans cette section des ex emples d utilisation d un g n rateur al atoire uniforme et comment crire un g n rateur al atoire selon une distribution donn e 3 1 Tirage uniforme La figure 1 p 258 n a pas t obtenue en tirant 500 fois pile ou face Elle est le r sultat de l utilisation de la commande rand qui fournit une proc dure renvoyant un entier al atoire uniform ment dans un intervalle donn en argument piece rand 2 pile 0 0 for i to 1000 do pile i pile i 1 piece od plot seq i pile i i i 1 500 n 0 500 p 0 1 Pour obtenir une distribution il faut faire plusieurs s ries de tirages Par exemple la courbe exp rimentale correspondant a la distribution th orique de la figure 2 p 261 s obtient en comptant le nombre moyen de piles dans une s rie de 100 tirages Pour compter le nombre de piles il suffit d crire une proc dure qui vaut 1 en cas de pile et 0 sinon pile rand 2 puis on crit une proc dure qui compte le nomb
240. grale CO COS i z 347 a gt 0 o a Maple donne un r sultat complexe insatisfaisant assume a gt 0 int cos x x 2 a 2 x 0 infinity 1 Inm I sinh a cosh a I cosh a T 1 cosh a a 2 a 2 a Im 2 INT GRALES D FINIES 233 1 cosh a r 2 a Si l on remarque que cette int grale est gale LA er ie 2 J T a la fonction sin x tant impaire Maple donne 0 comme r sultat ce qui est faux voir le 82 1 2 f exp I x x 2 a 2 2 1 elz 224a int f x infinity infinity 2 0 On peut utiliser la m thode des r sidus pour calculer cette int grale On consid re la fonction complexe correspondante 1 e7 Fe 32ra Les seuls p les de la fonction tant les points z ai et z ai de l axe imaginaire on peut int grer f z selon un lacet y form du segment r el R R avec R gt a et du demi cercle 7 de centre O et de rayon R situ dans le demi plan des parties imaginaires positifs On a alors R J f z dz f dx f z dz 27i Resa f Y R y avec f z dz i f Re t d Re ya 0 La valeur cherch e est alors R gi f rar Tout ces calculs se font ais ment en Maple La fonction residue qu il faut charger permet de calculer le r sidu f 1 subs x R exp I t f diff R exp I t t 1 fede pets Gas 2 R2 eUt 2 a int f1 t 0 Pi 1 I e Ei 1 a IR e Bi 1 IR a 4 a 1 I e Ei 1
241. gt map diff m x diff m x 2x 3x 0 3x Ag Si map n est pas utilis m a pour valeur son nom m variable ind pendante de x dont la d riv e par rapport x vaut 0 En revanche diff eval m x produit un message d erreur explicite 120 V CALCUL MATRICIEL EXEMPLE 6 La fonction zip applique une fonction binaire deux vecteurs Pour calculer un vecteur dont chaque l ment est le pgcd des l ments de deux vecteurs il suffit d effectuer vi vector x 2 x73 1 x 2 1 v2 vector x x 1 x72 3 x 2 vl r 2x3 1 x2 1 V2 x 1 x 3r 2 zip gcd vi v2 gcd vi v2 x 1 1 1 La encore la fonction gcd appliqu e v1 et v2 donne 1 car l valuation de vi et v2 produit leur nom 4 moins d utiliser explicitement eval ou op 1 3 Calculs matriciels de base Les op rations de base sur les matrices addition produit produit par un vecteur sont fournies par le package linalg comme nous l avons dit Cependant leur notation fonctionnelle rend l criture des expressions matricielles assez malais e Par exemple l expression tr Ax 2y peut s crire multiply transpose x add multiply A x scalarmul y 2 L valuateur evalm qui ne fait pas partie du package linalg et est disponible en standard autorise une syntaxe plus simple L expression pr c dente s crit alors evalm transpose x amp A amp x 2 y Le tableau 3 d crit les diff rentes op ra
242. gularit de plus petit module est la seconde racine Il faut calculer le d veloppement de la fonction g n ratrice en ce point Id alement il faudrait ex cuter series subs z 2 x 1 t fg t 3 Mais series g re mal les constantes et il est n cessaire d aider Maple Nous d crivons une approche adapt e la plupart des fonctions g n ratrices alg briques c est dire racines d un polyn me en y et z Sur l quation d finissant la fonction U z les singularit s sont facilement rep rables ce sont les points o le th or me des fonctions implicites cesse de s appliquer Au voisinage de ces points on effectue un changement de variables en utilisant le fait que le d veloppement attendu est en puissances demi enti res I ne reste plus qu appliquer une m thode de coefficients ind termin s comme en 82 3 eq numer U 1 z U U 2 assign solve subs U U0 z z0 eq diff eq U z0 U0 evala Normal numer subs z z0 1 t 2 U U0 V eq s series subs V convert seq ali t i i 1 5 t 7 solve coeff s t 2 a 1 216 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES Lun 3RootOf 1 6 Z _Z LG 3RootOf 1 6 Z _Z Les l ments de la suite u tant tous positifs la fonction U z est crois sante jusqu sa singularit et donc d apr s les normalisations effectu es c est la racine n gative qu il faut consid rer Tous les autres coefficients s en d duisen
243. i son tour va appeler solve linear EXEMPLE 8 Voici un syst me 4 x 4 donn directement sous forme ma tricielle A matrix 6 2 t 6 t 3 t 3 2 t 6 6 t 3 t 3 t 3 t 3 3 2 t 6 t 3 t 3 2 t 6 3 6 2t 6 t 3 t 3 2t 6 6 t 3 t 3 t 3 t 3 3 2t 6 t 3 t 3 2 6 3 b vector t t 1 4 b t t 1 4 A linsolve A b 122 V CALCUL MATRICIEL TABLE 4 Principaux calculs sur les matrices Fonction Commande Trace trace Rang rank Noyau kernel D terminant det Mineur minor Inverse inverse Polyn me caract ristique charpoly Polyn me minimal minpoly Valeurs propres eigenvals Vecteurs propres eigenvects Forme de JORDAN jordan Exponentielle exponential 2 15 8t 15 5t 57t 135 5t 48t 135 6t 6t 3 9 2t gt 3 9 2t t Une troisi me m thode que l on n emploie jamais en calcul num rique consiste calculer l inverse de la matrice A avant de r aliser le produit AT tb L encore la proc dure de calcul d inverse d termine d abord le type des l ments de la matrice avant de d cider de la m thode appliquer Le prin cipal int r t de ce calcul relativement co teux est qu il r duit les r solutions ult rieures un simple produit de matrices Cette m thode est donc pr f rable dans le cas de nombreuses r solutions correspondant diff rents vecteurs b EXEMPLE 9 Sur le m me syst me que pr c demment le calcul s effectue
244. i u 0 1 u 1 1 u 2 1 u 3 1 u 4 1 f normal subs z 1 z solve subs ini ztrans rec n z ztrans u n n z p 1 z 2 223 224 1 325 25 et les modules des racines sont sol fsolve denom f z complex map abs sol 1 R CURRENCES LIN AIRES 169 0 7065263561 0 7065263561 1 738902813 1 738902813 0 662510317 La encore les p les sont simples et c est le cinqui me qui a le plus petit module alpha sol 5 a subs z alpha numer f alpha diff denom f z Le n l ment de la suite vaut donc asymptotiquement a a estimation qui se v rifie num riquement p est la proc dure de la p 167 evalf p 100 a alpha 100 0 2645979826 1018 0 2648334906 1018 L approximation est moins bonne que pour les nombres de FIBONACCI parce que le module suivant des racines du d nominateur n est pas tr s loin erreur relative est en 0 66 0 70 soit deux milli mes pour n 100 ce que confirme la comparaison ci dessus 1 2 Coefficients polynomiaux 1 2 1 R solution Contrairement au cas des coefficients constants on ne sait pas r soudre toutes les r currences lin aires a coefficients polynomiaux Il est n anmoins facile de d terminer si une quation comme 3 NUn t2 5Undi n 1 un 0 a des solutions qui sont des polyn mes La commande rsolve de Maple ne le fait malheureusement pas Ce calcul s effectue en tudiant les coefficients du membre gauche
245. i end et voici quelques tirages seq randF1 i 1 12 4556513441 1 030514031 1 336654437 6295240942 1501246179 7593796395 2153416371 09045415529 6006381568 1712310204 3114670168 5318833976 A titre de v rification l esp rance de la distribution d finie ci dessus est donn e par esp normal int x xdiff F1 x x 0 Pi 3 SIMULATION 273 172 A esp 5 evalf esp 0 9341765549 comparer avec la moyenne obtenue sur 1 000 tirages s 0 to 1000 do s s randFi od s 1000 0 9627213171 3 3 Exercices 1 Dans le probl me consid r au 2 on suppose p q 1 2 Tracer la distri bution du dernier retour l ordonn e 0 lorsque la partie dure 100 tapes 2 Pour tirer rapidement une loi gaussienne partir d un g n rateur uni forme on tire uniform ment deux nombres x et y entre 1 et 1 jusqu ce que r x y lt 1 On renvoie alors 2logr TEA r Comparer ce proc d a celui qui consiste a inverser Be m et 2 dt V2r Jo CHAPTER XII Calcul formel et calcul num rique E CALCUL NUM RIQUE ne s oppose pas au calcul formel Il en est son E compl ment et parfois m me son aboutissement C est le cas en math matiques appliqu es et en analyse num rique par exemple pour le traitement du signal l analyse et la commande des syst mes la robotique et la th orie de l estimation Il est possible de faire du calcul num rique l int rieur
246. ibert plus pr cis ment que pour chaque valeur de l angle aigu y du pentagone telle que v3 1 lt y lt Zaresin B il existe une solution Les valeurs extr mes correspondent des pavages par des quadrilat res 2 arcsin 84 III COURBES ET SURFACES 4 Reproduire le trac de la figure 14 obtenu avec y 0 9 5 Observer la d formation du pavage lorsque y varie Pour cela on pourra utiliser option insequence true de la commande display avec une s quence de trac s obtenus pour diff rentes valeurs de y voir 3 5 FIGURE 13 Ensemble de MANDELBROT FIGURE 14 Pavage de RICE 2 Trac s en trois dimensions Les possibilit s offertes par les systemes sont les m mes qu en dimension deux avec la diff rence qu il y a maintenant deux types d objets les courbes et les surfaces Les courbes sont rendues comme en dimension deux par des points reli s ou non les surfaces sont rendues par des maillages rectangulaires ou triangulaires avec limination des parties cach es 2 1 Surfaces z f x y L cran ou la feuille de papier n offrant que deux dimensions les syst mes projettent la sc ne en consid rant que l observateur est plac en un point pr cis de l espace appel point de vue ventuellement infiniment loign ce qui revient faire une projection orthogonale La di rection du point de vue est donn e en coordonn es sph riques et en degr s par l option orientation 6 y av
247. ibution multinomiale lors que plus de deux cas sont possibles chaque tirage En effet si p pr 1 sont les probabilit s d v nements disjoints A A alors la probabilit que lors de n preuves A se produise k fois A se produise kp fois est le coefficient de xf a r dans le polyn me pity prer Il vaut g n ralement mieux calculer avec des s ries car ces polyn mes ont un grand nombre de coefficients Par exemple la probabilit que lors de 20 lancers de d s le deux appa raisse 4 fois et le six 3 fois s obtient par 1 OP RATIONS L MENTAIRES 263 p x 2 6 x 6 6 4 6 20 coeff series coeff series p x 2 5 x 2 4 x 6 4 x 6 3 57881600 1162261467 Distribution de POISSON La distribution de POISSON a pour fonction g n ra trice A z 1 aw Ze AS n e e 5 nl n 0 Elle s obtient comme limite de la distribution binomiale lorsque la proba bilit p A n de l v nement observ est faible par rapport au nombre d observations n EXEMPLE 6 Si la probabilit d une faute de frappe vaut 0 0012 par car actere la probabilit qu une page de 2 500 caract res contienne z ro une ou deux fautes vaut respectivement p 0 0012 1 p 2500 2500 p 1 p 2499 2500 2499 2 p 2 1 p 2498 0 04969746062 0 1492715077 0 2240866026 et approximation de POISSON donne lambda p 2500 exp lambda exp lambda lambda exp lambda lambda 2 2
248. iers entre eux Le produit ab tant inf rieur au produit des p il peut tre reconstruit partir de ses restes modulo les p Chacun de ces restes se calcule avec des entiers de m me taille que p en remarquant que ab mod p a mod p b mod p mod pi a 143563 b 718976 1 9999 9998 9997 m seq a mod p b mod p mod p p 1 m 4355 9286 6284 chrem m 1 a b 103218351488 103218351488 Une application plus r aliste est le calcul d un d terminant La preuve de la nullit du d terminant d une grande matrice par calcul direct peut faire apparaitre des entiers interm diaires tres grands Cette explosion des en tiers interm diaires est vit e par un calcul modulaire La taille du r sultat est facilement major e en fonction de la taille de la matrice et de la plus 1 ARITHM TIQUE 97 grande des entr es Chaque calcul modulo p doit renvoyer 0 et le r sultat s en d duit apr s avoir pris suffisamment d entiers p Dans ce contexte la fonction nextprime est tr s utile 1 2 3 Primalit et factorisation D cider de la primalit d un entier ou calculer sa d composition en fac teurs premiers sont des op rations bien plus co teuses que celles que nous avons vues jusqu ici EXEMPLE 6 Soit p le produit des nombres premiers d indice 1 000 1 050 p convert seq ithprime i i 1000 1050 time isprime p time ifactor p 0 633 8 517 Ce nombre n a que 200
249. ile pile pile La somme des probabilit s de ces trois v nements donne le coefficient de 2 Le comportement asymptotique de cette probabilit la victoire du pre mier joueur lorsque le nombre d tapes tend vers l infini s tudie comme on Va vu au chapitre VIII La premi re phase consiste chercher la singularit la plus proche de l origine La fonction A z est singuli re en p 1 4pq o elle vaut 1 2 La position relative de 2pp p q et de 1 d termine alors la singularit dominante 268 XI CALCULS EN PROBABILIT Si 2pp lt 1 c est dire si p lt 1 2 les singularit s dominantes sont p et p o 1 4pqz s annule Le comportement au voisinage de p est le suivant series subs z 1 sqrt 4 p q 1 u Cp u 2 1 2 5 v 2 i O vu 1 vu pq p ETE ae et celui au voisinage de p est similaire L quation 9 page 214 donne pour le coefficient de 1 z p l quivalent p 7n En tenant compte des deux contributions en p et p le premier terme du d veloppement asymptotique de la probabilit de victoire du premier joueur pour un jeu en n tapes est pour n pair ae a p VT Pour n impair seule la constante diff re la contribution en p venant se retrancher au lieu de s ajouter Cette probabilit d croit exponentiellement avec n car 4pq lt 1 Si 2pp 1 c est a dire si p 1 2 la singularit dominante est toujours en p 1 mais le com
250. ile pour cr er des proc dures simples l int rieur d un programme Lorsque les proc dures cr er sont plus com plexes il devient malais de les produire par de simples substitutions Cette technique est alors remplac e avantageusement par le m canisme plus g n ral fourni par la proc dure procmake Options des proc dures Les options d une proc dure ne modifient pas sa fonc tionnalit mais elles influent sur l affichage ou l ex cution des calculs Toutes les options sont valides mais seules certaines sont reconnues par le syst me celles ci sont indiqu es au tableau 3 3 APPROFONDISSEMENT DU SYST ME 65 TABLE 3 Options reconnues par le syst me Nom R le builtin indique une proc dure du noyau trace le d tail de l ex cution est affich remember la table de remember est syst matiquement remplie Copyright le corps de la proc dure n est pas affich system la table de remember est vid e p riodiquement operator arrow la proc dure utilise la notation a gt f a operator angle la proc dure utilise la notation lt f a a gt package reconnu par with L option builtin caract rise les proc dures du noyau crites en C Par exemple print op proc options builtin 118 end Environ 90 proc dures font ainsi partie du noyau le tableau 4 recense les principales d entre elles Plus un programme utilise des proc dures du noyau la place de celles de la biblioth que plus il a d
251. inant d ordre 3 form par leurs coordonn es soit nul crire une proc dure Maple qui d termine par cette m thode si quatre points P Po P et P4 donn s par leurs coordonn es sont coplanaires V rifier que cela revient calculer le produit mixte t A w 2 La matrice le vecteur b et la constante c du 83 2 s obtiennent directe ment partir de l expression du polyn me vAv bu c crire une proc dure qui r alise ce travail 3 R aliser la r duction du polyn me d fini par af 4 o EF kal 4 Il est possible de calculer la valeur du minimum du polynome du second degr puisque l on sait que v A 1b 2 On trouve c A 1b 4 Que devient cette valeur si A n est pas sym trique 5 R duire l ellipso de ARR V3 23 ig 3v3 29 gt H H t 2 t 3 O gt 3 gzz 394 16 yz 397 V3a V3y z 3 0 Visualiser le r sultat Trouver de deux fa ons diff rentes x y et z pour lesquels la valeur de la forme quadratique associ e l ellipso de est mini mum 6 tudier l existence d un minimum de 00 f a b c i x ax ba c e dx 0 sur R Indication consid rer le produit scalaire oo P Q gt P x Q x e dx 7 Soit f un endomorphisme d un espace vectoriel euclidien de dimension 3 Sa matrice dans une base orthonorm e est 1 ou w 2 2 u u u 1 w x3 M 3 v 2 v u v w ER u v dL w w 2 1 Diagonaliser f Interpr ter g om triquement
252. ion EXEMPLE 1 Dans l exemple suivant il se trouve que eTV163 est gal l entier 262537412640768744 10712 pr s Si l on ne prend pas garde la pr cision choisie le calcul num rique de cette diff rence donne des r sultats qui semblent incoh rents lorsque le nombre de chiffres significatifs choisi est trop faible seq evalf exp Pi sqrt 163 262537412640768744 i i 10 15 20 25 30 35 s 29 1010 5000 43 36 1075 24 1071 75020 1071 Le ph nom ne d annulation se remarque lorsque le nombre de chiffres sig nificatifs affich s par le syst me est tr s inf rieur la pr cision demand e Ainsi dans l exemple ci dessus dix chiffres sont demand s pour la premi re valeur 29 1019 mais seulement deux sont obtenus Cet exemple montre aussi qu il ne faut pas faire confiance aveugl ment aux chiffres affich s lorsqu ils sont peu nombreux Une technique efficace consiste augmenter la pr cision de mand e de 5 ou 10 unit s et observer la pr cision obtenue si elle augmente de m me alors le r sultat est sans doute fiable R glage de la pr cision Pour obtenir n chiffres corrects au bout d une suite d op rations il faut effectuer les calculs interm diaires avec une pr cision n gt n apr s avoir montr qu elle tait suffisante Par exemple pour le calcul de constantes d finies par une s rie comme dans le cas du sinus int gral de FRESNEL d taill au VIII 1 1 n
253. ion Malheureusement Maple est souvent r ticent ce genre de calcul et renvoie des messages d erreur inopportuns evala subs alpha RootOf x 2 4 1 alpha Error in evala reducible RootOf detected Substitutions are RootOf _Z 2 4 2 RootOf _Z 2 4 2 au lieu de a 4 qui est le r sultat correct Il est galement important de se ramener des nombres alg briques pour prouver des in galit s par le biais de suites de STURM En effet le calcul num rique est toujours entach d erreurs d arrondi Si l on souhaite prou ver que D v5 1 2 lt 75025 46368 on ne peut pas se contenter d une valuation 10 d cimales sqrt 5 1 2 75025 46368 0 On peut bien s r augmenter la pr cision mais il est impossible de savoir a priori quelle est la pr cision n cessaire On proc dera donc plut t ainsi sturm sturmseq x 2 x 1 x x 0 75025 46368 150 VI POLYN MES ET FRACTIONS RATIONNELLES 1 Cette r ponse prouve que le polyn me x x 1 a une racine dans l intervalle 0 75025 46368 Comme d autre part le produit des racines vaut 1 est bien la seule racine positive et on vient donc de prouver qu il est inf rieur 75025 46368 On sait par ailleurs qu il n y a pas galit car evala aurait alors renvoy des formes normales rationnelles dans l exemple 16 1 3 9 Fonctions sym triques des racines La fonction sum permet de calculer directement certaines fonctions sym
254. iques z t y LT D terminer une condition sur les param tres pour que quatre points de la courbe soient coplanaires D terminer une condition pour que trois points de la courbe soient align s La courbe de WATT la fin du xvn si cle on recherchait des moyens de transformer un mouvement circulaire produit par un moteur vapeur en un mouvement longitudinal Le m canisme repr sent en figure 10 fut consid r par J WATT Il s agit d un quadrilat re articul ABCD Le c t AD est fixe et on cherche dans ces conditions la courbe parcourue par le point M milieu de BC Pour simplifier on suppose ici AB CD l on prend l origine au milieu de AD sur lequel on prend l axe des x et on pose BM r Une fois l quation de la courbe trouv e la tracer pouri 1 AD 4 et r 3 2 On consid re la courbe d quation x y ax by zy 0 1 Trouver une param trisation 2 trouver une relation entre les param tres de trois points align s 3 d terminer les points d inflexion La normale en M une parabole y 2px 0 rencontre laxe de la parabole en N et la tangente au sommet de la parabole en P D terminer la courbe parcourue par le milieu de PN Indication le vecteur directeur de la normale en x y une courbe f x y 0 est fi fy D terminer les droites situ es sur la surface 1 1 T Uu V y t z u v u v 164 12 13 14 15 VI POLYN MES ET FRA
255. ire Il est possible de faire moins de travail en utilisant des ordres sur les mon mes sp cialis s pour l limination Malheureusement ces ordres ne sont pas disponibles en Maple et l utilisateur devra alors se tourner vers un syst me sp cialis sur les calculs de bases de GROBNER comme les logiciels Macaulay ou Gb voir Ann C Nous n insistons pas ici sur les pr cautions prendre lorsque l on utilise les syst mes triangulaires obtenus pour l ordre lexicographique pour remon ter de la derni re quation la premi re Il faut en effet garder l esprit que toutes les solutions de la derni re quation ne correspondent pas n cessairement des solutions du syst me au complet Cependant le fait que les mon mes de t te des quations ne s annulent pas en la solution garantit cette corre spondance et cette condition suffisante est d application fr quente C est en particulier toujours le cas si les mon mes de t te de la base sont le produit d une constante par une puissance d une variable 158 VI POLYN MES ET FRACTIONS RATIONNELLES FIGURE 4 EXEMPLE 26 On cherche une droite qui soit la fois tangente et normale la courbe suivante repr sent e en fig 4 r 3t y 2t En un point de param tre to la pente de la tangente est dy dt dx dt to La tangente a donc pour quation param trique T to u yY Yo tou Pour qu elle soit normale la courbe il faut qu
256. is Vert Dans ce jeu quotidien cr en 1987 on choisit dans un jeu de 32 cartes une carte de chaque couleur tr fle pique carreau c ur Les mises tant faites une combinaison de quatre cartes est tir e au hasard Avec deux cartes exactes on gagne 2 fois la mise avec trois cartes 30 fois et avec quatre cartes 1 000 fois la mise 1 Calculer l esp rance de gain pour une mise de un franc 2 Le 29 mars 1988 le carr d as est sorti 22 000 joueurs avaient choisi cette combinaison et la Francaise des Jeux a d d bourser 100 fois le total des mises ce jour la Quelle tait la probabilit que le carr d as sorte au moins une fois dans les 165 premiers jours apr s la cr ation du jeu Quelle est l esp rance du nombre de jours entre deux sorties du carr d as 2 MARCHES AL ATOIRES ET PROBL MES DE RUINE 265 9 Le paradoxe des anniversaires En supposant les 365 jours de l ann e quiprobables calculer partir de combien de personnes dans une as sembl e la probabilit qu au moins deux d entre elles aient le m me jour anniversaire est sup rieure 1 2 M me question pour 3 personnes avec le m me anniversaire 2 Marches al atoires et probl mes de ruine Le mod le des marches al atoires s applique de nombreuses quantit s qui voluent par transitions al atoires Il nous permet d illustrer l utilisation des s ries g n ratrices et d obtenir plusieurs exemples de r sultats
257. is entre 200 et 300 la probabilit de se tromper vaut moins de 0 0006 alors que si l on pr dit qu il est compris entre 225 et 275 on a tort avec une probabilit proche de 2 260 XI CALCULS EN PROBABILIT EXEMPLE 4 Dans l exemple pr c dent toutes les probabilit s pouvaient s obtenir comme des coefficients binomiaux Ce n est plus le cas lorsque l on consid re les d s en particulier pour la somme des valeurs lors de k lancers Au bout de 100 jets de d s la probabilit pour que la somme soit comprise entre 300 et 400 s obtient par de100 expand z 6 z 2 6 z 3 6 z 4 6 z 5 6 z 6 6 100 evalf convert seq coeff de100 z j j 300 400 0 9969883792 1 2 2 Esp rance et cart type Lorsque des valeurs num riques sont associ es aux v nements possibles lancer d un d par exemple on d finit l esp rance math matique qui corre spond a la limite de la moyenne arithm tique des valeurs observ es C est une information importante lorsque par exemple la variable al atoire repr sente un gain dans une partie L esp rance repr sente alors le gain esp r et il faut faire en sorte de la maximiser Si X est une variable al atoire discr te son esp rance est E X S gt kPr X k p 1 k o p est la s rie g n ratrice de probabilit Cette esp rance n est pas n cessaire ment finie mais elle l est pour beaucoup d exemples courants Nous verrons en 82 2 un exem
258. is la pra tique d un langage de programmation facilitera la lecture de certains passages D un point de vue math matique ce livre peut tre abord avec le niveau des classes pr paratoires ou du premier cycle des universit s certains exercices sont pris parmi les questions pos es aux concours d entr e aux grandes coles Bien que l essentiel de ce livre s applique tous les syst mes de calcul formel il tait important d en choisir un pour traiter des exemples concrets et montrer les probl mes que ce traitement pose Nous avons choisi le syst me Maple et tous les exemples ont t r alis s en version V 3 La plupart d entre eux peuvent tre reproduits tels quels dans les autres versions de Maple Tous les calculs ont t r alis s sur une station de travail Dec Alpha 3000 400 sous Unix avec le syst me de gestion de fen tres X Window Les temps de calcul lorsqu ils sont indiqu s correspondent donc cette machine Mais tous les exemples peuvent tre r alis s sur n importe quel ordinateur disposant d une m moire suffisante iii iv AVANT PROPOS Dans la premi re partie du livre les principales fonctionnalit s du syst me sont pr sent es chap I ainsi que l utilisation de son langage de program mation chap IT En seconde partie on aborde successivement les principaux champs d ap plication du calcul formel D abord le trac de courbes chap IT puis les ob jets de base que son
259. isation n est pas toujours possible il faut qu il existe une base de vecteurs propres La forme de JORDAN d une matrice coefficients complexes existe toujours et est diagonale quand la matrice est diagonalisable Le calcul de cette forme requiert la d termination des vecteurs propres et rencontre donc les difficult s mentionn es ci dessus EXEMPLE 17 Notre premi re matrice ne pose pas de probl me jordan A 2 5 81 24t 0 0 0 0 3 1V81 24 0 0 0 0 2t 0 0 0 0 2t 9 En revanche le calcul de la matrice de passage ne parvient pas son terme jordan A P Error in linalg frobenius constpas unable to execute for statement Il s agit la d une faiblesse de la version actuelle de Maple EXEMPLE 18 Sur la seconde matrice jordan renvoie une matrice di agonale qui semble multiple de l identit Il faut cependant interpr ter les l ments de la diagonale comme tous diff rents De mani re surprenante le calcul de la matrice de changement de base s effectue sans probl me 2 2 7 Polyn mes et s ries de matrices Pour calculer un polyn me en une matrice il suffit d utiliser evalm comme nous l avons d j vu En particulier le calcul d une puissance k d une matrice est assez rapide car la m thode d exponentiation binaire voir IV 1 1 1 est employ e Il est parfois n cessaire de calculer non pas des polyn mes en une matrice mais des s ries Ce calcul est possible et fournit u
260. itiale pose probl me dans ce cas pr cis un message d erreur d une faute de programmation est renvoy mais en g n ral dsolve retourne la valeur NULL en cas d chec et Maple n affiche rien Nous recommen ons donc sans la condition initiale dsolve A x diff y x x 72 y x 72 1 0 y x 1 QUATIONS DIFF RENTIELLES ORDINAIRES 247 VA Ar y 1 Ay x A y x 4 2 Yi 2yi 1 7 E y 1 5 2 y 1 5 2 ag y 1 5 2 dyy 04 o V Azylz Av y a 1 Ayla A y z 4 2 Yi 2yi 1 f dy C 0 D QE RD TA Les int grales des membres gauches n ont pas t calcul es Pour en d clencher le calcul il suffit de demander l valuation de l expression pr c dente cf chap II Pour simplifier nous nous contentons de la premi re quation Axy x Axy y x 1 in 2 l V 2_1 C Cette quation se r sout en y x Nous allons d tailler comment on aide Maple obtenir la solution Nous commen ons par utiliser la condition initiale pour d terminer _C1 solve subs x 0 y 0 1 C1 iT 2 On isole ensuite le logarithme et on l ve au carr a ea wy x Az y 1 alul OEY SEV Eine Vue On peut alors normaliser le terme de gauche map normal 45 In ut Viet Il y a alors deux racines possibles epsilon op 1 1 2 op 1 op 2 evi 3 yla Vya D o vaut 1 ou 1 Il ne reste plus alo
261. l Acad mie des Sciences seront con sacr s la th orie de DELAUNAY le tome XXVIII publi en 1860 883 pages et le tome XXIX publi en 1867 931 pages La Th orie du Mouvement de la Lune L tude du mouvement de la Lune se ram ne au calcul de ce qu on appelle la fonction perturbatrice Cette fonction prend en compte l action de la Terre et les perturbations dues au Soleil Pour obtenir une approximation pr cise du mouvement de la Lune DELAUNAY calcule un d veloppement de la fonction perturbatrice par rapport quatre petites quantit s les excentricit s des orbites de la Lune et du Soleil le sinus du demi angle entre les plans d orbite de la Lune et du Soleil et le rapport des distances moyennes la Terre de la Lune et du Soleil Les op rations n cessaires pour mener a bien ce calcul sont la recherche de d veloppements limit s une ou plusieurs variables la d rivation l int gration et la lin arisation d expressions trigonom triques Aujourd hui l aide d un syst me sachant effectuer ces op rations on obtient en quelques minutes le d veloppement de la fonction perturbatrice au m me ordre que DELAUNAY voir l exercice p 205 Sans pour autant discr diter le travail gigantesque de DELAUNAY une seule erreur a t trouv e dans sa formule de cent trente huit pages de la fonction perturbatrice cet exemple donne un aper u des nouveaux outils de calcul scientifique disponibles aujourd hui
262. l exemple 4 ci dessus la fin de la boucle t vaut 2003 EXEMPLE 8 Voici comment calculer la valeur minimale de n telle que Ya k 1 s 0 for k while s lt 1 7 do s s 1 k od nmin k 1 nmin 4 EXEMPLE 9 La commande member d termine si un objet appartient une liste et si c est le cas affecte son troisi me argument l indice de la premi re occurrence Voici comment elle pourrait s crire en Maple simple member proc a l list pos name local i nb elts nb _elts nops l for i to nb elts while a lt gt l i do od if i nb elts 1 then false else pos i 1 true fi end Il nous reste d crire la seconde fa on d utiliser la boucle do l appel avec in Dans ce cas la variable d indice au lieu de prendre des valeurs enti res dans une progression arithm tique prend pour valeurs successives les sous expressions de l expression donn e La d finition pr cise de ce que l on entend par sous expression sera donn e en 82 disons simplement pour l instant qu il s agit des op randes de l expression 1 PRIMITIVES DU LANGAGE DE PROGRAMMATION 37 EXEMPLE 10 Voici une mani re de calculer la somme des carr s des l ments d une liste s 0 for i in liste do s st i72 od En fait liste dans cet exemple n a pas besoin d tre une liste Cette boucle donne le m me r sultat que liste vaille x y z x y 2 x y z ou x y 2 Signalons une erreur courante qui est commise lorsque
263. l exemple qui nous occupe nous verrons en 82 3 comment montrer que le logarithme du terme maximal est de l ordre de rx 2 C est un exer cice plus d licat que de montrer que cette estimation est toujours par exc s D autre part partir de l int grale il n est pas difficile de voir que S est de l ordre de 1 2 lorsque x tend vers linfini Un nombre de d cimales gal Digits log mx 2 convient donc Un autre probleme a r soudre est celui des erreurs d arrondi Si chaque terme de la s rie est calcul avec une erreur l erreur accumul e au bout de N termes est Ne dans le cas le pire Pour obtenir une erreur inf rieure a 7 sur le r sultat il faudrait donc calculer tous les termes de la s rie avec une erreur inf rieure 7 N mais il faut donc conna tre la valeur de N avant la fin du calcul Comme les termes de la somme sont de signe alternant et d croissent a partir d un certain rang le reste est major par le premier terme n glig s il est dans la partie d croissante Il suffit donc d valuer un ordre de grandeur de la valeur de N pour laquelle le N terme est de l ordre de Nous verrons en 3 2 comment d terminer que N log 1 e log log 1 e convient et ce ind pendamment de x pour tr s proche de 0 De ceci d coule qu il faut rajouter au nombre de d cimales utilis es pendant le calcul environ log Digits c o c est une constante peu lev e 3 convient Pour c
264. l de g od sique tOn devrait pouvoir crire directement DEtools phaseportrait mais le package DEtools est mal programm et n cessite l emploi de with 2 TUDE DIFF RENTIELLE DE COURBES 253 i mas a FIGURE 4 La courbe FIGURE 5 La courbe et ses normales et sa d velopp e 2 1 Un calcul de d velopp e Pour des courbes dont la repr sentation param trique est compliqu e les calculs de d velopp e sont lourds mais pas difficiles Il suivent toujours le m me sch ma calculer les quations param triques de la famille des normales la courbe puis l enveloppe de cette famille de droites Nous illustrons cette approche sur un exemple EXEMPLE 8 Nous tudions la courbe donn e par la repr sentation param trique x sin t cost y 1 cos t cost La famille de normales la courbe s obtient facilement partir de ces quations coords sin t 2 cos t 1 cos t 2 cos t vit map diff coords t fam coords 1 vit 2 lambda coords 2 vit 1 lambda fam sin cos t 2sin t cos t 1 cos t sin t 1 cos t cos t 2sin t cos t sin t Ces droites ainsi que la courbe de d part sont repr sent es en figure 4 telles qu elles ont t obtenues par les commandes pi plot sin t 2 cos t 1 cos t 2 cos t t 0 2 Pi p2 plot seq subs t i 2 Pi 100 op fam lambd
265. la figure 5 pour obtenir la partie sup rieure de la figure ajouter 2 k l ordonn e obtenue en 2 pour le palier d abscisse k calculer la valeur de ug correspondante et la liste de valeurs par la proc dure du 1 6 il n y a plus qu tracer toutes ces listes ensemble On s int resse la suite d finie par un ni un 1 et uo 1 dont on veut obtenir le comportement asymptotique 3 SOMMES ET PRODUITS 179 1 Calculer les premi res valeurs 2 faire un dessin des valeurs obtenues 3 ce dessin sugg re d tudier les deux sous suites Un Uan et Wn U2n 1 Les dessiner 4 crire la r currence reliant Un Un 2 sous la forme un f un 2 5 remplacer 1 u _2 par 0 dans cette expression puis en calculer le d veloppement asymptotique 6 remplacer u 2 dans f par le d veloppement obtenu la question pr c dente en ayant soin d y remplacer n par n 2 7 r p ter cette derni re tape et observer que l expression converge vers le d veloppement asymptotique de un 3 Sommes et produits Les sommes et les produits sont des cas particuliers de suites d finies par une r currence lin aire d ordre 1 si Sn et Pn sont d finis par n n SS gt uk et Pa w k 0 k 0 alors ils v rifient Sn Sn 1 Un et Pan UnPn 1 Cependant les particularit s des sommes et des produits permettent de les tudier par des m thodes sp cifiques Dans cette section nous d
266. lculer une valeur approch e partir de telles s ries Le c ur de la proc dure consiste en une boucle qui calcule les termes de la s rie et les additionne en essayant de faire le moins d op rations possible Dans le cas de S x cette boucle s crit ainsi t evalf x 2 Pi 2 u t 2 t x t s t 3 olds 0 for k from 2 by 2 while s lt gt olds do olds s t u t k 2 k s s t 2 k 3 od Pour finir l criture de la proc dure il reste r gler le probleme de la pr cision a utiliser dans les calculs interm diaires si le nombre de chiffres corrects que doit avoir le r sultat est Digits Les valeurs absolues des premiers termes de la somme pour x 3 sont trac s en figure 1 Comme souvent pour les s ries convergentes les termes commencent par croitre en valeur absolue avant de d cro tre pour tendre vers 0 Du point de vue de l valuation cela pose un probl me pour obtenir k d cimales du r sultat il faut calculer les premiers termes avec plus de pr cision Ainsi dans notre exemple le 4 terme de la s rie vaut environ 13 326 alors que S 3 0 496 313 pour obtenir cette valeur avec 10 d cimales il faut donc calculer les premiers termes de la suite 1 S RIES NUM RIQUES 191 avec 15 chiffres significatifs La pr cision utiliser pendant le calcul d pend donc de la taille du terme maximal et de la taille du r sultat informations g n ralement inaccessibles avant le calcul Dans
267. le faisant intervenir la fonction max Si nous essayons de faire le calcul avec la m thode d int gration par d faut quadrature de CLENSHAW CURTIS Maple s arr te au bout de 95 minutes en disant qu il n arrive pas traiter les singularit s En revanche avec la r gle de NEWTON COTES sp cifi e par l argument _NCrule le r sultat est obtenu en moins de deux minutes f max x y x 1 y 1 x z 1 x 1 z f max x l y 1 2 z xy 1 x 1 z st time evalf Int Int Int f x 0 1 10 NCrule y 0 1 10 _NCrule z 0 1 10 _NCrule time st 5659985785 117 716 Ce r sultat est correct une unit pr s sur la derni re d cimale L valuation num rique des int grales multiples est assez lente en Maple Il faut savoir en effet que du fait de la m thode employ e le temps de calcul est multipli par 25 environ chaque dimension suppl mentaire Dans le cas d une fonction r guli re la m thode de SIMPSON peut donner rapidement une premi re approximation st time student simpson f x 0 1 8 student simpson y 0 1 8 student simpson z 0 1 evalf time st 5661168983 8 917 Le dernier argument de simpson est le nombre d intervalles utilis s la fonc tion a t valu e ici 9 729 fois 2 6 1 Fonctions oscillantes Dans le cas de fonctions changeant de signe un nombre tres grand voire infini de fois sur l intervalle d int gration
268. le plus souvent par l interm diaire d un fichier texte cause de ces recopies cette technique n est int ressante que lorsque le nombre d op rations est lev par rapport au volume des donn es transmettre en entr e ou en sortie du sous programme Cette section d pend assez fortement du syst me d exploitation utilis Les indications donn es ci dessous s appliquent au syst me Unix EXEMPLE 8 Le calcul de termes d une suite num rique est un exemple id al Consid rons la fonction f de l exemple 7 p 280 Un programme C r alisant le m me calcul est le suivant include lt stdio h gt include lt stdlib h gt main int argc char argv double a b c a0 atof argv 1 b0 atof argv 2 int n atoi argv 3 for a a0 b b0 n amp amp a a b b lt 4 n c a a b b b 2 a b b0 a c a0 printf e n a a b b Les arguments ao bo et n sont donn s sur la ligne de commande Une fois le programme compil son ex cution est tr s simple mandelbrot 0 3 0 2 100000 1 767315e 01 Depuis Maple cet ex cutable s utilise comme un sous programme ainsi readlib C ff proc a0 b0 n system cat mandelbrot C float a0 C float b0 n gt resultat 286 XII CALCUL FORMEL ET CALCUL NUM RIQUI op readdata resultat end f 0 3 0 2 100000 176731500000000014 Le temps de calcul du sous programme en C est environ 37 mi
269. ler le d veloppement asymptotique lorsque x oo de loet m 2 1 sr er cost dt 1 dt s t 0 0 1 T 00 J log 1 t dt i sint t dt et 1 2 dt 0 0 00 D terminer le comportement asymptotique du n coefficient de Taylor de la fonction T z d finie par T z 1 2T z T 2 On souhaite d terminer la limite quand n oo de la primitive n 1 en41 7 Zz nen et e f 0 ert er 1 o la suite cn est d finie par co 1 c 1 et NCy 2n 1 cn 1 n 2 cn 2 0 n gt 1 dx 1 1 Calculer et r soudre l quation diff rentielle satisfaite par la fonction g n ratrice de la suite cn 2 en d duire la fonction g n ratrice de l int grande puis de l int grale 3 localiser la singularit dominante en fonction de t et en d duire la limite CHAPTER IX Int grales et primitives E CALCUL D INTEGRALES ET DE PRIMITIVES est un domaine auquel le cal L cul formel a beaucoup apporter En effet obtenir l expression d une primitive ou d une int grale d finie est une op ration en g n ral difficile r aliser la main autant en raison de la taille des calculs qu en raison des connaissances math matiques n cessaires Les classes d int grales que les syst mes savent calculer sont bien d limit es et leur connaissance per met de guider les calculs Nous d crivons ces classes dans ce chapitre Nous commen
270. les Une structure est dite d compo sable si elle est form e a partir d atomes par un nombre fini de constructions combinatoires Les constructions combinatoires les plus couramment utilis es sont l union le produit cart sien et la construction s quence qui forme des suites d objets L exemple des d num rants se d compose en le produit cart sien d une s quence ventuellement vide de pi ces de 1 franc d une s quence de pi ces de 2 francs et d une s quence de pi ces de 20 francs ce que l on note 4 D Seq Fi x Seq F2 x Seq F5 x Seq Fio x Seq F20 o Fy est l atome pi ce de k francs L int r t d une telle formulation est qu elle se traduit directement en ter mes de s ries g n ratrices La s rie g n ratrice de la suite un est par d finition U z gt Ua n 0 Si A est une classe de structures d composables a repr sente le nombre de structures de taille n dans cette classe et A z la fonction g n ratrice de cette suite Les r gles donn es au tableau 1 permettent alors de calculer facilement les s ries g n ratrices Ainsi l quation 4 se traduit en 7 1 1 1 1 1 E 1 F 2 1 Fy z 1 Fs z 1 Fio z 1 Fo0 z D z La taille d une pi ce tant prise gale sa valeur F z z ce qui donne bien la forme indiqu e en 3 Le coefficient de z dans la s rie D z est le nombre de structures de taille n c est a dire ici le nomb
271. les nombres d cimaux de la machine les quatre op rations les fonctions trigonom triques l exponentielle le logarithme Leur pr cision est limit e 280 XII CALCUL FORMEL ET CALCUL NUM RIQUI a une quinzaine de chiffres mais ces op rations sont bien plus rapides que celles en pr cision arbitraire fournies par le syst me Ces nombres sont sou vent utilis s en Maple l insu de l utilisateur Les deux cas les plus importants sont les trac s graphiques plot et plot3d o cinq d cimales suffisent large ment et l int gration num rique evalf int lorsque la pr cision demand e est inf rieure quinze chiffres EXEMPLE 6 Pour calculer la 10 000 it r e de la suite d finie par up 1 et Un 1 Un sin un une premi re solution est d ex cuter s 1 0 to 10000 do s stsin s od en affectant au pr alable a la variable Digits le nombre de d cimales voulues plus quatre ou cing pour se pr munir contre les erreurs d arrondi Si une quinzaine de d cimales suffisent la commande s 1 0 to 10000 do s evalhf s sin s od est trois fois plus rapide Mieux encore l valuation d une proc dure f proc u0 local u u u0 to 10000 do u utsin u od end s evalhf f 1 0 est quatorze fois plus rapide En effet dans ce dernier cas la conversion entre les nombres d cimaux de Maple et ceux de la machine n est faite que deux fois l entr e et la sortie de la proc dure f EXEMPL
272. lify dsolve eq y z series z 2 IEN IROA Cozitv2 i t ylz 0127 i O 2 1 2V2 4 1 2V2 1 V2 o Lorsque la singularit n est pas l origine il faut d abord l y ramener par un changement de variables 3 7 S ries g n ratrices Le comportement asymptotique d une suite se lit sur les singularit s de sa fonction g n ratrice La position des singu larit s de plus petit module donne la croissance exponentielle Le comporte ment de la fonction au voisinage de ces singularit s donne la croissance sous exponentielle Un exemple de cette m thode de calcul asymptotique a d j t pr sent pour le cas des suites solutions de r currences lin aires coeffi cients constants Voici quelques autres exemples pour illustrer cette m thode Dans tous les cas les singularit s sont polaires ou alg briques isol es mais la m thode s tend d autres types de singularit s Formellement les op rations faire sont les suivantes e localiser la ou les singularit s de module minimal e calculer le d veloppement de la fonction g n ratrice au voisinage de cette ces singularit s e prendre les coefficients terme terme en utilisant le fait que 9 Qc Sa agn ou chacun des coefficients est d velopp par la formule de STIRLING sauf bien s r si a est entier Dans tous les exemples qui suivent la fonction g n ratrice est connue ex plicitement Cependant il est imp
273. lle marche est produite et dessin e de la fa on suivante Sur un cran couleur la troisi me dimension est visualis e par la couleur qui appara t ici en niveaux de gris x 0 y 0 z 0 die rand 1 6 dx 1 1 0 0 0 0 dy 0 0 1 1 0 0 dz 0 0 0 0 1 1 for i to 1000 do 1 i x y z r dieQ x xtdx r y y dy r z z dz r od pointplot seq 1 i i 1 1000 3 AUTRES TYPES DE TRAC S 87 Pour tracer un ensemble de points issus d un fichier on aura recours la commande readdata voir 1 4 2 5 Trac d intersection Pour tracer l intersection de deux surfaces dont les quations sont f x y z 0 et g x y z 0 ce qui revient tracer une courbe d finie de fa on implicite en trois dimensions on pourra utiliser la commande intersectplot de la share library que l on charge par with share readshare intplot plots La figure 20 p 88 montre le trac simultan d un cylindre d une sph re et de leur intersection 2 6 Exercices 1 V rifier graphiquement que les surfaces z y x et z 2 3 cosx cosy n ont pas d intersection sur 1 lt x y lt 1 en modifiant le point de vue avec la souris puis le prouver formellement 2 Dessiner la surface param tr e d finie par x 2 vsin u 2 sinu y 2 vsin u 2 cosu z vcos u 2 sur le domaine 0 lt u lt 27 1 lt v lt 1 3 Dessiner la surface d finie par Ag 2 ry 2222 4zy 22y 2 x 0
274. llisecondes et le temps de transfert des donn es est de 2 millisecondes soit un temps total voisin de 0 04 seconde contre 107 s en Maple et 3 7 s en Maple avec les flottants de la machine La compilation nous a donc permis d acc l rer d un facteur 100 notre programme 2 2 Code valuant une expression Avant d illustrer les deux modes de production de code expressions et programmes nous d crivons un exemple typique de probl me num rique la r solution d un syst me non lin aire R solution d un syst me non lin aire Un syst me non lin aire n quations et n inconnues se pr sente sous la forme fi ti 2n 0 Cr 0 avec X1 appartenant R Ce syst me s crit aussi sous forme ma tricielle F X 0 apr s avoir pos T1 Fl re tn x et F X In Snit cgin Une fa on de r soudre un tel syst me est d utiliser la m thode de NEWTON g n ralis e extension de la m thode de NEWTON pour la recherche de z ros d une fonction Cet algorithme peut s crire toujours en notation matricielle X Xo while norm F X gt do lt trouver Y solution du syst me lin aire F X Y F X gt X Y X end o F X repr sente la matrice jacobienne du syst me c est dire la matrice dont l l ment i j est 0f 0x Il faut donc calculer n n 1 2 d riv es partielles la matrice est sym trique avant de pouvoir crire le programme de r solution ou d utiliser un
275. lottants sont repr sent s par des couples m e o m et e sont des entiers respectivement la mantisse et l exposant Par cons quent tous les calculs flottants en grande pr cision sont bas s sur les op rations entre grands entiers Il ressort de ceci que l on a int r t lorsque c est possible utiliser directement des entiers C est notamment le cas lors du calcul approch d une somme s t lorsque le quotient t 1 t est rationnel en 7 Au lieu d ajouter les nombres flottants t il vaut mieux ajouter les nombres entiers t 10 t o d est le nombre de d cimales du r sultat final t s obtient partir de t par multiplication et division enti re EXEMPLE 3 La proc dure ci dessous calcule ainsi n d cimales de e la base des logarithmes n p riens Enum proc n local t s i t 10 n s t for i while t lt gt 0 do t iquo t i s s t od Float s n end Bien qu interpr t e cette proc dure est presque aussi rapide que evalf E n qui appelle une routine du noyau de Maple et 35 fois plus rapide que la proc dure suivante Enum2 proc n local t s i Digits n t 1 0 s t for i while t gt Float 1 n do t t i s s t od s end En plus du gain d l utilisation d entiers au lieu de nombres flottants le premier programme ne calcule des termes t que la partie utile au r sultat final alors que le second les d termine tous avec n chiffres significatifs 278 XII CALC
276. m par l entier 3 Pour toutes les op rations math matiques que l utilisateur souhaite r aliser sur cette expression la d river l int grer calculer son d veloppement de TAYLOR le syst me ne dispose que de cette information syntaxique Des questions centrales du calcul formel comme la simplification sont li es cette distinction entre la vision syntaxique du syst me et la vision math matique de l utilisateur Ce livre s attache d crire les fonctionnalit s des syst mes en termes de classes d expressions Ces classes sont des ensem bles d expressions purement syntaxiques et non math matiques Ainsi 0 et 1 exp 1 exp 1 sont deux objets identiques d un point de vue math matique mais tr s diff rents du point de vue d un syst me de calcul formel Un des objectifs de ce chapitre est de montrer comment le syst me Maple r alise le passage du syntaxique au math matique Les autres syst mes ex cept Axiom fonctionnent sur les m mes principes T 46 II UTILISATION AVANC E 2 1 Structure des expressions Une expression comme a exp 3 2 sin r 3 1 x peut tre visualis e comme un arbre fig 1 Cet arbre se lit de haut en bas et se d crit avec un vocabulaire g n alogique les n uds situ s sous la racine sont ses fils et les fils d un m me n ud sont des fr res la racine de l arbre se trouve Vop rateur qui repr sente le produit Ses trois fils sont les trois facteurs
277. me la mani re des r sultants dans le cas o l on avait deux polyn mes ces bases fournissent donc des polyn mes o l on a limin certaines des variables EXEMPLE 24 La surface repr sent e en figure 3 a t trac e gr ce la repr sentation param trique T UV Y U U z uv v par la commande plot3d ut v utv u 2 v 2 u 10 10 v 10 10 On peut obtenir une relation entre x y et z ainsi sys x u v y utv z u 2 v72 grobner gbasis sys u v x y z plex ytuty 2 2r z y 2 y 2vy 3_ dye 2uz 2 yt 4y2z yety Le dernier polyn me de cette base et lui seul ne fait appara tre ni u ni v et donne donc l quation cherch e Plus g n ralement tous les polyn mes que l on peut d duire d un syst me et dans lesquels certaines des variables ont t limin es peuvent galement tre d duits de la base calcul e pour l ordre lexicographique Pour cela il suffit de mettre les variables liminer en premier Quand comme dans notre exemple il n y a qu un polyn me dans la base pour lequel les variables ont t limin es cela signifie que seuls les multiples de ce polyn me r pondent la question 2 POLYN MES ET SYST MES MULTIVARI S 157 Une autre utilisation de l limination est la recherche d une relation de liaison entre des polyn mes EXEMPLE 25 Les polyn mes p p2 et q introduits dans l exemple 22 sont li s
278. me Par exemple si l on part du syst me r duit un polyn me x on ne peut pas d duire au sens pr c dent que x 0 Pour les d ductions g om triques il ne suffit donc pas de tester si le polyn me se r duit 0 par une base de GROBNER il faut en r alit tester si une puissance du polyn me se r duit 0 Malheureusement on n a pas connaissance a priori de la puissance n cessaire On peut quand m me faire le calcul l aide de bases de GROBNER au prix de l ajout d une variable Si S f1 fk est le syst me et g le polyn me dont on cherche prouver qu il s annule sur la vari t d finie par S on calcule la base de GROBNER du syst me S U 1 tg o t est une variable annexe Si g s annule en toutes les racines de S alors le syst me n a pas de solution et la base doit tre r duite a 1 162 VI POLYN MES ET FRACTIONS RATIONNELLES FIGURE 8 FIGURE 9 Cependant les calculs deviennent bien plus co teux et en g n ral pour les probl mes bien pos s on n a pas faire intervenir cette variable suppl men taire La difficult en pratique vient plut t de ce qu il faut penser rajouter un certain nombre de conditions pour viter les cas de d g n rescence comme l quation 1 de l exemple 23 2 3 Exercices 1 D terminer pour que les deux droites _y 2 2r y 2z se rencontrent 2 Sur la figure 8 on conna t les longueurs suivante
279. mel sont donc restreints dans ce domaine leur capacit r soudre de telles quations voir chap VI EXEMPLE 13 Toujours sur la m me matrice le calcul ne pose pas de probl me eigenvals A V81 24t V81 24t 2 2 Lorsque les valeurs propres ne sont pas connues explicitement il est par fois possible de poursuivre le calcul avec des nombres ou fonctions alg briques gr ce la notation RootOf voir chap VI 2t 9 2 9 2 9 24 2 ALG BRE LIN AIRE 125 EXEMPLE 14 Voici ce qui se produit le plus souvent randmatrix produit une matrice al atoire B randmatrix 5 5 17 98 36 40 22 5 88 43 73 25 4 59 62 55 25 9 40 61 40 78 62 11 88 1 30 eigenvals B Root Of 4512860849 39920068_Z 747447 6573_Z3 27_Z4 _Z S il n est pas n cessaire de distinguer entre les diff rentes racines de ce polyn me alors le calcul se poursuit g n ralement sans trop de difficult sinon il s agit d un probl me qui est la limite des possibilit s actuelles du calcul formel 2 2 5 Vecteurs propres Connaissant les valeurs propres les vecteurs propres s obtiennent par r solution d un syst me lin aire La difficult suppl mentaire est que cette r solution s effectue avec des matrices dans le corps engendr par les entr es de la matrice de d part et par les valeurs propres ce qui peut tre co teux EXEMPLE 15 Pour la premi re matrice p 1
280. ment sur les d veloppements avec un grand nombre de termes voir le 2 2 4 du chapitre IV pour le cas des fractions rationnelles 2 3 Fonctions d finies implicitement Le plus souvent ce n est pas de fonctions connues explicitement que l on cherche un d veloppement mais plut t d une fonction d finie implicitement comme solution d une quation Le d veloppement permet alors de calculer des valeurs approch es faible co t en plus de donner une id e du comportement local Nous montrons ici com ment rechercher une s rie par coefficients ind termin s puis nous pr sentons l inversion de s ries formelles et quelques unes de ses applications On consid re le probl me de CAUCHY y 2 sin z y 2 GG y 0 0 y 0 1 TLa relation entre le dernier argument de series et l ordre que l on souhaite obtenir n est pas aussi claire que d sirable l argument donn series est en gros l ordre utilis dans les calculs interm diaires Lorsqu il y a beaucoup d annulations on obtient donc moins de termes qu on le voudrait La valeur par d faut de ce nombre de termes est gouvern e par la variable globale Order 200 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES La m thode la plus directe consiste substituer une s rie arbitraire dans cette quation puis effectuer le d veloppement en s rie de l expression obtenue et enfin r soudre le syst me form de l ensemble des coefficie
281. mmande trace 3 4 Exercices 1 Reprendre l exercice 3 de la page 44 en rempla ant la liste par un array 2 Reprendre les questions de l exercice 1 p 54 en utilisant des tables pour stocker les listes Les tables contiennent le champ first et le champ suite qui est son tour une table ou NULL pour indiquer la fin de liste On demande d crire deux variantes des proc dures append cons endcons 3 APPROFONDISSEMENT DU SYST ME 73 reverse et rest une qui modifie la liste pass e en argument et une autre qui renvoie une nouvelle liste tendre Maple par l ajout d une fonction invGAMMA qui repr sente l inverse de la fonction I pour la composition Ecrire les proc dures n cessaires l valuation num rique la simplification et la d rivation On pourra utiliser solve tendre le syst me par l ajout d une proc dure Indiff qui calcule la d riv e logarithmique d une fonction sans passer par diff Cette proc dure devra savoir traiter les fractions rationnelles les fonctions In exp Poursuivre l exercice pr c dent en d finissant 1ndiff de telle fa on qu elle puisse tre tendue par l ajout de proc dures Indiff toto crire alors Indiff sin et lndiff cos De nombreux valuateurs series evalf evala tablissent un mor phisme entre deux types d expressions les sommes sont transform es en sommes les produits en produits Dans ces circon
282. n 1 2 1 5 23 _ 665 o le slr le zl SA n n2 mM 3n1 24n5 Avec k it rations cette m thode fournit un d veloppement correct jusqu au terme en 1 n inclus A titre de confirmation voici la valeur num rique de ce dernier d veloppement en n 100 subs n 100 0 01010257944 O 0 000000000001 10 pr s il s agit de la valeur renvoy e par la proc dure essai du d but de cette section 2 3 Exercices 1 2 3 On tudie la suite d finie par uo gt 0 Un log 1 un Un 1 ae 1 V rifier que la fonction x x log 1 x x ne poss de qu un point fixe strictement positif 2 calculer une approximation num rique du point fixe 3 v rifier que le point fixe est attractif 4 d terminer le d veloppement asymptotique de un en repr sentant le point fixe symboliquement Cet exercice d taille les tapes n cessaires l obtention de la figure 4 p 176 1 crire une proc dure qui prend en argument une valeur de w et qui renvoie la liste 0 uo 1 u1 30 ugo sauf si up gt 6 pour un certain k auquel cas elle renvoie 0 uo 1 u1 4 1 uk 1 k 6 2 calculer les valeurs des ordonn es des 20 premiers paliers 3 calculer les valeurs de up correspondantes 4 tracer l ensemble des listes produites par la proc dure du 1 sur ces valeurs de ug on doit obtenir la partie inf rieure de
283. n a de sens que si a est une table Lorsque la variable a n a pas t d clar e explicitement par a table le syst me au lieu de protester en rencon trant l affectation a 3 0 d cide de cr er une table et d associer la valeur 0 l entr e 3 Le cas des proc dures est li l utilisation de l affectation pour remplir la table de remember voir 81 3 Le syst me cr e dans ce cas automatiquement une table de remember et une proc dure qui ne fait rien sauf pour la valeur particuli re qui a t d finie print f proc options remember procname args end R gle d valuation La deuxi me particularit des tables donc des matrices qui sont des tables particuli res et des proc dures est leur r gle d valuation lorsqu une table ou une proc dure a t affect e une variable l valuation de celle ci produit son nom Pour acc der au contenu de la table ou de la proc dure il faut explicitement faire appel eval En termes de fl ches V valuateur s arr te de suivre les fl ches lorsqu il d tecte un de ces objets Voici un exemple qui illustre une des cons quences de cette r gle pour l utilisateur a 3 b a a 2 f proc 0 end g f f 2 b g 3 2 Dans le premier cas au moment de l affectation b a a est valu et l interpr te affecte b la valeur 3 Le fait que a soit modifi par la suite n a aucune incidence sur b L interpr tation en termes de fl ches es
284. n est pas produite automatiquement La com mande de r duction est series Comme pour evalf l ordre des d veloppe ments est sp cifi soit en donnant un argument suppl mentaire series soit en modifiant la variable globale Order qui vaut 6 par d faut EXEMPLE 8 series x 2 x x 2 0 x73 x 3 32T ral 3 O x s series exp sin log 1 x x 1 s 1l x gn Past 362 Ol series s 2 x3 x 4 9 1 2x x 3 O a 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 21 Il est important de noter que si les coefficients des d veloppements limit s sont dans une classe d expressions n admettant pas de forme normale alors les r sultats renvoy s par series peuvent tre faux EXEMPLE 9 Une des fa ons les plus simples de d guiser 0 consiste V crire exp 1 exp 1 1 Ceci conduit une erreur de series f 1 z z exp z exp 1 z f t z zezel z series f z 1 2 1 l 1 3ee7t 1 ee l ee 1 1 ee eee Le premier terme est en r alit infini series devrait rep rer un p le simple et produire 1 2 1 2 O 1 ce que l on obtient en appliquant series combine f exp tab 5 p 25 2 2 4 Nombres alg briques Un nombre alg brique est d fini comme racine d un polynome Lorsque le degr du polyn me est plus grand que 4 il n est pas possible de le r soudre explicitement en g n ral Cependant de nombreux calculs sur ses racines
285. n interactive dans un proc end sans avoir rajouter d indication partic uli re Bien que la syntaxe pr sent e p 34 indique qu il est possible de don ner un type aux arguments d une proc dure cela n est nullement n cessaire Lorsqu un type est d clar chaque appel de la proc dure l interpr te v rifie que l argument est bien du type sp cifi Par exemple chaque ex cution de la proc dure simple_member le deuxi me argument et le troisi me sont test s pour v rifier qu il s agit bien d une liste et d un nom de variable L instruction RETURN permet de renvoyer un r sultat avant d arriver la derni re instruction d une proc dure De m me l instruction ERROR mesg d clenche une erreur avec mesg pour message 40 II UTILISATION AVANC E T EXEMPLE 15 Cette proc dure renvoie son argument s il est n gatif et calcule sa factorielle sinon proc n integer local i f if n lt 0 then RETURN n fi ET for i to n do f f i od f end 7 EXEMPLE 16 Une autre fa on de programmer la factorielle est d utiliser la r cursivit fact proc n if n lt 0 then ERROR invalid argument fi if n 0 then 1 else n fact n 1 fi end Lorsque la proc dure est appel e avec un entier positif elle se rappelle avec l argument r duit de 1 jusqu ce que l argument vaille 0 alors elle renvoie 1 et effectue chacune des multiplications Les op rateurs fonctionnels introd
286. n plus g n rale donne un acc s direct ce nom pour toutes les variables EXEMPLE 42 Pour d saffecter les variables index es x 1 x 10 on ne peut pas faire for i to 10 do x i x i od puisque la variable i ne va pas tre valu e dans le terme de droite En revanche on peut utiliser subs ainsi for i to 10 do x i subs t i x t od La solution la plus directe consiste utiliser la commande evaln for i to 10 do x i evaln x i od 3 1 2 Evaluation des expressions L valuation d une expression consiste parcourir l arbre la repr sentant en valuant chacun des n uds et chacune des feuilles Les simplifications automatiques sont d abord appliqu es l expression En dehors des cas sp ciaux d valuation comme les apostrophes les descendants de la racine sont valu s r cursivement et la proc dure qui est la racine est alors valu e avec ces arguments EXEMPLE 43 Pour illustrer la simplification automatique de la premi re phase nous cr ons une proc dure dont l valuation produit une boucle infinie boucle_inf proc do od end Voici quelques simplifications automatiques effectu es avant l valuation true or boucle_inf boucle_inf boucle_inf true 0 La protection des expressions agit comme pour les noms l valuateur se contente d ter un niveau de protection mais n value pas l objet prot g Les simplifications automatiques ont cependant lieu
287. n x f dt Si a dt mas 5 in cost 1 Ci x 7 In iz r dt 2 0 t Deux autres fonctions importantes pour l int gration sont reconnues par Maple la fonction Heaviside t qui est nulle pour t lt 0 et vaut 1 pour t gt 0 et sa d riv e la fonction Dirac t 1 PRIMITIVES 225 Toutes ces fonctions sont connues du syst me en ce sens qu il est possible de les valuer num riquement de les d river d en calculer le d veloppement en s rie Il est galement possible d en int grer certaines Il ne s agit plus la d une classe d expressions pour laquelle l int gration est garantie Ceci signifie que lorsque Maple ne trouve pas de primitive d une expression comportant des fonctions sp ciales cela n quivaut pas une preuve de l inexistence d une primitive dans cette classe Cependant quelques heuristiques permettent au syst me d int grer certaines de ces fonctions ou de les utiliser pour exprimer des primitives de fonctions l mentaires EXEMPLE 10 Nous profitons ici de la diff rence entre la commande d int gration int et sa forme inerte Int f exp x 2 1 x Int f x int f x f sin x 2 1 x Int f x int f x i i i Ce cos 1 Si x sin 1 Ci x x 2 2 int Heaviside x x 2 x ELA Heaviside x int Dirac x Dirac x t x Heaviside x Dirac t EXEMPLE 11 D autres fonctions sp ciales comme les fonctions de BESSEL sont
288. n 1 x au voisinage de z ro le syst me calcule un plus grand nombre de points que par d faut 49 en Maple afin d obtenir un rendu lisse Pour s en convaincre il suffit d ajouter l option style point qui trace les points calcul s sans les relier La figure 5 p 80 montre un tel trac contenant 69 points dans la premi re moiti 0 1 2 et 24 dans la seconde 1 2 1 Ce m canisme de raffinement automatique est tr s volu en Maple et il est difficile de trouver une fonction non nulle et contin ment d rivable sur 0 1 dont le trac fait d un nombre fini de points se confond avec celui de la fonction nulle Bornes infinies Dans le cas de bornes infinies Maple utilise une transfor mation ramenant l intervalle fini 1 1 x 8 pour z lt 4 et z 2 x pour z gt 4 Ceci autorise la visualisation de fonctions sur des intervalles 80 III COURBES ET SURFACES FIGURE 5 plot x sin 1 x FIGURE 6 plot arctan x 1 x x 0 1 style point x 0 infinity de largeur infinie en donnant simplement infinity ou infinity pour l une des bornes fig 6 Recherche de z ros La commande fsolve a parfois du mal d tecter les racines d quations du type f x 0 On peut l aider en d terminant l aide d un graphique un intervalle dans lequel se trouvent des racines EXEMPLE 2 Cherchons les racines de l quation sin z exp a cos x 0 dans l intervalle 0 10 Le graphe de la fig
289. n Maple que l on peut d finir par j l d o E X X Snap 1 j 1 Le quatri me moment est ainsi E X 4 convert seq stirling2 4 j D j p 1 j 1 4 9 5 E X D p 1 7D p 1 6 D p 1 D PA qui se lit p 1 7p 1 6p 1 p 1 1 2 4 Distributions classiques Dans les exemples les plus simples qui viennent l esprit tirage pile ou face lancer de d tirage du loto tous les v nements ont la m me probabilit de se produire La distribution de probabilit est alors uniforme Mais dans de nombreux cas courants la distribution n est pas uniforme Il en va ainsi pour le nombre de piles lors de k tirages dont la distribution de probabilit s est trac e en figure 2 pour k 100 C est un exemple de distribution binomiale Plus g n ralement si p est la probabilit d un certain v nement et g 1 p la probabilit qu il se r alise k fois lors de n tirages ind pendants est le coefficient de z dans pz q c est dire N ko n k e Esp rance et variance du nombre de r alisations s obtiennent facilement 262 XI CALCULS EN PROBABILIT f 0 p z 1 p n f 1 diff f 0 z 2 diff f 1 z subs z 1 f 1 factor subs z 1 f 2 f 1 f 1 2 np np 1 p L esp rance est conforme l intuition apr s n tirages o l v nement a une probabilit p on esp re l avoir observ np fois Quant la variance elle cro
290. n argument EXEMPLE 53 duree for i to 50 do ifactor 2 i 1 od 1 033 Au niveau de l interface on dispose de la commande alias qui per met d utiliser des abr viations Contrairement macro ces abr viations n affectent pas les expressions ou les proc dures mais uniquement leur af fichage Au d marrage du syst me le nombre imaginaire 7 est d fini comme un alias de 1 ce qui permet la simplification automatique i 1 3 2 Structure interne des objets Maple Une grande partie de l efficaci t du syst me Maple lui vient d une caract ristique sp cifique les objets y sont uniques Nous allons d crire bri vement dans cette section le proc d utilis et surtout ses cons quences pour l utilisateur en qu te d efficacit Hachage et simplification automatique Le hachage est une technique informa tique permettant de cr er des tables cl valeur auxquelles l acc s s effectue en temps constant contrairement aux listes par exemple o l acc s demande un temps proportionnel au nombre d l ments de la liste Les tables en Maple sont des tables de hachage Il s ensuit en particulier que le temps de recherche dans la table de remember d une proc dure est ind pendant du nombre d entr es qui y ont t stock es Tous les objets utilis s au cours d une session Maple sont stock s dans une table de hachage particuli re Ceci s applique non seulement aux ob jets nomm s mai
291. n de longueur minimale entre deux points Pour de bonnes surfaces cette propri t est aussi globale Le calcul se m ne simplement en utilisant la propri t que l acc l ration d un point se d pla ant sur la g od sique est en tout point perpendiculaire la surface EXEMPLE 9 Nous allons calculer des g od siques d un tore fourni par sa repr sentation param trique pt 3 cos phi xcos theta 3 cos phi sin theta sin phi pt 3 cos cos 8 3 cos sin 9 sin Le mouvement d un point sur la surface est d termin par la variation des param tres en fonction du temps time_dep theta theta t phi phi t Le vecteur acc l ration s obtient comme d riv e seconde des coordonn es du point par rapport au temps acc diff subs time_dep pt t t Les vecteurs tangents a la surface s obtiennent par d rivation par rapport aux param tres tang subs time_dep diff pt phi diff pt theta Il ne reste plus qu crire que l acc l ration est perpendiculaire ces deux vecteurs soit deux produits scalaires sys seq v 1 acc 1 v 2 acc 2 v 3 acc 3 v tang 2 TUDE DIFF RENTIELLE DE COURBES 255 FIGURE 6 Une portion de g od sique du tore Ces quations fournissent un syst me diff rentiel non lin aire d finissant t et 0 t Dans notre exemple ces quations se simplifient un peu combine sys trig L 500 sin 24 3sin 6 0 00 p
292. n et le test voici comment calculer la somme des inverses des nombres premiers inf rieurs 10 s 0 for i to 10 do if isprime i then s s 1 i fi od 5 247 210 Proc dures Les op rateurs fonctionnels pr sent s au chapitre I constituent le cas le plus simple de proc dures La syntaxe g n rale de celles ci suit le sch ma suivant proc x1 typel x2 type2 x3 type3 local yl y2 y3 global z1 z2 z3 options op1 op2 op3 corps de la proc dure end nl 1 PRIMITIVES DU LANGAGE DE PROGRAMMATION 35 Le corps de la proc dure est constitu d instructions du m me type que les instructions de l utilisation interactive Nous reviendrons en d tail sur les diff rentes parties de la proc dure au 81 3 L exemple suivant montre qu il n est pas difficile de cr er une proc dure partir d un calcul qui fonctionne EXEMPLE 3 Le calcul de pgcd de l exemple 1 se transforme en une proc dure qui calcule le pgcd de deux polyn mes simple gcd proc a b x local pl p2 t p2 a t b while t lt gt 0 do pl p2 p2 t t rem p1 p2 x od p2 end 1 2 It ration L it ration en Maple existe sous quatre formes la boucle do introduite ci dessus et les primitives seq map du langage Nous passons maintenant en revue ces diff rentes instructions Boucle do Seuls les mots cl s do et od sont obligatoires dans la boucle do Nous allons illustrer la syntaxe du do sur plusieurs exemples en
293. ne il est n cessaire de recourir aux nombres flottants en pr cision arbitraire du syst me de calcul formel ce qui peut s av rer co teux en temps Certaines biblioth ques telles que GMP Bignum ou Pari voir Ann C font aussi ce type de calcul en grande pr cision mais il faut s attendre au mieux un gain de l ordre de dix De plus GMP et Bignum savent faire uniquement les op rations arithm tiques l mentaires addition multiplication soustraction division et n ont pas la souplesse d emploi d un syst me interactif La grande pr cision est cependant souvent n cessaire lors de calculs insta bles num riquement Dans certains cas les calculs num riques peuvent assez 275 276 XII CALCUL FORMEL ET CALCUL NUM RIQUI facilement tre acc l r s de mani re non n gligeable nous l illustrerons sur deux exemples importants Ph nom ne d annulation La pr cision que l utilisateur indique au syst me pour les calculs flottants en Maple par Digits n ou bien evalf expr n est la pr cision relative des calculs c est dire que la mantisse des nombres manipul s contient n chiffres Si a et b sont des approximations n chiffres de deux nombres positifs a b est une approximation n chiffres de leur somme La pr cision relative de a b par rapport leur diff rence est quant elle inf rieure n chiffres et ce d autant plus que les nombres sont proches C est le ph nom ne d annulat
294. ne application importante de la diagonalisation et de la r duction en forme de JORDAN Nous allons maintenant en donner deux applications It r s fractionnaires Si A est la matrice associ e un endomorphisme f la matrice A est associ e f o f Inversement on peut se poser la question de trouver un endomorphisme g tel que go g f Si B est la matrice associ e on doit alors avoir A B ou autrement dit B A 2 Pour calculer cette racine carr e on a recours au d veloppement en s rie de V1 z si z lt 1 alors Zz gZ vI z 1 Payee 2 8 2 ALG BRE LIN AIRE 127 Il nous suffit d crire la matrice A sous la forme J A J et d appliquer formellement le d veloppement pr c dent La condition z lt 1 est remplac e par la m me condition sur le rayon spectral de la matrice c est dire le max imum des modules des valeurs propres Le calcul de la racine carr e est ainsi r duit des calculs d additions et de puissances enti res de matrices Si la matrice est diagonale tout se passe bien chaque l ment de la diagonale peut tre trait ind pendamment des autres Il s ensuit que B est simplement la matrice dont la diagonale contient les racines carr es des l ments de A Si A est diagonalisable c est dire qu il existe une matrice de changement de base P telle que A PDP o D est diagonale alors il suffit d effectuer le calcul ci dessus sur D et d effectuer la fin le p
295. ne autre fonction par exemple la tangente il faut mod ifier la proc dure Dans la section suivante nous montrerons comment crire cette proc dure pour g rer de mani re l gante de nouvelles fonctions Pour progresser en programmation Maple nous sugg rons au lecteur d butant de s inspirer des programmes Maple existants Nous avons d j vu page 65 comment voir le contenu des fonctions de la biblioth que Pour crire une proc dure une bonne m thode consiste tudier une fonction exis tante qui effectue une t che similaire Le lecteur se forgera ensuite son propre style de programmation et n aura plus regarder les fonctions du syst me que pour chercher y rep rer l origine d un dysfonctionnement Ajout d une fonction Supposons par exemple que la fonction logarithme n existe pas en Maple Ajouter la fonction In ne signifie pas crire une proc dure 1n Ainsi les fonctions d AIRY Ai et Bi sont connues de Maple mais il n existe pas de proc dure correspondante En effet tant que les ob jets restent formels la proc dure 1n se contente de renvoyer un r sultat non 70 II UTILISATION AVANC E TABLE 5 Principales fonctions extensibles abs evalf Re conjugate expand series convert Im signum diff latex simplify evalapply mod type evalc print value valu Le seul r le d une telle proc dure est d effectuer quelques simplifica tions triviales comme In 1 0 En revanche il est n
296. ns aussi le logiciel fran ais Basile et le logiciel Scilab r alis l INRIA voir p 307 Lorsqu on lie un syst me de calcul formel avec un syst me de CAO en automatique le premier r alise les calculs symboliques et le second est adapt aux calculs num riques performants l aide des programmes Fortran et C qu il g re Ce lien peut tre fait de fa on plus ou moins automatique Il existe par exemple un lien entre Maple et Matlab C est une bo te outils ensemble de fonctions rajout e Matlab qui permet tout en restant dans Matlab d appeler Maple de r aliser des calculs et de r cup rer les r sultats en Matlab Un autre type de lien consiste produire du code Fortran partir du syst me de calcul formel et l introduire dans le syst me de CAO comme nouvelle fonction Il est difficile de pr senter un exemple en d tail car les calculs m caniques sont souvent longs et n cessitent des connaissances qui sortent du cadre de ce livre Nous allons simplement donner les grandes lignes d une application r cente d un tel lien entre Maple et le syst me de CAO Scilab Ce dernier syst me fonctionne sur stations de travail Unix avec X Windows Il est libre ment distribu sources compris De plus il est possible d ajouter facilement des programmes C ou Fortran Scilab L application pr sent e consiste r aliser la simulation et la commande d un v lo Les commandes sont les couples appliqu s au guidon
297. nt r t de option remember est manifeste EXEMPLE 20 Cette proc dure n utilise pas l option fibol proc n if n 0 or n 1 then 1 else fibol n 1 fibol n 2 fi end time fibo1 20 25 683 Cette seconde proc dure effectue le m me calcul mais avec l option remember fibo2 proc n option remember if n 0 or n 1 then 1 else fibo2 n 1 fibo2 n 2 fi end time fibo2 20 034 Dans le premier cas le nombre d op rations arithm tiques effectu es par le programme est exponentiel en n dans le second il est lin aire En g n ral il faut faire un choix entre la vitesse que peut apporter une option remember et la consommation m moire entrain e par la table de re member Aussi vaut il mieux limiter l usage de cette option des proc dures qui travaillent sur des objets pour lesquels le temps de calcul est grand par rapport la taille du couple entr e sortie Une meilleure utilisation de la table de remember consiste a n y conserver qu une s lection de ces couples Il suffit pour cela d affecter le r sultat de la proc dure apr s que la proc dure a t d finie EXEMPLE 21 Voici une illustration du m canisme f proc 3 end 2 4 2 4 Ici f est la proc dure constante 3 mais il est possible d affecter une valeur quelconque l une de ses images et le dernier appel montre bien que la proc dure f n est alors pas ex cut e 1 PRIMITIVES DU LANGAGE DE PROGRAMMATIO
298. nt que a est un rationnel tr s simple on peut alors diviser aussi par n et d terminer num riquement ag On doit trouver ainsi une approximation num rique de _ vV4a 3v2 NET Cet exemple sera repris p 216 CHAPTER VIII S ries et d veloppements asymptotiques EU DE PROBLEMES admettent une solution exacte Cependant des d ve loppements en s rie ou des d veloppements asymptotiques fournissent souvent des informations approch es assez pr cises qui sont inaccessibles par d autres voies Nous commen ons ce chapitre par des probl mes pratiques de calcul num rique a partir d une s rie puis nous montrons comment obtenir des d veloppements en s rie ou des d veloppements asymptotiques de suites d in t grales ou de solutions d quations Dans ce domaine il est essentiel de jus tifier les op rations purement formelles que le logiciel effectue Les syst mes de calcul formel ne mettent en effet aucune entrave l interversion d un signe somme et d un signe int grale et une utilisation aveugle peut mener des r sultats faux Nous insistons dans ce chapitre sur les calculs et renvoyons le lecteur aux ouvrages d analyse pour les probl mes de justification 1 S ries num riques 1 1 Calcul approch de constantes d finies par des s ries Deux types de probl mes bien distincts se posent lors du calcul de valeurs num riques partir d une s rie Le premier est de d terminer combien de termes
299. nt souvent d aboutir au r sultat La r solution num rique s effectue avec la commande fsolve Si l on veut toutes les racines il faut sp cifier l option complex mais les algorithmes peuvent toujours tre mis en d faut Il se peut ainsi que fsolve renvoie des valeurs complexes alors que les racines sont r elles On peut cependant compter le nombre de racines r elles de mani re exacte sans les calculer par les commandes sturmseq et sturm La premi re calcule la suite de STURM 148 VI POLYN MES ET FRACTIONS RATIONNELLES associ e au polyn me qui est une suite de polyn mes de degr s d croissants et la seconde utilise cette suite pour calculer le nombre de racines dans n importe quel intervalle r el EXEMPLE 15 On reprend l exemple 10 de l intersection de deux courbes readlib sturm sturm sturmseq resultant f g y x x infinity infinity sturm sturmseq resultant f g x y y infinity infinity gt Le second r sultat correspond bien ce que l on attend on voit quatre inter sections sur la figure correspondant quatre ordonn es distinctes Le premier r sultat est plus surprenant on attendait 2 le nombre d abscisses de points d intersection La troisi me racine r elle que l on trouve num riquement par fsolve correspond deux intersections dont l abscisse est r elle et l ordonn e complexe fsolve resultant f g y x 17 33341889 0 2277666333 0 5905668901 1
300. nt souvent faciliter la t che 1 2 Sommes de variables al atoires Revenons sur le tirage pile ou face La probabilit p d avoir k piles apr s n tirages permet d tudier la fr quence de piles dans la figure 1 Au d part poo 1 et pox 0 pour k 0 Pour arriver k piles en n tirages soit on part de k 1 piles en n 1 tirages et on tire pile soit on part de k piles en n 1 tirages et on tire face Ceci conduit la r currence suivante Pn k nai Sn En oubliant les facteurs 1 2 il s agit l de la r currence des coefficients binomi aux du triangle de PASCAL Ce n est pas tonnant puisque pour obtenir k piles en n tirages il suffit de choisir les positions de k tirages donnant pile parmi n 1 OP RATIONS L MENTAIRES 259 et les n k tirages qui restent donnent forc ment face d o pp 2 Une autre fa on de le voir consiste utiliser des s ries g n ratrices 1 2 1 S ries g n ratrices de probabilit s La s rie g n ratrice de probabilit associ e une variable al atoire discr te X est par d finition 1 f 2 SC Prix He k o Pr X k est la probabilit d apparition de la valeur k et o la sommation vaut sur toutes les valeurs possibles de la variable al atoire X En cons quence f 1 1 et le rayon de convergence vaut au moins 1 La suite des coefficients s appelle la distribution de probabilit de la variable X EXEMPLE 2 Dans le cas du jet d une
301. ntre que cette convergence n est pas uniforme fig 2 Ce trac est obtenu par f n 2 x exp n x plot seq subs n k f k 1 10 x 0 1 Voici la limite des int grales limit int f x 0 1 n infinity 1 et voici l int grale de la limite assume x gt 0 int limit f n infinity x 0 1 0 3 INT GRALES PARAM TR ES 243 3 3 Exercices 3 Calculer l int grale J TS dx aT ng O a et b sont des r els x ib Calculer la primitive de l exemple 9 l aide du changement de variable indiqu puis la d river et retrouver la forme de l int grande Indication on pourra utiliser les commandes factor normal expanded et simplify power symbolic Montrer que l int grale double de l exemple 13 vaut 5 2V2 r 12 Refaire les m mes op rations que pour la suite de fonctions f a n xe du 83 2 trac de courbes calcul des int grales et des limites lorsque 22 pour 0 lt x lt 1 2n falz 4 2n 1 ngr pour 1 2n lt x lt 1 n 0 pour I n lt a lt l Trouver une formule g n rale ou une r currence pour les int grales OO ON sin x Jarccos de 1 dz fu rae n e N 0 T L int grale double dt dx 0 x t a une valeur simple Aider un syst me de calcul formel la calculer L int grale m 4 if In 1 tan zx dx 0 admet une valeur simple la calculer Calculer dx 1 de Vi z vl x 2 par un changement de v
302. ntrons aussi dans cette section les quations dont un syst me de calcul formel sait ou devrait savoir trou ver les solutions enti res La seconde partie de ce chapitre est consacr e la combinatoire et plus pr cis ment au d nombrement Dans ce domaine c est l aptitude des syst mes manipuler des grands entiers de mani re exacte qui est la plus utile mais nous insisterons galement sur l utilisation de s ries g n ratrices 1 Arithm tique 1 1 Calculs entiers et rationnels Dans un syst me de calcul formel l utilisateur n a pas se soucier des calculs entiers ou rationnels Ils sont effectu s automatiquement par le syst me quelle que soit la taille des nombres manipul s Toutefois la connaissance de quelques principes de base permet d acc l rer les calculs Ainsi il faut savoir qu ajouter deux nombres de n chiffres prend un temps proportionnel n les multiplier prend un temps plus long proportionnel n sur la plupart des syst mes EXEMPLE 1 La commande duree introduite au chapitre II permet de v rifier ces assertions a 3 20959 b 7711832 aa ax a bb b b duree to 1000 do a b od duree to 1000 do aatbb od 0 683 1 067 duree a b duree aax bb 0 367 1 500 Ici a et b sont deux entiers de 10 000 chiffres leurs carr s ont 20 000 chiffres le temps de calcul sur les carr s est le double pour l addition et le quadruple pour le produit 93 94 IV ARIT
303. nts En Maple ceci s exprime ainsi eq diff y z z z sin z diff y z z exp sin y z 2 f z gt zt convert seq ali z7i i 2 9 s series eval subs y f eq z 8 subs solve seq coeff s z i i 0 7 seq ali i 2 9 f z z2 23 FH ue z7 311 8 43 9 2 3 t6 6 60 20 5040 20160 362880 Cette m thode est dans certains cas inapplicable parce que l tape du cal cul de la s rie apr s substitution d un polyn me de degr lev dans l quation peut tre tr s exigeante en m moire Un simple proc d it ratif emportera pratiquement toujours en place m moire et souvent en vitesse for i from 2 to 9 do sol subs ii i proc z z convert seq alj z j j 2 ii end a i solve op 1 series eval subs y sol eq z i ali od sol z Un cas important qui ne n cessite pas le calcul par coefficients ind termin s est l inversion de s ries formelles Il s agit de la r solution de l quation x f y o f est connue par son d veloppement en s rie Maple dispose d une fonction sp cialis e pour cela et il faut essayer de s y ramener aussi souvent que possible Cette fonction appara t en Maple comme un avatar de la commande solve mais elle r clame des conditions tr s particuli res il faut que l un des membres de l quation soit une s rie et que l on r solve par rapport la variable de la s rie En outre la commande fonctionne mieux
304. o le nombre de multiplications peut tre r duit La m thode l mentaire consiste multiplier par a jusqu obtenir la puissance voulue Elle n cessite n 1 multiplications Il est facile de faire beaucoup mieux par exemple a3 a et cette expression n utilise que cinq multiplications De fa on g n rale l algorithme d exponentiation binaire est le suivant a sin 1 1 a lt a a sin gt 1 est impair a sin gt 1 est pair Cet algorithme n effectue que des carr s et des multiplications par a Si la repr sentation binaire de n est bx 61b9 le nombre de carr s est k et le nombre de multiplications gale le nombre de b gaux 1 sans compter bk qui vaut toujours 1 Autrement dit le nombre d op rations gale la longueur plus le nombre de 1 de la repr sentation binaire de n apr s avoir enlev le 1 al 95 1 ARITHM TIQUI de t te Dans tous les cas il est major par 2log n o log repr sente le logarithme en base 2 Voici le programme r cursif correspondant expo proc a n posint ifn 1 then a elif irem n 2 1 then a expo a n 1 else expo a iquo n 2 2 fi end et en voici une version it rative expo proc a n posint local l res f i f a convert n base 2 if 1 1 1 then res a else res 1 fi for i in subsop 1 NULL do fi f f if i 1 then res res f fi od res end 1 2 Divisibilit et primalit Une grande partie de
305. o t devient difficile valuer par les m thodes de calcul num rique d int grales Son d veloppement en s rie devient alors pr f rable Il ne suffit cependant pas pour l obtenir d int grer terme terme le d veloppement de l int grande car alors l int grale du terme constant est divergente Le r sultat s obtient en commen ant par une int gration par parties student intparts Int cos t 1 t x t 0 A 1 1 t 7x sin 2 x sin t 1 A Jo A A t Lorsque A tend vers l infini le premier terme tend vers 0 pour tout x gt 0 et le second se traite directement series subs A infinity op 2 x 4 pa Si 1 cos 1 Ci 1 sin 1 x In 1 t sin t ie ln 1 t sin t 3 t t f Fe dt x IH dtx O a Dans cette expression Ci et Si d signent le cosinus int gral et le sinus int gral On peut alors calculer une fois pour toutes les valeurs num riques de ces coefficients de TAYLOR et utiliser ce d veloppement pour calculer des valeurs de l int grale de d part Nous verrons des exemples plus d licats de calculs de d veloppements d int grales en 83 5 2 6 S ries g n ratrices plusieurs reprises dans ce livre nous avons vu qu il tait difficile voire impossible de faire comprendre Maple que telle variable repr sentait un r el positif un entier impair Bien souvent les informations li es aux variables repr sentant des entiers peuvent
306. obabilit que l ordonn e soit positive apr s n tapes de jeu le jeu tant pass k fois l quilibre Il suffit de met tre u au bon endroit dans C 2 Comme dans l exercice pr c dent en d duire la fonction g n ratrice de l esp rance du nombre de passages l quilibre 3 D terminer alors singularit dominante et comportement asympto tique 3 Cet exercice propose de d terminer l esp rance de la derni re abscisse o Vordonn e est nulle L intuition peut tre guid e par les simulations ef fectu es l exercice 1 p 273 270 XI CALCULS EN PROBABILIT 1 D terminer une fonction g n ratrice deux variables z et t o le coef ficient de z t est la probabilit que le dernier passage l ordonn e 0 pr c dant l tape n ait eu lieu l tape m I suffit de mettre t au bon endroit dans C C7 2 En d duire la fonction g n ratrice des esp rances cherch es 3 Mener l tude asymptotique 4 tudier la variance 4 Le premier joueur a une fortune limit e Il d cide que sa strat gie sera de s arr ter d s qu il a augment sa fortune initiale de 1 Calculer la fonction g n ratrice dont le coefficient de z est la prob abilit pour que le joueur atteigne le but qu il s est fix l tape n 2 Calculer la probabilit qu il gagne 3 Calculer l esp rance de la dur e de la partie s il est ruin 4 Calculer son esp rance de
307. og pour les s ries g n ratrices On peut aussi cr er des s ries g n ratrices a plusieurs variables ot chaque variable compte un param tre donn Ainsi le remplacement de F z par uz dans D z donne une s rie g n ratrice dans laquelle le coefficient de u z est le nombre de fa ons de faire n francs avec p pi ces de valeur 1 2 5 10 ou 20 francs Le calcul formel est utile dans la phase de r solution des quations de s ries g n ratrices mais surtout dans la phase de calcul des coefficients Il permet aussi d tudier le comportement asymptotique des coefficients nous y reviendrons au chapitre VIII 110 IV ARITHM TIQUE ET COMBINATOIRE 2 2 2 Exemple les d compositions de Lagrange tant donn un entier n il s agit de trouver le nombre qn de quadruplets a b c d d entiers positifs ou nuls tels que a b c d n La m thode des s ries g n ratrices s applique la classe Q des quadruplets est le produit cart sien C x C x C x C o l ensemble C des carr s est la r union des Ck et Ck d signe le carr de l entier k L application des r gles du tableau 1 p 109 donne pour les s ries g n ratrices Q z C4 z et C z gt gt Cy z La taille d un entier est ici sa valeur soit Cx 2 2 Le nombre qn de d compositions de LAGRANGE de n est donc le coefficient de z dans E En pratique pour calculer un qn donn par exemple pour n 1 000 il faut tronquer explicitement C
308. oire d finie par n Un 1 Un X UjUn 1 i Uo 1 i 0 Les commentaires que nous allons faire sur ces programmes et sur leurs perfor mances doivent permettre de guider l criture de programmes pour d autres r currences 4 1 1 Programme 1 m thode na ve ul proc n nonnegint local i if n 0 then 1 else ul n 1 convert seq ul i ul n 1 i i 0 n 1 8 fi end Ce programme fonctionne r cursivement en s arr tant lorsque n vaut 0 Il a cependant l inconv nient de recalculer tr s souvent les m mes termes le nombre a d appels la proc dure u1 pour calculer un v rifie n 1 an L ani 23 ai ao 1 i 0 TLa fonction sum ici serait inappropri e puisque son but premier est de trouver une somme ind finie La m thode vraiment na ve consisterait utiliser la fonction sum 182 VII SUITES R ELLES formule partir de laquelle on peut montrer que ce nombre cro t en 2 V3 Le temps de calcul cro t donc de mani re exponentielle par rapport n La premi re ligne du tableau 1 p 184 montre le temps de calcul de un par cette proc dure pour diverses valeurs de n 4 1 2 Programme 2 option remember u2 proc n nonnegint local i option remember u2 n 1 convert seq u2 i u2 n 1 i i 0 n 1 end u2 0 1 Ce programme est bien plus efficace que le pr c dent Le gain princi pal vient de l utilisation de l option remember En effet chaque u n
309. oit z ro soit une infinit de solutions isolve 7 x 3 y 13 z 1 z _N1 3 N2 1 x _N1 y 2_N1 13_N2 4 Dans le cas de plusieurs quations lin aires il existe un changement de variables qui ram ne le syst me sous forme triangulaire ou diagonale Sans rentrer dans les d tails car tout cela est transparent l utilisateur via la proc dure isolve Maple sait r soudre tous les syst mes lin aires d inconnues enti res isolve 7 x 6 y 13 z 2 6 x 8 y 12 z 2 y 1 3N1 2 3 10 N1 x 5 16 Ni Application au calcul de fr quences Les interf rences entre des missions ra diophoniques se produisent quand leurs fr quences f1 f v rifient une relation de la forme 2 Afi Afo Anfn 0 o les sont des petits entiers non tous nuls Les fr quences peuvent tre consid r es comme des entiers car elles sont toutes multiples d une certaine fr quence de base tant donn es les fr quences f1 fn l quation 2 a une infinit de solutions L indice d interf rence d une solution A1 An est d fini comme la somme des carr s des coefficients Plus l indice est petit plus il y a interf rence entre les diff rentes missions Puisque l quation est lin aire isolve s applique f1 344 2 591 3 872 s isolve a f1 b f2 c f3 0 s a 4_N1 145_N3 b 8_N1 72_N3 c 7_N1 106_N3 La somme des carr s des coefficients est pa
310. olution num rique des quations transcendantes In 13 FindRoot P 1 2 K 1 WorkingPrecision gt 17 Out 13 K 1 15872847301812152 a laquelle on a donn K 1 comme point de d part et demand 17 chiffres de pr cision R1 ArcCos ANNEXE B Autour du calcul formel Informations lectroniques En France le calcul formel est un domaine o la recherche est tr s vivante Les principaux domaines d activit concernent les polyn mes les quations diff rentielles les applications en combinatoire et les interfaces Deux groupe ments coordonnent une partie de ces recherches ce sont le GDR groupe de recherche M dicis et le p le calcul formel du PRC programme de recherches coordonn es math matiques et informatique Une partie de ces activit s a pour retomb e un serveur ftp medicis polytechnique fr 129 104 3 60 qui contient de nombreuses informations utiles sur le calcul formel La m me machine propose galement un serveur WEB sp cialis en calcul formel partir duquel il est possible d acc der d autres serveurs dans le monde URL http medicis polytechnique fr Les personnes ayant acc s aux news peuvent y lire un newsgroup enti re ment consacr au calcul formel sci math symbolic Par ailleurs les person nes ayant acc s au courrier lectronique peuvent demander par simple email voir la documentation en ligne de maple group faire partie de la Maple User Group mailing list
311. omporte asymptotiquement comme Ca VJlogx o C 0 764 4 Boules dans des urnes Utiliser la th orie des structures d composables pour calculer le nombre de fa ons de mettre n boules 1 dans 5 urnes pour n 3 10 100 2 dans 10 urnes pour n 3 10 100 3 dans k urnes pour n 3 10 100 et amp 5 10 15 20 Utiliser une fonction g n ratrice deux variables 4 dans k urnes lorsque chacune contient au plus 10 boules pour n 3 10 100 et k 5 10 15 20 5 dans k urnes lorsque chacune contient au plus r boules pour les m mes valeurs de n et k et pour r 1 2 5 10 20 Utiliser une fonction g n ratrice trois variables 5 Composition d entiers Utiliser la th orie des structures d composables pour calculer le nombre de fa ons d crire l entier n comme 1 somme de deux entiers positifs pour n lt 1 000 on tient compte de l ordre des sommants ainsi 1 2 et 2 1 sont deux sommes diff rentes 2 somme de amp entiers pour n lt 1 000 et amp 2 3 5 10 Utiliser une fonction g n ratrice deux variables 3 somme de k entiers impairs pour les m mes valeurs de n et k 4 somme de amp entiers congrus 4 1 modulo p pour les m mes valeurs de n et k et pour p 2 3 5 10 Utiliser une fonction g n ratrice trois variables 6 Suites de pile ou face Utiliser la th orie des structures d composables pour calculer le nombre de suites de pile ou face de longueur n 1 s
312. on tantes Contrairement au cas pr c dent le nombre d tapes vers le bas est limit par la fortune du joueur Si k est cette fortune la fonction g n ratrice s crit donc qz 1 A z et l esp rance du nombre d tapes avant la ruine vaut p p normal subs z 1 diff q z 1 4A k z k k e 1 y1 4pq v1 4pq La singularit de ce r sultat pour p q 1 2 montre qu alors l esp rance du nombre d tapes est infinie 2 5 Exercices 1 Le calcul de l esp rance du gain dans la marche al atoire est simplifi par l utilisation de fonctions g n ratrices deux variables 1 Justifier pourquoi la fonction obtenue en rempla ant pz resp qz par puz resp qvz dans l expression de C z resp C7 z donn e p 267 est une fonction g n ratrice o le coefficient de vz est la probabilit qu l abscisse n l ordonn e vaille k resp k 2 partir des d riv es par rapport v en v 1 de ces fonctions calculer la fonction g n ratrice des esp rances de gain du premier joueur V rifier les premiers coefficients 3 En proc dant comme pour la probabilit de gagner calculer le com portement asymptotique de l esp rance de gain 2 Cet exercice propose d tudier le nombre de passages par la position de d part pendant la partie 1 Construire une fonction g n ratrice deux variables u et z o le coef ficient de z u est la pr
313. on permet galement de cr er des boucles g n ralement in volontaires EXEMPLE 40 Une variation de l exemple 39 cr e l exemple le plus simple de boucle XxX y y xX eval x 10 eval x 17 z Yy En revanche l valuation de x ou y sans limitation sur le nombre d tapes entra ne l valuateur dans une boucle infinie qui se termine par le d bordement de la pile et sur certaines machines par la mort du syst me L utilisation conjointe de la commande eval et de la protection permet un acc s simultan la variable et sa valeur EXEMPLE 41 La proc dure incr augmente de 1 la valeur d une variable incr proc x name if assigned x then x eval x 1 fi end Il est n cessaire de s assurer que l argument est bien un nom de variable affect e car autrement eval x renverrait le nom x et en termes de fl ches l affectation construirait donc une fl che de x vers un arbre dont la racine est dont un op rande est 1 et l autre op rande est nouveau x l valuation suivante de cet arbre le syst me mourrait d une explosion de la pile en par courant ind finiment ces fl ches x 3 incr x Error incr expects its ist argument x to be of type name but received 3 incr x x 3 APPROFONDISSEMENT DU SYST ME 57 Pour d saffecter une variable il faut lui affecter son nom La protection permet d avoir acc s ce nom mais est parfois d licate d emploi La com mande eval
314. on permet souvent de savoir si une expression particuli re est nulle ou non mais RICHARDSON a montr qu il est impossible d crire un programme prenant en argument une expression de cette classe et donnant au bout d un temps fini le r sultat vrai si celle ci est nulle et faux sinon C est dans ces classes que se pose avec le plus d acuit le probl me de la simplification Sans forme normale les syst mes ne peuvent que donner un certain nombre de fonctions de r criture avec lesquelles l utilisateur doit jongler pour parvenir un r sultat Pour y voir plus clair dans cette jun gle il faut l encore distinguer plusieurs sous classes savoir quelles fonctions s appliquent et quelles transformations sont effectu es 2 3 1 Constantes Comme dit pr c demment les calculs se font avec des nombres entiers ou rationnels exacts et avec des constantes math matiques vraies qui ne sont pas des repr sentations flottantes 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 23 Les constantes les plus simples sont les rationnels le nombre m not Pi la base e des logarithmes n p riens not e E le nombre imaginaire not I et la constante d EULER y not e gamma Ces constantes sont relativement bien connues du systeme Une exception est la constante E peu utilis e par Maple a laquelle il faut pr f rer exp 1 Pour la classe simple des polynomes en 7 et e aucun algorithme de d cision nest connu ce jour on ignore
315. onc pas une preuve d inexistence 1 2 D veloppements en s rie et asymptotiques Bien qu il ne soit pas possible en g n ral de r soudre exactement une quation diff rentielle un certain nombre d informations exactes peuvent tre obtenues directement en partant de l quation C est le cas en particulier pour les d veloppements en s rie de TAYLOR et certains calculs asymptotiques Les questions relatives ces d veloppements sont abord es au chapitre VIII nous ne donnons ici qu un exemple suppl mentaire EXEMPLE 5 On consid re l quation y sin x zxy x y 0 1 ce qui se traduit en Maple par deq diff y x x sin x xxy x 2 La courbe correspondante est repr sent e en figure 1 Il y appara t un com portement singulier vers x 1 2 Notre objectif est de trouver le d veloppe ment de cette fonction au voisinage de cette singularit On ne sait pas calculer de solution explicite de cette quation pas plus qu une expression formelle de la singularit qui d pend de la condition initiale y 0 1 Nous poursuivons donc le calcul en notant cette singularit par le symbole p Nous adoptons un proc d heuristique qui consiste essayer de d terminer si le comportement asymptotique de la solution n est pas dict 250 X CALCUL DIFF RENTIEL par un petit nombre de termes de l quation Dans notre exemple y x tend vers l infini sa singularit cela se voit sur la figure
316. onclure il suffit donc de rajouter avant les instructions donn es plus haut les lignes S proc x local s u t olds k oldDigits oldDigits Digits Digits Digits ceil 196 868 evalhf In x length Digits 3 et de terminer la proc dure par evalf s oldDigits end 1 2 Evaluation exacte de s ries Bien qu il soit tr s rare que la somme d une s rie s exprime l aide des fonctions usuelles une telle somme lorsqu elle est calculable permet d acc der des propri t s globales de la s rie difficiles d acc s autrement Outre le cas des s ries pour lesquelles on sait trouver une somme ind finie dont il n y a plus qu calculer la limite nous don nons ici quelques exemples de s ries qui se somment Bien souvent la s rie g om trique est la base du calcul ainsi parfois que quelques autres s ries enti res l mentaires Les suites hyperg om triques ont t d finies au chap VII p 179 et les s ries hyperg om triques sont les sommes de ces suites Plus pr cis ment on 192 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES note QA1 4 ai n ap n Z F gt 7P a bi bq 2 da Gale n o a n a a 1 a n 1 Lorsque p lt q 1 le rayon de convergence de cette s rie est non nul et on parle alors de fonction hyperg om trique pour sa somme Si ces fonctions sont admises comme fonctions de base alors toutes les fractions rationnelles se somment nous en donne
317. ons par les calculs de primitives puis nous abordons les int grales d finies et nous concluons le chapitre par le cas des int grales d pendant d un param tre 1 Primitives Autant le calcul de d riv es est souvent r alisable la main lorsque l expression n est pas tr s compliqu e autant celui de primitives est g n rale ment difficile Pour une fonction aussi simple que 1 x 1 le calcul manuel d une primitive est loin d tre imm diat En revanche un syst me de calcul formel donne imm diatement une r ponse int 1 1 x 3 x 1 1 3 ln x 1 5 ln z x 1 p Varctan 5 22 1 v3 M me le recours des tables de primitives n est ni pratique ni toujours tr s s r certains citent le chiffre de plus de 10 d erreurs dans ces tables Les m thodes utilis es habituellement pour calculer la main des primi tives sont plut t de nature heuristique table des int grales connues change ment de variables int gration par parties d coupage de l int grande re connaissance de motifs Ces m thodes permettent souvent de trouver une primitive assez rapidement mais en aucun cas elles ne permettent de con clure en cas d chec Les techniques employ es par les syst mes de calcul formel sont d une autre nature Les heuristiques du calcul manuel sont em ploy es dans un premier temps pour leur rapidit Puis des algorithmes bas s sur des th or mes d alg bre diff rentielle
318. orks com Le plus diffus actuellement Scilab Type gratuit ftp ftp inria fr Version actuelle 2 0 Disponible sur machines Unix D velopp INRIA Rocquencourt par le projet Meta2 en collaboration avec le laboratoire Cergrene de l ENPC email scilab inria fr Il poss de la plupart des fonctionnalit s que l on attend d un tel type de syst me en particulier il permet la manipulation symbolique des syst mes lin aires Bibliographie Ouvrages g n raux Une bonne introduction aux math matiques du calcul formel DAVENPORT James H SIRET Yves et TOURNIER Evelyne Calcul formel Masson Paris 1993 seconde dition La seule r f rence actuelle sur les principaux algorithmes du calcul formel GEDDES Keith O CZAPOR Stephen R et LABAHN George Algo rithms for Computer Algebra Kluwer Academic Publishers 1992 Sur Maple les livres de r f rence sont les trois ouvrages des d veloppeurs publi s chez Springer Verlag le plus gros Maple V Library Reference Man ual est entierement contenu dans la documentation en ligne Un ouvrage introductif sur Maple est HECK Andr Introduction to Maple Springer Verlag 1993 A Vheure actuelle il n existe pas d ouvrage sur la programmation en Maple Ouvrages plus sp cialis s Un ouvrage tr s complet mais un peu ardu qui traite plus en d tail et qui va plus loin sur de nombreux aspects de ce livre notamment sur la pr
319. ormal 16 rationalize 21 22 simplify 13 16 17 25 27 48 154 Simpson Thomas m thode de 238 simulation 270 273 singularit 245 249 SMP 2 sommes de Riemann 216 de s ries 191 194 de variables al atoires 259 calcul de 150 171 179 181 191 194 204 d veloppement asymptotique de 208 209 d veloppement en s rie de 201 202 Stirling James formule de 193 207 nombres de de seconde esp ce 261 Sturm Jacques Charles Fran ois suites de 147 153 substitution d expressions 12 14 25 47 48 54 55 58 62 63 283 d op randes 47 48 62 suites d veloppement asymptotique de 209 210 214 216 table 46 59 65 de remember 42 de hachage 67 array 62 72 117 118 entries 63 indices 63 Taylor Brook d veloppements de 249 test 34 tirage al atoire 270 273 trace d une matrice 117 d une proc dure 61 72 trac s quations diff rentielles 251 255 contourplot 88 cylinderplot 85 87 display 84 87 90 253 implicitplot 81 implicitplot3d 86 intersectplot 87 plot 15 25 77 90 280 plot3d 280 plots 77 plotsetup 77 pointplot 86 polarplot 80 81 spacecurve 84 86 88 255 sphereplot 85 types 50 de base 49 52 de surface 53 param tr s 52 proc duraux 52 r cursifs 53 structur s 53 anything 53 cr ation de 52 INDEX 315 exprseq 29 50 float
320. ortant de noter qu aucune de ces tapes ne n cessite cette connaissance explicite voir exercice 8 EXEMPLE 15 Un d rangement de n objets est une permutation o aucun des objets ne retrouve sa place initiale Le nombre de d rangements sur un ensemble n l ments vaut nt nt n A MR a a ten La fonction g n ratrice gt o n2 n vaut donc a 3 D VELOPPEMENTS ASYMPTOTIQUES 215 La seule singularit de cette fonction est en 1 le d veloppement au voisinage de 1 est vident series exp z 1 2 z 1 2 e O 1 2z dont on d duit Cn n e7 O 1 n le O tant ici tr s pessimiste Pour n 10 l estimation asymptotique est d j tr s bonne convert seq 1 i 10 i i 2 10 exp 1 10 1334961 1334960 916 EXEMPLE 16 Si la commande ztrans tait bien faite son application a la r currence n Un 1 Un So uuni ug 1 i 0 tudi e la fin du chapitre VII donnerait l quation suivante satisfaite par la fonction g n ratrice U 2 1 U 2 U z L quation se r sout pour donner la valeur de U z2 solve U z 1 z U z U z 72 U 2 1 V1 62 2 1 Vl 6z2 2 1 2 1 2 2z 2z DB fa 2z Seule la premi re de ces deux solutions est r guli re l origine c est donc elle la fonction g n ratrice Les singularit s sont les z ros de la racine carr e fg 1 solve 1 6 z z 2 z 3 2V2 3 2V2 La sin
321. ous expressions du type demand EXEMPLE 37 Pour d terminer si une expression contient des exponen tielles qui peuvent se d velopper il suffit d utiliser un type structur f 1 2 xxxsin exp x y exp x 2 f 1 2x sin e tv e hastype f exp t true indets f exp t ioe 2 Il faut noter que indets parcourt toute l expression r cursivement et ap pelle type sur toutes les sous expressions idem pour hastype en cas d chec Si le type test est lui m me un type r cursif et non un type de surface le test peut s av rer peu performant T 54 II UTILISATION AVANC E 2 5 Exercices 1 crire les proc dures suivantes qui s appliquent des listes 1 append qui renvoie la concat nation de plusieurs listes 2 cons et endcons qui renvoient la liste apr s avoir ajout un l ment respectivement au d but et la fin 3 first et last qui renvoient respectivement le premier et le dernier l ment d une liste 4 reverse qui renvoie une liste dont les l ments sont dans l ordre inverse de son argument 5 rest qui renvoie la fin d une liste partir du i l ment 2 La structure r elle des expressions est l g rement plus compliqu e que ce qui appara t en figure 1 p 45 On peut s en rendre compte en faisant subs i toto f o f est l expression qui y est repr sent e Expliquer ce qui appara t Refaire l exp rience avec une somme au lieu d un produit 3
322. ous fournit une matrice V2 0 0 B 0 i i 2 0 0 i dont nous v rifions que le carr redonne d B matrix sqrt 2 0 0 0 I I 2 0 0 I evalm B 2 2 0 0 0 1 1 0 0 i Il ne reste plus qu revenir dans la base de d part o l identit cherch e est bien s r v rifi e F evalm P 1 amp B amp P print F evalm F 2 V2 2i V2 4i V2 2i 0 3 1 3 3 3 2 i 2V24 7i 2V2 5i 1 1 2 3 6 6 H 2 i 2V2 i 2V2 i 1 0 1 3 6 6 Exponentielle d une matrice Cette seconde application des s ries de matri ces est tr s importante c est ainsi que l on r sout les syst mes diff rentiels lin aires coefficients constants En effet un tel syst me s crit dX t ax AX t X 0 donn o X t est un vecteur x1 t n t d ordre n et A est une matrice n x n ind pendante de t L unique solution de ce syst me est donn e par X t et X 0 Comme ci dessus l exponentielle de la matrice est d finie par son d veloppe ment en s rie AF exp A T k 0 avec A I la matrice identit EXEMPLE 20 La matrice de l exemple pr c dent correspond au syst me 2 ALG BRE LIN AIRE 129 D apr s ce que nous avons vu dans l exemple pr c dent pour toute s rie f de rayon de convergence sup rieur t f t 0 0 f td 0 f t tf t 0 O0 f t Il ne nous reste plus qu faire le changement de base inverse B matrix Lexp 2 t 0 0 0 exp t
323. oyant le nombre minimum d it rations n cessaires pour que tous les entiers de l ensemble aboutissent 1 sans appeler la proc dure pr c dente crire une proc dure r cursive prenant en entr e une liste et renvoyant la liste de toutes les permutations des l ments de cette liste crire une proc dure prenant en entr e deux entiers positifs k et n et renvoyant D 1 lt i1 Lie Kik lt n Indication g rer une liste des indices 2 MANIPULATION D EXPRESSIONS 45 x PH exp sin x 2 3 2 1 3 m 1 ax x 1 FIGURE 1 L arbre repr sentant x exp 3 2 sin x 3 1 x 2 Manipulation d expressions Les proc dures que nous avons vues jusqu maintenant ne font pas vrai ment de calcul formel faute d outil pour manipuler des expressions Dans cette section nous allons tudier en d tail la notion d expression et ainsi ar river une meilleure compr hension du fonctionnement intime de Maple La notion d expression est au c ur du calcul formel Lorsque l on utilise une expression math matique telle que sin r 3 x on a en t te une fonc tion sin et un r el m dont on conna t de nombreuses propri t s ainsi qu une variable x Du point de vue du syst me en revanche il s agit d une expres sion Pour le syst me a priori il s agit d une fonction nomm e sin appliqu e une somme de deux termes savoir une variable x et le quotient d une autre variable
324. pitre I il est parfois n cessaire d appliquer eval au r sultat de subs Les raisons de cette n cessit seront claircies au 83 1 2 MANIPULATION D EXPRESSIONS 49 Proc dure select Une autre commande tr s utile pour isoler des sous expres sions particulieres est la proc dure select Elle prend en argument une proc dure qui renvoie un bool en comme type ou has puis une expression et ventuellement d autres arguments de la proc dure Elle renvoie l expression en conservant uniquement les op randes pour lesquels la proc dure donn e en premier argument retourne true EXEMPLE 31 Voici quelques applications une liste liste sin x 3 Pi 2 26 select has liste x select type liste integer sin x 8 26 EXEMPLE 32 Pour demander en une ligne Maple de calculer 1 D gp p premier p lt 1000 il suffit de faire convert seq 1 2 p p select isprime 1 1000 2 3 Types de base et simplification automatique En Maple la racine de l arbre d termine le type de l expression Les types de base du syst me sont r sum s au tableau 1 Par exemple la liste 1 2 3 est repr sent e par un arbre dont la racine est le mot cl list et les fils sont 1 2 3 Pour certains de ces types quelques simplifications automatiques ont lieu la cr ation de l expression Nous d taillons maintenant les principales sim plifications Sommes et produits Les sommes sont trait es comme des
325. ple de variable dont l esp rance n est pas finie L esp rance de l cart E X est naturellement nulle La variance qui est l esp rance du carr de l cart E X pr cise quel point une distri bution est centr e sur son esp rance c est dire quel point les valeurs loign es de l esp rance sont probables L encore la connaissance de la fonction g n ratrice facilite le calcul V X D E X KP Pr X k k E X 2E X X k Pr X k p 1 p 1 p 1 Si la variable al atoire repr sente une quantit physique dans une certaine unit la racine carr e de la variance appel e cart type est dans la m me unit 1 2 3 Moments d ordre sup rieur Esp rance et variance sont pr cis es par les moments de la variable al atoi re Le moment d ordre n est par d finition E X et le moment centr un E X E X sen d duit par lin arit de l esp rance D apr s la sec tion pr c dente la variance u2 V X est reli e aux d riv es de la fonction g n ratrice et il en va de m me pour les autres moments Le lien s obtient 1 OP RATIONS L MENTAIRES 261 08 06 04 02 am on An aa an TAN 100 expand 1 2 z 2 100 plot seq i coeff 100 z i i 0 100 style point FIGURE 2 Distribution du nombre de piles lors de 100 tirages grace aux nombres de STIRLING de seconde esp ce Sn j combinat stirling2 e
326. ple en utilisant combine 1 2 R criture et simplification Un syst me ne peut pas d cider a priori qu une forme d un polyn me est plus simple que les autres Par exemple 1 x peut tre consid r e comme une forme plus simple que la forme d velopp e du m me polyn me alors que la forme factoris e de 1 x est plus compliqu e que la forme d velopp e si le crit re retenu est la taille de l expression En outre pour certains calculs comme la division euclidienne la forme d velopp e est plus commode alors que pour d autres calculs comme la recherche de pgcd la forme factoris e permet des calculs plus rapides En cons quence c est l utilisateur de d cider de la forme la plus adapt e ses besoins et Maple lui propose un certain nombre de commandes pour y parvenir 1 2 1 D velopper La commande expand pr sent e au chapitre I d veloppe tous les produits des polyn mes mais aussi toutes les sous expressions pour lesquelles une des proc dures expand s applique voir 8IL 3 3 Pour confiner la commande expand au d veloppement de polyn mes on peut avoir recours la commande frontend EXEMPLE 2 142 VI POLYN MES ET FRACTIONS RATIONNELLES P sin 2 x t 1 72 expand P frontend expand P 4t sin x cos x 4tsin a cos x 1 sin 2x 7t 2sin 2x t 1 Dans le cas d expressions a plusieurs variables ou dont les coefficients sont des fonctions de param tres expand pr
327. portement au voisinage de la singularit a chang series subs p 1 2 q 1 2 Cp z 1 2 1 1 1 1V2 2210 Ae d ot le comportement asymptotique 5 O n 4pq 2n7 1 2 O 1 qui correspond bien la probabilit 1 2 qu a chacun des joueurs de gagner dans ce cas Si 2pp gt 1 c est dire si p gt 1 2 la singularit dominante est atteinte lorsque pz 1 A z c est dire en z 1 Le comportement singulier est alors donn par assume p gt 1 2 map normal series subs q 1 p Cp z 1 2 z 1 7 0 1 d o l on d duit le comportement asymptotique 1 O 1 n Le comportement asymptotique d au pole suivant donne un reste exponen tiellement faible c est par sym trie la probabilit de gagner lorsque p lt 1 2 Le comportement dans ce cas est conforme l intuition d s que p gt 1 2 la probabilit de gagner tend vers 1 lorsque la dur e de la partie tend vers linfini L esp rance de gain fait l objet de l exercice 1 2 MARCHES AL ATOIRES ET PROBL MES DE RUINE 269 2 4 Ruine On suppose que la fortune du premier joueur est limit e il joue contre un casino ou il s agit d une compagnie d assurance La s rie g n ratrice associ e la probabilit de ruine l tape n s obtient en d compo sant la partie comme pr c demment au d part le point parcourt un certain nombre d arches montantes puis une tape vers le bas puis des arches m
328. poserons dans la suite du chapitre qu il a t charg ce qui s effectue par with linalg Les fonctions du package linalg s appliquent principalement des matri ces dont les l ments sont des fractions rationnelles Par ailleurs les matrices consid r es doivent avoir une dimension bien d finie les syst mes de cal cul formel ne savent pas travailler sur des matrices dont la dimension est un param tre 1 1 Les objets vecteur et matrice en Maple Un vecteur est un tableau une dimension dont les indices commencent 1 et une matrice est un tableau deux dimensions dont les indices commencent 1 La fonction array permet de cr er des matrices et des vecteurs mais il vaut mieux utiliser les deux fonctions vector et matrix dont la syntaxe est plus souple EXEMPLE 1 Voici deux vecteurs le premier d fini par ses coordonn es le second par une fonction permettant de les calculer vector 1 2 vector 3 i gt x i 1 21 z 2x 3a EXEMPLE 2 Les matrices sont cr es de la m me fa on matrix 1 2 3 4 matrix 2 3 i j gt x i j 1 Deux fonctions de Maple sont alors cras es et remplac es par celles du package ce sont norm qui calcule la norme d un polyn me et surtout trace qui affiche les tapes suc cessives de l ex cution d une fonction Il est possible d y acc der tout de m me voir I1 3 3 117 118 V CALCUL MATRICIEL TABLE 1 Vecteurs et matrices d
329. pour effectuer des sorties en vue d une impression Cependant contrairement aux domaines plus th oriques o les commandes sont contraintes par la pratique math matique les appli cations graphiques ont des syntaxes tr s diff rentes d un syst me l autre Ainsi le contenu de ce chapitre est plus sp cifiquement li au syst me Maple que les autres chapitres de cette partie Les trac s graphiques de ce chapitre ont t obtenus en utilisant le mode haute r solution de Maple C est pratiquement toujours le mode par d faut sauf sur machine Unix quand on lance le syst me par la commande maple il faut alors faire plotsetup x11 pour avoir des trac s utilisant X Window On suppose dans certaines parties de ce chapitre que le package plots de Maple a t charg 1 Trac s en deux dimensions Le trac le plus simple est celui d une courbe dans un espace deux dimen sions Cette courbe peut tre d finie sous au moins quatre formes diff rentes une fonction en coordonn es cart siennes donn e sous la forme y f x ou x f t y g t une fonction implicite f x y 0 ou une fonction en coordonn es polaires r f 0 1 1 Courbes y f x Commen ons par l exemple simple d une fonction d finie et continue sur un intervalle born En Maple deux syntaxes sont possibles selon que la fonction tracer est une proc dure ou une expression Dans le premier cas on crit plot f a b o f est une proc dure
330. prennent le relais Alors pour des classes bien d finies d expressions sur lesquelles nous allons revenir la r ponse n gative du syst me est plus qu un constat d chec il s agit d une preuve que la fonction n a pas de primitive l mentaire Le sens pr cis du terme l mentaire sera d fini plus bas 219 220 IX INT GRALES ET PRIMITIVES Nous allons passer en revue dans les paragraphes suivants les diff rentes classes de fonctions qu un syst me de calcul formel sait int grer 1 1 Fractions rationnelles Pour calculer l int grale d une fraction ra tionnelle p x q x la m thode classique consiste la d composer en l ments simples c est dire si le corps de base est C la mettre sous la forme p x SN Ai b x nn qla gt 2 a o b x est un polyn me L int gration ne pose alors aucun probl me La seule difficult et elle est de taille consiste trouver les a p les de la fraction rationnelle ce qui revient factoriser q x sur C Bien que les syst mes de calcul formel soient capables de factoriser les polyn mes sur Q la factorisation sur C est une op ration extr mement co teuse qui de plus n est pas n cessaire l int gration L int gration des fractions rationnelles pose deux probl mes aux syst mes de calcul formel D une part il faut viter de faire trop grossir les expressions Par exemple Maple calcule la primitive de 5x4 60x 255x
331. programme tout fait qui prend en entr e la matrice jacobienne Si le probl me est assez compliqu ce simple calcul de d riv es partielles peut s av rer fastidieux et surtout amener des erreurs La solution qui consiste 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 287 FIGURE 4 Une cage de laminage calculer ces valeurs par discr tisation par exemple en approchant Ofi t1 Tn d PRG Un FE ye Bises tn ar Ox p hj n est pas non plus tr s satisfaisante car elle am ne des erreurs qui rendent la convergence de la m thode de NEWTON plus lente La solution id ale consiste utiliser un syst me de calcul formel pour calculer ces d riv es et lui faire imprimer directement les d riv es partielles dans le langage choisi pour viter les erreurs de recopie Code calculant une expression Nous illustrons la production de code calculant une expression sur la r solution d un syst me non lin aire par un exemple pr cis emprunt au domaine de l ing nierie savoir la mod lisation d une cage d un train de laminage chaud Le m me exemple illustrera aussi la production de programmes Un train de laminage chaud a pour but de r duire l paisseur d une t le d acier chaude en la faisant passer entre des cylindres Le dispositif o se trouvent les cylindres se nomme une cage et en g n ral la t le passe travers un certain nombre de cages successives fig 4 288 XII CALCUL
332. programmes prouvent la primalit d entiers d un millier de chiffres Pour la factorisation la limite se situe vers une centaine de chiffres Par exemple la revue Scientific American publia en 1977 l entier de 129 chiffres 11438162575788886766923577997614661201021829672124236256256184293 9706935245733897830597123563958705058989075147599290026879543541 Sa factorisation n a t trouv e qu en 1994 Le dixi me nombre de FERMAT Fio 22 1 fournit un autre exemple il se d compose en 45592577 x 98 IV ARITHM TIQUE ET COMBINATOIRE 6487031809 x N o N est un entier de 291 chiffres Cet entier est composite puisqu il ne passe pas le test de FERMAT en base 3 N 27 2710 1 45592577 6487031809 evalb Power 3 N mod N 3 false isprime N false mais on ne connait toujours pas sa d composition en facteurs premiers Il faut donc tre tr s prudent avec les commandes ifactor et ifactors et viter de les utiliser dans un programme si une autre solution est possible Primalit et codes secrets La facilit relative avec laquelle on peut cr er des nombres premiers compar e a la difficult de la factorisation d un nombre composite a donn lieu au syst me de code secret cl publique RSA du nom de ses inventeurs RIVEST SHAMIR et ADLEMAN Le principe est le suivant le destinataire du message choisit deux grands nombres premiers p et q Il calcule trois entiers le produit n pq un entier e premier av
333. que fonction Maple s applique et produit une classe bien d finie d expressions Reconna tre qu une expression appartient telle ou telle classe permet du m me coup de savoir quelles fonctions on peut lui appliquer Un probl me pour lequel cette reconnaissance est essentielle est celui de la simplification d expressions C est autour de ce probl me que sont d finies les principales classes d expressions des syst mes de calcul formel En ef fet d s qu il est possible de d terminer si une expression appartenant une classe est nulle ou non il est possible d effectuer des divisions dans cette classe Autrement tous les calculs qui demandent une division deviennent hasardeux Dans les classes les plus simples il existe une forme normale Sous cette forme deux expressions repr sentent le m me objet math matique si et seulement si elles sont identiques Cependant la repr sentation id ale n est pas toujours la forme normale Dans le cas des polyn mes par exemple la repr sentation d velopp e est une forme normale mais la repr sentation factoris e permet des calculs de pgcd bien plus rapides Ce genre d exemple am ne les syst mes de calcul formel un compromis Un certain nombre de simplifications basiques comme la r duction des rationnels ou la multipli cation par z ro sont effectu es automatiquement les autres r critures sont laiss es l initiative de l utilisateur auquel des commandes sp cialis
334. que son argument est du type nom_de_type ou non EXEMPLE 34 Le type entier positif ou nul inf rieur 100 est cr par amp type int100 proc f evalb type fnonnegint and f lt 100 end Ce type s utilise comme n importe quel type Maple smallfact proc n int100 local f i f for i to n do f f i od end smallfact 0 1 smallfact 4 24 smallfact 100 Error smallfact expects its ist argument n to be of type int100 but received 100 Les types peuvent galement tre param tr s Ainsi le type polynom de Maple peut prendre en argument une variable et le type des coefficients Pour tester un tel type la proc dure type nom_de_type utilise des arguments suppl mentaires EXEMPLE 35 Le type suivant permet de d tecter si une expression mais pas n cessairement la fonction qu elle d finit est ind pendante d une variable donn e amp type independent proc fx not has f x end type x7 2 3 y independent x false L int r t d un tel type r side dans son emploi avec select ou lors de la cr ation de types structur s qui sont d crits au paragraphe suivant 2 MANIPULATION D EXPRESSIONS 53 Cet exemple nous permet par ailleurs d introduire la distinction entre types de surface et types r cursifs Pour savoir si une expression est de type il suffit de regarder sa racine En revanche pour savoir si une expression est du type independent ci dessus ou du type const
335. ques les manipulations de matri ces et d un mini langage de programmation Est utilisable aussi comme une biblioth que de fonctions arithm tiques en C les syst mes de calcul formel Axiom et MuPAD utilisent Pari pour leur arithm tique Tr s efficace 3 Syst mes de CAO en automatique Ce ne sont pas des syst mes de calcul formel Il ne font en effet que des calculs num riques m me si certains manipulent des polyn mes et des matrices de fractions rationnelles coefficients num riques Cependant leur mode d utilisation est tr s proche de celui des syst mes de calcul formel et ils r alisent tr s efficacement la partie num rique principalement le calcul matriciel la r solution de syst mes diff rentiels et optimisation et le trac de courbes Ceux d crits ci apr s ont la possibilit d changer des donn es avec Maple Basile Type commercial Version actuelle 4 1 Disponible sur machines Unix VMS et PC Distributeur Simulog 1 rue James Joule 78286 Guyancourt Cedex France t l 30 12 27 00 fax 30 12 27 27 R alis en collaboration avec l INRIA Ce syst me aux fonctionnalit s tr s compl tes a l avantage d tre compl tement fran ais avec un fort support local Matlab Type commercial Version actuelle 4 1 Disponible sur machines Unix Mac et PC Distributeur The MathWorks Inc 24 Prime Park Way Natick MA 01760 1500 USA t l 508 653 1415 fax 508 653 2997 email info mathw
336. r f1 int log x 1 t 2 t 0 x fl log arctan x Il reste consid rer l int grale o log 1 tx est remplac par log 1 x t La commande asympt ne s applique pas directement a cette int grale parce qu une des bornes d pend de x Il faut donc encore d composer en deux sous probl mes d une part l int grale tendue jusqu l infini d autre part l int grale de x 00 La premi re se traite directement par asympt f2 asympt Int log 1 x t 1 t 2 t 0 infinity x 1 1 Peur T Hu T p ti 1 x Ax x 8x4 x Il nous reste l int grale x ie m e t 4 1 212 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES 0 17 Se FIGURE 7 plot seq exp lambda t cos t 1 t lambda 0 1 2 t 0 10 pour laquelle il suffit d int grer terme terme le d veloppement de l int grande f3 asympt map int subs 0 0 asympt 1In 1 x t 1 t7 2 t t x infinity x 1 1 7 18 2 1 f3 aan 3 o x x3 x Il ne reste plus qu sommer les trois contributions asympt f1 f2 f3 x ming lng T mer 1 2 T O 1 2 z m e 8a4 Toutes les tapes du calcul n cessitent justification A d faut une v rification num rique est r confortante evalf Int 1n 1 10 t 1 t72 t 0 10 evalf subs x 10 3 394715756 3 394715938 O 1 100000 EXEMPLE 13 Dans sa version la plus simple la m thode de LAPLACE s applique a des int grales du t
337. r cons quent e expand subs s a 2 b 2 c 2 e 129_N1 3796_N1_N3 37445 _N3 Quelles que soient les valeurs des f indice d interf rence obtenu est une forme quadratique homog ne en N N3 Par cons quent son minimum est atteint en MN N3 0 Comme ce point est exclu il faut chercher le second minimum atteint en un point voisin seq subs i e i seq seq _N1 j _N3 k j 1 1 k 1 1 102 IV ARITHM TIQUE ET COMBINATOIRE 41370 37445 33778 129 0 129 33778 37445 41370 L indice non nul minimal vaut donc 129 Ce calcul se g n ralise ais ment en une proc dure Cette proc dure peut ensuite tre utilis e pour choisir des fr quences avec une interf rence minimale 1 4 2 quations quadratiques Ce sont les quations de degr total deux Dans le cas de deux variables Maple les r sout de fa on exacte Dans certains cas comme pour les quations de la forme z y n il n y a qu un nombre fini de solutions EXEMPLE 9 isolve x 2 y 2 97 x 4 y 9 y 9 x 4 y 9 x 4 y 4 x 9 x 4 y 9 x 9 y 4 y 4 x 9 x 9 y 4 En revanche les quation du type x Dy 1 appel es quations de PELL ont une infinit de solutions en g n ral EXEMPLE 10 s isolve x 2 2 y 2 1 s 1 y zv2 3 2v2 G 22 7 Pa 3 2v2 3 2v2 Ici isolve retourne quatre solutions correspondant aux deux signes pos sibles
338. r l aide en ligne Avec readdata l utilisateur n a plus modifier le fichier de r sultats ce qui permet de renouveler le trac pour autant d ensembles de r sultats qu il le d sire EXEMPLE 4 Le programme C suivant calcule la somme partielle h 1 1 2 1 2 et log i pour i de 1 jusqu 100 main double i 1 0 s 0 0 for i lt 100 s 1 i i 1 printf f f f n i s log i L ex cution de ce programme produit cent lignes comme 74 000000 4 874509 4 304065 Si ces lignes sont envoy es dans le fichier resultats on fera comme suit pour obtenir la liste des triplets i h log i 1 TRAC S EN DEUX DIMENSIONS 83 1 readdata resultats 3 On se sert alors de la commande seq pour extraire les quantit s d sir es par exemple pour faire un trac de h en fonction de i extrait i j gt seq x i x j x 1 plot extrait 1 2 ou un trac comparatif de h et logi en fonction de les trac s simultan s sont r alis s via des ensembles comme on le verra au 83 1 plot extrait 1 2 extrait 1 3 1 5 Exercices T l aide de la commande plot rechercher graphiquement les racines r elles du polyn me x 3x4 x 8x 3 v rifier avec la commande fsolve Tracer la courbe r 1 cos sin en coordonn es polaires Inclure le graphique dans la session Maple et l imprimer en Postscript si votre plate forme le permet Soit la courbe du plan d finie par 2 y gr
339. r l autre que proc dure ait d j t charg e ou non D autre part cela permet d appeler 1 commande trace sans prot ger l argument Les tables sont les seuls objets Maple qui peuvent tre modifi s Cette modification s effectue par l affectation d une valeur une de leurs entr es La commande map applique r cursivement une proc dure aux entr es d une copie de la table qui lui est pass e en argument Ainsi la proc dure copy est crite comme un map de l identit Par commodit il n est pas n cessaire d utiliser map pour appliquer subs ou evalf une table Les deux cons quences les plus importantes de cette r gle concernent l alg bre lin aire o la plupart des programmes comme l limination gaussi enne modifient certains l ments des matrices pass es en argument Voici un prototype simplifi d une telle proc dure d alg bre lin aire f proc mat local b b mat a a 62 II UTILISATION AVANC E b 2 1 b 2 1 3 b 1 1 b end L utilisation de cette proc dure ne produit pas l effet d sir a array 1 21 3 4 1 2 3 4 1 2 b La matrice donn e en argument a t modifi e car la variable b d signe physiquement la m me matrice que mat et donc que a Il faut utiliser ex plicitement copy La proc dure s crit alors g proc mat local b b copy mat b 2 1 b 2 1 3 b 1 1 b end Mais l utilisation de cette proc dure r serve enco
340. ramme effectue le calcul sans gaspiller de m moire Il est toutefois plus fr quent que l on veuille calculer 4 CALCULS NUM RIQUES 183 tous les l ments d une suite jusqu un certain rang et on aura alors recours au programme suivant u4 proc n nonnegint option remember 2 u4 n 2 3 u4 n 1 6 u4 n 1 u4 n 2 n n 1 end u4 0 1 u4 1 2 4 1 4 Programmes 1bis 4bis calculs approch s Dans les programmes pr c dents lorsque n est grand une grosse partie du temps de calcul provient des op rations sur des grands entiers u1000 a 761 chiffres d cimaux Si l on accepte de se contenter de valeurs approch es les op rations l mentaires vont se faire en temps constant ind pendant des nombres manipul s ce qui peut s av rer tr s payant sur des grands nombres Pour obtenir des valeurs approch es des l ments de la suite il suffit de modifier les lignes d finissant ug et u1 dans ces programmes par l ajout d un point apr s le 1 et le 2 Les nombres entiers 1 et 2 deviennent alors les nombres flottants nombres d cimaux en virgule flottante 1 0 et 2 0 et cette propri t se propage aux sommes et produits auxquels ils participent Pour d autres r currences il vaut mieux mettre explicitement evalf dans le corps de la proc dure car la propagation des nombres flottants aux fonctions n est pas totale 4 1 5 Programme Ster flottants machine La commande evalhf perm
341. re de combinaisons de valeur n 2 COMBINATOIRE 109 TABLE 1 Correspondance entre constructions combinatoires et s ries g n ratrices Structure S rie g n ratrice AUB A z B z AxB A z B z Seq A 1 1 A z francs Si la taille d une pi ce est prise gale 1 c est dire F z z le n coefficient de D z devient le nombre de fa ons de faire n pi ces avec des pi ces de cinq types diff rents Les r gles du tableau 1 p 109 peuvent tre appliqu es des structures d finies r cursivement Par exemple les arbres binaires se d composent en B Feuille U Bx B Autrement dit un arbre binaire est soit une feuille soit un n ud dont partent deux arbres binaires En prenant comme notion de taille le nombre de feuilles l application des r gles du tableau 1 p 109 donne pour les s ries g n ratrices B z z B z Cette quation se r sout solve B z B 2 B map series z z 2 223 52 142 O 2 1 z 27 22 524 1425 O 2 Seule la premi re solution n a que des coefficients positifs et est donc la s rie cherch e La commande series permet alors de calculer rapidement de nom breux coefficients Nous avons pr sent ici une version tr s simplifi e de la th orie des struc tures d composables D autres constructions sont utilis es en particulier la formation d ensembles et de cycles ce qui produit des fonctions exp et l
342. re de piles dans une s rie de 100 tirages nbpile proc local i convert seq pile i 1 100 end ensuite on fait des s ries de 100 tirages et on compte combien de fois le nombre de piles vaut k pour 0 lt k lt 100 3 SIMULATION 271 100 FIGURE 4 s array 0 100 sparse to 2000 do n nbpile s n s n 1 od La figure 4 s en d duit alors par plot seq n s n n 0 100 Lorsque la variable al atoire est continue il faut lisser la courbe en grou pant les r sultats proches Nous en verrons un exemple plus loin La fonction rand renvoie un g n rateur d entiers une approximation d un g n rateur uniforme sur l intervalle r el 0 1 s obtient ainsi N 10 20 randN rand 0 N 1 randU gt evalf randN N 3 2 Tirage selon une distribution fix e On a souvent besoin de tirer des nombres de mani re al atoire mais pas uniforme partir d un g n rateur al atoire uniforme il est possible de construire un g n rateur al atoire suiv ant une distribution de probabilit donn e La distribution est d finie par la donn e de l intervalle a b parcouru par la variable al atoire X et par sa fonc tion de r partition F t Pr X lt t La fonction F transforme l intervalle a b en 0 1 et il n est pas difficile de voir que c est la fonction inverse que nous cherchons F transforme la distribution uniforme sur 0 1 en la dis tribution d sir e sur
343. re une surprise f a print a g a b Le r sultat de la proc dure est la variable locale b Pour viter les confusions que peut entrainer cette variable locale dans les calculs il vaudra mieux crire la proc dure ainsi h proc mat local b b copy mat b 2 1 b 2 1 3 b 1 1 eval b end De cette fa on la proc dure renvoie bien une matrice et ne modifie pas son argument Champs des tables et des proc dures La derni re particularit des tables et des proc dures concerne l emploi des commandes op subsop et subs Les deux premi res vont de pair si un champ d une structure peut tre atteint par op il est possible d utiliser subsop pour cr er une copie de la structure dont ce champ est modifi Pour les tables la commande op joue un r le diff rent de son r le habituel elle construit une liste des correspondances entr e sortie de la table Ceci pourrait laisser croire que les tables sont stock es comme des listes mais il 3 APPROFONDISSEMENT DU SYST ME 63 TABLE 2 Les champs d une proc dure Instruction valeur eval f la proc dure op 0 eval f le type procedure op l eval f ses param tres op 2 eval f ses variables locales op 3 eval f ses options op 4 eval f sa table de remember op 5 eval f sa description inexploit e 6 eval ses variables globales n en est rien voir 83 2 Les deux autres commandes d acc s aux tables sont indices qui cons
344. rface avec l option style patchcontour comme repr sent sur la figure 23 pour la fonction f exp 2 y 2exp x 3 y 3exp x 1 y 2 3 3 Trac point par point Pour certaines applications le trac de points non reli s apporte une information suppl mentaire Par exemple cela permet de visualiser l acc l ration d un point mobile En Maple on utilise pour ce faire l option style point avec la commande plot en dimension deux ou spacecurve en dimension trois fig 24 FIGURE 21 cylinderplot 2 cos t 1 z t 0 2 Pi z 1 1 numpoints 2000 3 AUTRES TYPES DE TRAC S 89 Cc gt GD A i o LKR ETES FIGURE 22 contourplot f FIGURE 23 plot3d f x 1 2 7 2 y 1 3 x 1 2 7 2 y 1 3 numpoints numpoints 4000 4000 style patchcontour 9 7 TO TZ 7 6 TZ plot l axes framed plot 1 axes framed style point FIGURE 24 Trac continu et trac de points 1 seq t 8 sin t 4 1 cos t 4 t 0 100 scaling constrained 3 4 Trac s en couleur La couleur apporte galement une dimension de plus ce qui permet de visualiser des objets en quatre dimensions Une appli cation typique est le trac d une fonction du plan complexe dans lui m me Une telle fonction a pour argument un nombre complexe z x iy et re tourne un autre nombre complexe z x iy On peut alors repr senter en trois dimensions x en fonction de x et y la
345. rifier la valeur de l aire pour R valant 2R eval subs R2 2 R1 A mR1 Le r sultat est bien celui attendu Il fait appara tre la constante Maple Pi qui la diff rence des programmes num riques n est pas une approximation mais repr sente bien le nombre transcendant 7 Maple conna t d autres constantes comme E qui repr sente la base e des logarithmes n p riens ou la constante y d EULER repr sent e par gamma De m me le symbole infinity repr sente 00 et infinity repr sente oo Pour conclure ce probl me nous tudions le rapport qui doit exister entre les rayons R et R pour que l aire de l intersection des deux cercles soit gale la moiti de l aire du cercle C1 Si K est ce rapport nous commen ons par remplacer dans la valeur de l aire le rayon R par KR AA normal subs R2 K R1 A 1 1 AA TRI RerParecos 1 zre SRI VAR1I K2R1 2 1 K R1 Farccos 5 Il ne reste plus qu r soudre l quation en K exprimant que l aire AA vaut TR 2 1 UNE SESSION D TAILL E 15 solve AA Pi R1 2 2 K Maple ne trouve aucune solution et retourne comme valeur la suite d expres sions vide NULL dont l affichage est vide essayer NULL En effet il n y a pas de solution analytique ce probl me En revanche il est possible de calculer une valeur num rique approch e de K Dans ce cas c est la fonction fsolve qui est utilis e Cette fonction r
346. rite sous forme matricielle Dans l exemple de la r currence 1 la forme matricielle quivalente est uns 03 0 1 tin Un 4 1 0 0 0 OF uni3 Un 3 0 1 0 0 0 Un 2 Un 2 0 0 1 0 0 Un 1 Un 1 0 0 0 1 0 Un quation que l on peut encore noter U 11 A Un En consid rant ainsi des vecteurs la r currence est devenue une r currence lin aire d ordre un et sa solution est donc U A U Or le calcul de A n cessite moins de n multiplications de matrices comme on l a vu au chapitre IV C est ainsi par 1 R CURRENCES LIN AIRES 167 exemple que fonctionne la proc dure fibonacci de Maple voir chap II pour la fa on d afficher le code d une proc dure Maple Pour une r currence donn e on pourra s inspirer de la proc dure suivante qui calcule des valeurs de la r currence 1 p proc n nonnegint local A res i 1 A array 0 0 3 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 res array 1 1 1 1 1 l convert n 4 base 2 if 1 1 1 then res array 4 1 1 1 1 fi for i in subsop 1 NULL 1 do A evalm A A if i 1 then res evalm A amp res fi od res 1 end Pour n 100 cette proc dure est trois fois plus rapide que l valuation du r sultat donn par rsolve et cinquante fois pour n 1000 1 1 3 Fonction g n ratrice et comportement asymptotique Tout comme le calcul de valeurs de la suite la d termination du comporte ment asymptotique ne n cessite p
347. roduit facile P I D 1 P Reste le cas o la matrice n est pas diagonalisable Alors la m me tech nique s applique la forme de JORDAN forme dans laquelle le calcul des puis sances permet de traiter les diff rentes entr es de la matrice ind pendamment les unes des autres Les probl mes que nous avions mentionn s plus haut pour la d termination des vecteurs propres se posent bien entendu aussi ici puisque nous passons par le calcul de la forme de JORDAN EXEMPLE 19 La matrice suivante n est pas diagonalisable A matrix 0 3 11 1 1 2 11 0 11 0 3 l A 1 1 2 1 0 1 Voici sa forme de JORDAN et la matrice de changement de base correspondante d jordan A P print d P 2 0 0 1 2 1 2 1 2 Ost TU 1 3 0 1 3 0 0 i 0 es 1 Pour calculer la racine carr e il nous faut les puissances de d I Les premi res puissances permettent de deviner la forme g n rale qui n est pas difficile tablir par r currence evalm d 1 evalm d 1 2 evalm d 1 3 evalm d 1 4 1 0 0 1 0 0 1 0 OF f1 o o o 2 l lo 4 eal SG 8 12 0 16 32 o o 2 jo o 4 jo o eS o 0 16 D o 1 0 G D 0 27 n 277 0 0 2 128 V CALCUL MATRICIEL Donc pour toute s rie f dont le rayon de convergence est sup rieur 2 FO 0 0 f 1 0 f 2 f 2 0 0 f 2 L application de cette formule f 1 2 dont la s rie a pourtant un rayon de convergence inf rieur 2 n
348. rons quelques exemples EXEMPLE 2 En regardant sin na comme S e la somme S sin nx n gt 1 appara t comme la primitive d une s rie g om trique Ceci conduit une forme exacte evalc Im sum exp I x n n n 1 infinity arctan sin x 1 cos x Il faut ensuite un peu de patience avec les fonctions de simplification de Maple avant d arriver la forme plus simple T x a valable pour 0 lt x lt 27 EXEMPLE 3 Voici un exemple qui porte sur une fraction rationnelle Il montre qu il ne faut pas se limiter des manipulations purement formelles de s ries infinies mais bien justifier chacune des tapes du calcul La fonction f ci dessous admet une d composition en l ments simples particuli rement l mentaire f 1 4xn 1 4 n 2 4 n 3 f 4n 1 4n 2 4n 3 convert f parfrac n 1 1 A 1 2 4n 1 2 2n 1 2 4n 3 Il est donc tentant de conclure que dans la somme gt f n les inverses des entiers impairs apparaissent tous multipli s par 0 et donc que cette somme est nulle Or c est une somme de termes positifs R arranger les termes de cette fa on n est pas valide car cela fait intervenir simultan ment des termes d indice n et d indice 2n de la s rie En faisant la somme jusqu un indice N fix avant de le faire tendre vers l infini ce qui donne le bon r sultat on prend en compte N termes en moins dans la s rie n gative Le r sulta
349. rs fois l int gration simple L ordre des int gra tions peut jouer un r le important et l utilisateur doit le d finir EXEMPLE 26 Pour calculer l int grale double a y dx dy sur le domaine d fini par 0 lt x lt h y 2px lt 0 ce qui revient calculer V2px K oe a y dy dx V2px il faut ex cuter en Maple int int x 2 y 2 y sqrt 2 p x sqrt 2 p x x 0 h 4 ph 2 2 15h 14p 105 p EXEMPLE 27 Le calcul du volume engendr par un arc AB tournant autour de laxe Oz se r duit l int grale curviligne 7 f4 p 2 dz Pour un arc AB param tr par x f t z g t cela donne x f PAg t dt Par exemple le volume du domaine illimit engendr par la cisso de z x 2a x lorsqu elle tourne autour de l axe Oz fig 1 s obtient en utilisant la repr sentation param trique suivante de la cisso de x f t a 1 cost z g t at a i t J0 27 2 INT T Q RALES D FINIES 237 FIGURE 1 La cissoide z x 2a x pour a 1 La courbe est sym trique par rapport laxe Oz et la valeur du volume en d coule f a 1 cos t g a 1 cos t 2 sin t Pixint f 2 diff g t t 2 Pi 0 27 a Il ne faut cependant pas tre trop optimiste concernant l usage du calcul formel pour les int grales multiples Dans la plupart des cas le syst me ne parvient pas calculer une forme explicite Cependant comme nous
350. rs qu prendre l exponentielle et r soudre puis simplifier un peu solve subs y x y map exp y convert simplify expand exp trig A Comme le cosinus hyperbolique est pair on peut se passer de Lorsque x est n gatif cette solution devient un cosinus assume A gt 0 x lt 0 simplify subs epsilon 1 cosh 2 Z 248 X CALCUL DIFF RENTIEL cos eo PE La seconde solution de l quation diff rentielle m ne au m me r sultat EXEMPLE 2 Voici une quation autonome la variable par rapport laquelle on d rive n intervient pas qui nous permet de pr senter la syntaxe des conditions initiales pour les d riv es de la fonction P Q y 0 y 0 1 deq diff y x x 2 2 1 diff y x x 72 73 dsolve deq y 0 1 D y 0 1 y x ylz i x V2x 1 2 es y x iy x V2x 1 24 Pour sp cifier des conditions initiales d ordre plus lev on utilise l op rateur de composition it r e par exemple D 2 y 0 1 pour y 0 1 1 V2 2 EXEMPLE 3 Maple n arrive pas r soudre l quation y yy z eq diff y x x x y x diff y x x x dsolve eq y x Cependant comme cette quation est invariante par le changement de vari able x ax on a int r t changer x en ef ce qui la transforme en une quation autonome Pour faire le changement de variable il faut aider le syst me ainsi eval subs y x
351. s AB 2 DC 3 EH 1 Que vaut AC Indication il faut rajouter une condition qui est im plicite sur le dessin pour qu il n y ait que deux solutions r elles On pourra utiliser la fonction solve pour voir si l on a bien sp cifi le syst me Num riquement on doit trouver deux valeurs proches de 1 23 et 1 87 3 D terminer les quations des projections sur les plans de coordonn es de l intersection du c ne x y z 2 et du cylindre y 1 z 4 1 repr sent s en figure 9 4 D terminer les quations des projections sur les plans de coordonn es des deux surfaces ety 2 1l et ry yz 2707 Dry Factoriser les quations obtenues en d duire l intersection 5 D un point P on m ne les tangentes PA PB un cercle de rayon R Trouver la courbe parcourue par le centre de gravit du triangle PAB lorsque le point P d crit une droite situ e distance d du centre du cercle 10 11 2 POLYN MES ET SYST MES MULTIVARI S 163 t FIGURE 10 Le m canisme de WATT On donne la cubique 4 t Fire IOF Une droite quelconque D la rencontre en trois points A B et C Les tangentes la courbe en ces points rencontrent nouveau la courbe en trois autres points a 3 y D montrer que les points a 8 y sont align s Cet exercice ne n cessite pas beaucoup de variables mais le temps de calcul est tr s lev On consid re la courbe de l espace d finie par les quations param tr
352. s 179 180 180 181 181 184 186 189 189 189 191 194 196 198 198 199 199 201 202 203 204 206 207 207 208 209 210 213 214 216 1 CONTENTS CHAPTER IX INT GRALES ET PRIMITIVES Primitives 1 1 Fractions rationnelles 1 2 Fonctions l mentaires 1 3 Autres fonctions 1 4 Commandes de r criture Int grales d finies 2 1 Utilisation d une primitive 2 2 Classes d int grales d finies 2 3 M thode des r sidus 2 4 Transform es int grales 2 5 Int grales multiples 2 6 Int gration num rique Int grales param tr es 3 1 Cas g n ral 3 2 Suites d int grales 3 3 Exercices CHAPTER X CALCUL DIFF RENTIEL quations diff rentielles ordinaires 1 1 Solutions exactes 1 2 D veloppements en s rie et asymptotiques 1 3 M thodes num riques 1 4 Exercices tude diff rentielle de courbes 2 1 Un calcul de d velopp e 2 2 Un calcul de g od sique 2 3 Exercices CHAPTER XI CALCULS EN PROBABILIT Op rations l mentaires 1 1 Probabilit s combinatoires 1 2 Sommes de variables al atoires 1 3 Produits de variables al atoires 1 4 Exercices Marches al atoires et probl mes de ruine 2 1 R gles du jeu et probl mes 2 2 Premier retour 2 3 Gain 2 4 Ruine 219 219 220 222 224 225 227 228 231 232 234 236 237 240 240 241 243 245 245 245 249 250 252 252 253 254 255 257 257 258 258 263 264 265 2
353. s caract re non com mercial Version actuelle 1 2 1 Disponible sur machines Unix Mac et PC sous Linux ftp uni paderborn de Distributeur MuPAD Distribution Fachbereich 17 Univ of Paderborn Warburger Str 100 D 33095 Pader born Allemagne email MuPAD Distribution uni paderborn de Permet la programmation orient e objets comprend des instructions de parall lisme explicite Syst me jeune certaines fonctionnalit s manquent Reduce Type commercial Version actuelle 3 5 Disponible sur ma chines Unix Mac et PC Distributeur The Rand Corporation 1700 Main Street P O Box 2138 Santa Monica CA 90407 2138 USA t l 310 393 0411 poste 7681 fax 310 393 4818 email reduce rand org L un des plus vieux syst mes donc tr s robuste Reduce a t en grande partie d velopp par ses utilisateurs et manque d organisation globale 2 Syst mes sp cialis s Gap Calculs sur les groupes finis Type gratuit Version actuelle 3 3 ftp ftp math rwth aachen de Disponible sur machines Unix Mac et PC Distributeur Lehrstuhl D fuer Mathematik RWTH Aachen 52056 Aachen Allemagne email gap math rwth aachen de GB Calculs de bases de GROBNER bases standard Type gratuit ftp posso ibp fr Version actuelle 4 0 Disponible sur machines Unix Ecrit en C par Jean Charles Faug re Universit de Paris VI jcf posso ibp fr Tr s rapide Utilise notamment de nouveaux algorithmes qui ne sont im plant s dans
354. s il existe un tel polyn me non trivial qui vaille z ro En utilisation interactive une bonne fa on de traiter ces constantes dans des simplifications compliqu es est de les remplacer toutes sauf par des vari ables et d utiliser les proc dures de forme normale des fractions rationnelles Ceci revient a faire l hypoth se que toutes ces constantes sont alg briquement ind pendantes Cette remarque se g n ralise a des constantes plus complexes comme In 2 exp r log 3 mais il faut alors tre s r que celles ci ne sont pas trivialement d pendantes 2 3 2 Nombres complexes Les nombres complexes existent dans tous les syst mes de calcul formel En Maple on note I le nombre imaginaire 1 La fonction de base pour les calculs sur les nombres complexes est evalc Elle met une expression sous la forme a ib o a et b sont r els Comme la nullit n est pas en g n ral d cidable il en va de m me de la r alit Cepen dant d s que a et b sont dans des classes forme normale evalc fournit une forme normale pour les complexes associ s EXEMPLE 11 On peut par exemple calculer v i 1 1 2 14 evalc 1 1 5 V2 51V2 Le r sultat de ce calcul pose le probl me de la d termination des racines L imaginaire a deux racines alors que evalc n en donne qu une Dans le cas d expressions plus compliqu es les choix multiples de racines carr es ou cubiques peuvent rendre la reconnaissance de 0
355. s aussi aux expressions et sous expressions qui interviennent durant le calcul L acc s cette table est fait de telle mani re que sommes et produits sont r f renc s une entr e qui ne d pend pas de l ordre des op randes la cr ation d une expression l arbre repr sentant l expression est construit du bas vers le haut Les feuilles sont les premiers objets recon nus puis les expressions b ties sur les feuilles Au fur et mesure de cette cr ation les objets sont tous compar s la table de hachage Si le syst me s aper oit lors de cette comparaison que l objet qu il teste est nouveau alors l objet est cr et devient n ud de l arbre Si au contraire le syst me re conna t l objet comme ayant d j t utilis l objet n est pas cr et c est l ancien objet qui devient n ud de l arbre Ceci garantit l existence d une seule copie de chaque expression en m moire Gr ce cette table le test d galit de deux expressions est effectu en temps constant et la simplification automatique des sommes des produits ou des ensembles est effectu e tr s rapidement par tri des op randes Graphes acycliques dirig s Une cons quence de l unicit des objets est que les arbres que nous avons utilis s pour repr senter les expressions sont stock s comme des graphes acycliques dirig s abr g s l anglaise DAGs Un exem ple de DAG est donn en figure 6 p 68 T 68 II UTILISA
356. s chaises sont vides voir fig 3 Chaque chemin depuis la racine jusqu un n ud a une certaine probabilit d occurrence qui est indiqu e c t de la configuration La somme des probabilit s chaque niveau de l arbre c est dire dans chaque colonne de la figure 3 vaut 1 Les feuilles de l arbre sont les configurations terminales telles qu il ne reste pas deux places adjacentes Cet arbre se traduit ensuite g e eo Leeo0o0 1 g e0ee L T 70 e00 loccee 100000 1 1 7000 feecec eooo locoso 1 00e FIGURE 3 L arbre des configurations pour n 5 en un polyn me chaque chaise occup e est associ e une variable k une configuration devient un mon me par exemple 212 2 42 5 indique que les chaises 1 et 2 sont occup es ainsi que les chaises 4 et 5 La somme des mon mes correspondants aux n uds du niveau j de l arbre multipli s par les probabilit s associ es donne un polyn me codant toutes les configurations possibles apr s que 7 hommes se sont assis Au niveau 1 et pour n 5 ce polyn me vaut 1 be 1 2 1 a 1 1T T3T TAT 4 122 47273 4 4 4 405 et au niveau 2 3 1 3 6 g 71727314 7172745 g T2T3T4T5 L utilisation de polyn mes permet ainsi de regrouper les configurations iden tiques obtenues par des chemins diff rents dans l arbre tout en sommant leurs probabilit s respectives Les six feuilles de l arbre de la figure 3 sont repr sent es par 3 mon mes dans 6 qui corre
357. s et que nous avons d j vues on ne peut pas donner de r gle g n rale applicable face une telle r currence L exemple que nous traitons en d tail dans cette section illustre l approche empirique que l on doit souvent adopter Il s agit d tudier la r currence Un tt Un 1 1 en fonction de wo r el positif Intuitivement lorsque u est trop grand l exponentielle le fait exploser et la suite u diverge rapidement vers 00 Inversement si e reste limit alors que n cro t un devrait tendre vers 0 Le programme suivant permet d effectuer quelques exp rimentations num riques essai proc u0 local u n u u0 for n to 100 do u evalf exp u n od end Pour w plus petit qu environ 0 3 le programme renvoie toujours une m me valeur savoir approximativement 0 010 102 579 55 Pour des valeurs de wo sup rieures 0 3 le syst me renvoie un message d erreur invoquant un argument trop grand pour le calcul de l exponentielle Il semble donc exister une valeur seuil de ug La figure 3 p 175 confirme cette impression L existence de cette valeur seuil est facile prouver l exponentielle tant croissante en notant u et ul les suites correspondant deux valeurs initiales x et x on a x lt a gt u lt us pour tout n Donc si la suite diverge pour une certaine valeur initiale uo elle diverge pour toutes les 176 VII SUITES R ELLES 64
358. s pr sent es jusqu ici il n y a pas une bonne repr senta tion des polyn mes Les fonctions permettant de r crire un polyn me sous 20 I PRISE EN MAIN DU SYST ME TABLE 2 R critures de polyn mes Polyn me p z x x y ax 2by zy y collect p x z 1 2by x y ax 2y3b zy y za collect p x y z 1 2by x y ax 2y b z 1 y za collect p x y distributed z 1 a 2byr y ax 2y3b z 1 y 23a expand p zz x g a 2r by yar 2 b zy y factor p x y ax 2 1 2by diverses formes sont r sum es au tableau 2 Le tableau 3 r sume celles con cernant les fractions rationnelles Des informations plus pr cises sur chacune de ces fonctions et sur les nombreuses autres op rations que peuvent subir polyn mes et fractions rationnelles sont donn es au chapitre VI TABLE 3 R critures de fractions rationnelles Fraction f Op ration R sultat P x 430 274 yx 3yxr 2y normal x yr r y x3 yxt2x2 2y x y z 1 z y factor f REET r 3r 2 yz 3yx 2y 3s 2 y a9 3x 2 a3 x 2x2 2 collect f y x3 r 2r2 2 F x3 r 2r 2 x 1 y 7 x 1 x collect f y normal at aL r 3ye 2 x 3ye 2 gi expand f PF tai tel 2 2 3 D veloppements limit s Comme les matrices et les flottants les d veloppements limit s ont une forme normale mais celle ci
359. s seules variables accessibles depuis une proc dure sont outre ses variables locales les variables d finies au niveau de l interpr te Il faut faire attention une erreur grave laisser une variable locale sortir d une proc dure Celle ci s affichera alors de la m me fa on que la variable globale de m me nom et il devient impossible de les distinguer EXEMPLE 18 Voici la version la plus d pouill e de ce probl me proc local x x end x r r Dans cet exemple la diff rence x x n a pas t simplifi e puisque les deux symboles x repr sentent des variables diff rentes mais qui sont devenues toutes deux accessibles au toplevel Dans chaque proc dure on dispose outre des variables locales d clar es explicitement de la variable nargs qui donne le nombre de param tres pass s la proc dure de la suite d expressions args des arguments args 1 est le premier args nargs le dernier et comme en utilisation interactive des variables et qui donnent les derni res valeurs calcul es l int rieur de la proc dure Passage des param tres Le passage des param tres se fait toujours par valeur c est dire que les arguments sont toujours valu s avant d tre pass s une proc dure Pour faire un passage par variable ou par r f rence il faut passer le nom de la variable C est ainsi qu une proc dure peut modifier une variable EXEMPLE 19 Voici un exemple de ce que l on ne
360. s sont utilis s en pratique Si les 152 VI POLYN MES ET FRACTIONS RATIONNELLES mon mes ordonner sont xfta a et B rgh gbr avec n n Qa a1 an et 8 b 4 bn alors les ordres principaux sont e l ordre lexicographique o A gt B si et seulement si la premi re co ordonn e non nulle est positive dans le vecteur a1 b1 an bn e l ordre du degr lexicographique o A gt B si et seulement si a gt ou a Bet A gt B pour l ordre lexicographique e l ordre du degr lexicographique inverse o A gt B si et seulement sia gt B ou a et dans le vecteur a1 b1 an bn la derni re coordonn e non nulle est n gative Maple conna t le premier et le troisi me sous les noms plex et tdeg respectivement On sp cifie l ordre sur les variables laquelle est 71 2 en donnant une liste en argument Sans tre plus pr cis disons qu une base de GROBNER est un syst me d duit du syst me de d part o on ne peut plus effectuer aucune r duction compte tenu de l ordre choisi tant donn un syst me de polyn mes et un ordre sur les mon mes il y a unicit de la base Cependant la base d pend de l ordre choisi EXEMPLE 18 Avec l exemple pr c dent nous obtenons ainsi trois bases sys x 2 y 2 2 2 1 x 2 2xy 2 vxz 1 x z 8 1 grobner gbasis sys x y z plex T 2 z 10z z z 4z z 8z 254 el 52 1024 52 10
361. se ce travail 3 Espaces vectoriels euclidiens L espace ambiant est euclidien Les solides sont rigides et leur mouvement est r gi par des isom tries Outre les op rations g n rales de l alg bre lin aire que nous avons d j vues on y dispose d un produit scalaire dotprod ce qui permet de calculer des angles ou de d terminer des bases orthogo nales GramSchmidt L encore les calculs manuels sont rapidement infais ables mais restent la port e des syst mes de calcul formel 3 1 Isom tries Pour illustrer quelques calculs dans l espace euclidien nous allons calculer la matrice d une rotation de l espace trois dimensions donn e par un vecteur directeur w unitaire de son axe et son angle mesur en utilisant l orientation d finie par u Un vecteur quelconque est transform par cette rotation en cos at sin a v 1 cos a vi o A repr sente le produit vectoriel et le produit scalaire En Maple cela donne u vector p q r basis vector 1 0 0 vector 0 1 0 vector 0 0 1 R augment seq evalm cos alpha v sin alpha crossprod u v 1 cos alpha dotprod u v u v basis 3 ESPACES VECTORIELS EUCLIDIENS 133 Nous ne montrons que la premi re colonne cos a 1 cos a p sin a r 1 cos a pq sin a q 1 cos a pr Inversement si l on conna t la matrice de rotation son axe et son angle peuvent se retrouver gr ce deux
362. sente l inconv nient de trop d velopper Cela prend du temps et produit des expressions tr s grosses o une partie de l information peut tre perdue On aura souvent int r t a utiliser la commande collect qui d veloppe l expression par rapport une variable sans modifier le reste En outre on peut donner un argument op tionnel qui est une proc dure appliquer aux coefficients Le plus souvent on utilisera normal EXEMPLE 3 f 1 x 1 y 2 1 y 2 f collect f x normal P 14 x 1 y 1 y CRE deg Sieg ee l Pour d velopper des polyn mes simultan ment par rapport plusieurs variables on utilisera soit collect p x y qui d veloppe par rapport x puis les coefficients par rapport y soit collect p x y distributed qui d veloppe a plat par rapport x et y p 1 x y x Z x y Z collect p x y collect p x y distributed z y 2x 1 1 x2 1 2 xy 1 2 2 Ordonner les polyn mes Du fait de la repr sentation des polyn mes comme des sommes Maple n ordonne pas syst matiquement les polyn mes Il faut explicitement le de mander Deux commandes permettent de r aliser cette op ration La com mande sort modifie le polyn me afin de l ordonner par puissances d crois santes de la ou des variables sp cifi es dans le cas de plusieurs variables on peut sp cifier la relation d ordre entre les mon mes La commande series ordonne un polyn me par puissances croi
363. sente une case vide et D code l occupation de la case i j Pour pouvoir liminer les mauvaises dispositions on remplace D j par liCjdi j 1 i j n la variable l code l occupation de la ligne 7 c celle de la colonne j dj 1 celle de la diagonale montante et e _ n celle de la diagonale descendante passant par la case i j Chaque terme du d veloppement du polyn me P devient alors un mon me form de variables 1 c dxz e La configuration de la figure 2 correspond ainsi au mon me lacidaer1 l c2d2 7 l5c3d7e10 Igcady1 12 laCsd es lrC di2eo I3c7dgea l csdi3e6 Cette correspondance n est pas bijective par exemple pour n 4 le mon me lilolalacicoc3cadidsdsd e2eseses correspond deux configurations diff rentes Les bons mon mes sont ceux sans carr sinon une ligne colonne ou diag onale contient plusieurs reines et contenant chacune des variables 1 ln C1 Cn ce qui fixe le nombre de reines n Le nombre de solutions est donc la somme des coefficients des mon mes sans carr du coefficient de liee ln C1 Cn dans 5 m MI 1 licjdi j 1 i j n Le d veloppement brutal de ce produit m ne une explosion combinatoire P comporte 2 termes soit d j 33 554 432 pour n 5 L extraction directe du coefficient de l dans 5 limite cette explosion le calcul est r duit la recherche du coefficient de c1 c dans n n II gt Cjdi j 1 i j n i 1 j 1
364. sont les points d intersection des deux cercles l aire cherch e est gale a la somme des deux diff rences d aires suivantes e laire du secteur OI J du cercle C1 moins l aire du triangle OL J i 8 I PRISE EN MAIN DU SYST ME FIGURE 1 Les deux cercles C1 et C2 e laire du secteur O21J du cercle C2 moins l aire du triangle Oo J Le probl me est conceptuellement tr s simple mais ces calculs d aire sont assez lourds Ces deux conditions en font un candidat id al pour l utilisation du calcul formel ce stade le lecteur peut lancer Maple pour suivre pas pas les tapes de cette session Lorsque Maple est activ appara t une fen tre appel e worksheet qui se pr sente de fa on diff rente selon le type d ordinateur utilis La figure 2 mon tre l aspect obtenu sur une station de travail avec le gestionnaire de fen tres X Windows Le principe de worksheet est le m me pour tous les syst mes L utilisateur entre ses expressions dans la syntaxe Maple et le r sultat est affich apr s chaque calcul L affichage est pr sent sous une forme haute r solution qui ressemble la typographie math matique C est le cas en particulier pour les lettres grecques comme alpha dans la figure 2 et quelques autres symboles racines carr es sommes et int grales Chaque worksheet comporte trois types de zones les zones d entr e ou input les zones d affichage de r sultat ou output et l
365. spondent aux trois configura tions terminales possibles Pour n 10 l arbre comporte 366 feuilles pour seulement 12 configurations finales En termes informatiques la m thode pr sent e ici revient faire un par cours en largeur de l arbre avec factorisation des configurations semblables la m me technique fut d j employ e pour le probl me des reines L implantation en Maple s effectue en deux temps Une premi re proc du re calcule partir d une configuration donn e sous la forme d un mon me m 2 COMBINATOIRE 115 les nouvelles configurations possibles et leurs probabilit s Ces configurations sont obtenues en recherchant les paires de variables x _1 x absentes du mon me S il ne reste pas de places adjacentes le mon me correspond une feuille et contribue l esp rance cherch e son coefficient est la probabilit de la feuille et le nombre de places vides est n moins son degr Les feuilles sont quant elles cod es comme des mon mes en la variable z iteration proc m x n z x est la liste des xji local i j s if has m z then RETURN m fi j 0 s 0 for i from 2 to n do if not has m x i 1 x i then j j 1 s s m x i 1 x i fi od if j lt gt 0 then s j else z n degree m x subs seq x i 1 i 1 n m fi end Le programme principal prend en entr e le nombre n de chaises et calcule le nombre moyen de chaises restant la fin Il suffit de partir du mon me 1
366. ssantes il suffit de sp cifier comme ordre du d veloppement infinity Dans ce dernier cas l objet renvoy n est plus un polyn me mais un objet de type series voir chap II Cependant pour l criture de programmes il est g n ralement inutile d ordonner les termes On aura plut t recours la boucle for in et ventuellement aux commandes degree et coeff La commande sort ne sert ainsi qu faire joli 1 3 Calculs en une variable Les coefficients d un polyn me sont a priori des expressions quelconques mais les op rations de cette section n cessitent souvent que ces coefficients soient des polyn mes ou des fractions rationnelles en d autres variables dont les coefficients sont eux m mes rationnels Par exemple le polyn me p x 2sinh y x 1 est un multiple de x e 1 OP RATIONS DE BASE ET POLYN MES EN UNE VARIABLE 143 mais pour le d terminer il faut r crire sinh y en termes de z e et faire les calculs sur des fractions rationnelles en x et z On peut esp rer que les versions suivantes du syst me fonctionneront pour n importe quelle extension alg brique voire transcendante 1 3 1 Division euclidienne tant donn s deux polyn mes A et B en la variable x il y a plusieurs fa ons en Maple d obtenir les polyn mes Q et R tels que A BQ R et deg R lt deg B Les commandes principales sont quo et rem qui ren voient respectivement le quotient Q et le reste R de l
367. st de commencer par exprimer les fonctions trigonom triques hyperboliques en ter mes d exponentielles tab 5 p 25 puis de d velopper l expression obtenue pour faire appara tre tous les produits lp suffisamment isol s pour que la substitution lp In t soit possible par un subs voir chap IT Pour avoir la formule approch e il suffit alors de calculer la limite de l expression obtenue lorsque t tend vers l infini Au passage nous simplifions encore un peu l expression en tenant compte du fait que c 2 Lap limit subs c 1 2 1 p 1n t expand convert Lap exp t infinity Lap 24p M Mz 12p M 3p FPI p3q7l4 48pFql 12M ql p 24 7l p 3p Fl q 12M2 Flp 24T p l 12p M2 6071 9p F71 6p M271 12M gt ql p 36 Mo qp7l 36M1qp t 6p M71 12M Flp 2AIT p 284 XII CALCUL FORMEL ET CALCUL NUM RIQUI L expression obtenue contient 19 termes La validit des approximations est confirm e par une comparaison l int gration num rique directe de l expression de la longueur exacte evalf subs data F 10000 Lap Int sqrt 1 dy 1 x 0 c Int sqrt 1 dy 21 x c 1 6009 704162 6009 653189 Si l on a un grand nombre de longueurs de poutre calculer le temps gagn dans la simple valuation de l expression ci dessus par rapport au calcul num rique de lint grale est consid rable en Maple le rapport est de 60 Pour s as
368. st la m me en 00 en prenant les m mes d terminations principales pour le logarithme complexe Maple semble ignorer dans son calcul que l argument de arctan est un nombre complexe 2 2 Classes d int grales d finies Outre les fonctions dont il sait d ter miner une primitive Maple sait calculer plusieurs classes d int grales d finies sans passer par le calcul de la primitive C est en particulier ainsi que le syst me calcule de nombreuses int grales impropres Les classes d int grales d finies reconnues voluent de version en version La technique est simplement bas e sur une recherche dans des tables de for mules o il ne reste plus qu d terminer les valeurs des param tres En outre une cinquantaine d int grales d finies l mentaires sont stock es dans la table de remember de la fonction int def Voici les classes d int grales reconnues par la version actuelle ce qui veut dire que dans ces cas des conditions suppl mentaires sur les param tres sont test es qui peuvent ou non mener une valeur 1 P x exp az br c dz o P x est un polyn me en x 2 ie ou L exp uitst ugt t In bt cos ct z a BFA o f est soit t soit exp wt et le cosinus peut tre remplac par un sinus dt CO 3 exp ut t In bt erf ft g dt 0 ou f est soit t soit exp wt co 4 f exp ut t JP ct4 YP et dt o Jk et Yp sont les fonctions J
369. st pr f rable d viter Quelle que soit la fagon de modifier la table de remember par option remember ou par affectation il est possible de la voir et de Vutiliser en faisant op 4 eval EXEMPLE 24 Voici le contenu de la table de remember de la proc dure exp op 4 eval exp 44 T II UTILISATION AVANC E table 00 0 L In 1 0 Initialement cette table contient des valeurs qui ont t rentr es explicitement par des affectations Le couple x exp x a t introduit par l invocation de la proc dure exp sur la variable x Pour conclure mentionnons un emploi important de l option remember en Maple savoir la proc dure readlib qui ne charge ainsi qu une seule fois les proc dures en m moire 1 4 Exercices 1 Calculer num riquement exp 1 sans utiliser evalf par la formule En exp 1 53 nl n 0 en arr tant le calcul lorsque le terme devient inf rieur 10Pigits 2 La suite de Syracuse est la suite d finie par uo N et 1 si Un 1 Un 1 Un 2 si Un est pair 3Un 1 sinon On ne sait pas l heure actuelle s il existe un entier uo pour lequel cette suite n atteint jamais 1 1 crire une proc dure prenant en argument un entier positif et calcu lant le nombre minimum d it rations n cessaires pour aboutir 1 partir de cet entier 2 crire une proc dure similaire agissant sur un ensemble d entiers et renv
370. st souvent fausse du fait de l erreur num rique intro duite par evalf Il existe aussi des fractions continues termes polynomiaux La fraction continue associ e au d veloppement limit ao ax est Fo ao x F o F est celle associ e 1 a1 a2x Les r duites s appellent des approximants de PAD diagonaux et sont utiles pour le calcul num rique EXEMPLE 8 Voici le d but du d veloppement de exp x convert exp x confrac x T x 2 3 1 L ordre du d veloppement est r gl par la variable Order 1 4 Equations en nombres entiers Ces quations sont aussi appel es quations diophantiennes Nous indiquons pour chacune des classes suivantes ce que le calcul formel peut apporter 1 4 1 quations lin aires Dans le cas de deux variables ce sont les quations de la forme ax by c o a b et c sont des entiers ainsi que les inconnues x et y Deux cas sont possibles si c n est pas multiple du pgcd de a et b il n y a aucune solution a 1 ARITHMETIQUI 101 isolve 2 x 4 y 5 sinon l algorithme d EUCLIDE tendu voir p 96 appliqu a et b garantit Vexistence d une solution xo yo Il existe alors une infinit de solutions ao kb yo ka avec k entier quelconque isolve 15 x 28 y 9 y 15_N1 63 2 28_N1 117 Dans le cas d une quation lin aire trois variables ou plus le m me principe s applique et il y a s
371. stances un gain d efficacit important r sulte d une bonne utilisation des DAGs Tous les valuateurs de Maple emploient l option remember a cette fin mais cette utilisation a pour effet pervers de remplir inutilement la m moire et d emp cher ainsi l ex cution de gros calculs Nous proposons dans cet exercice une autre approche plus efficace bas e sur la commande optimize 1 Utiliser la commande optimize makeproc pour construire une proc dure valuant 2x sin x In 1 x sin x xsin xIn 1 x 2 remplacer dans le r sultat de optimize les appels aux fonctions sin et ln par des appels series sin et series ln avant d appeler optimize makeproc 3 en faisant series sur le r sultat de la proc dure obtenue l tape pr c dente v rifier que le r sultat obtenu est le m me que celui que l on obtient en appelant directement series 4 automatiser ce calcul de s ries Seconde partie Domaines d utilisation et applications CHAPTER III Courbes et surfaces A VISUALISATION DE DONNEES OU DE RESULTATS facilite la perception de L ph nom nes math matiques ou physiques Tous les syst mes de calcul formel offrent des fonctionnalit s graphiques de base identiques trac par tir d une repr sentation param trique d une quation ou d une liste de points utilisation de la souris pour changer le point de vue d un trac en trois dimen sions pour modifier l aspect par des menus
372. surer de la validit des approximations chaque jeu de donn es il faudrait bien s r calculer aussi une formule approch e de l erreur commise La section suivante revient plus en d tail sur la mani re de produire le code Fortran correspondant la longueur approch e Lap fortran subs M 1 M1 M 2 M2 L Lap L 34p 3 F 2 1 2 364 M24q 1 p 2 12 p 34M2 4 2 124p 34F 14M1 12 p 34M14 2 124p 434F 14M2 24epe 3 T 241 442 34 pt 3 F 1443 4Q 6 P H 44M1 4241 9 p 2Q4F 2 1 244p 34M1 M2 12 p 3 q4 M2414 2 64p 444M 1 241 p 34q 241 4 36 Q4M1 p 2Q41 12 p 3 Q4M1 1 2 484qg F 1 pt H60 q 2 1 244q 241 2 p 1 p 3 T 2 24 2 Lien avec d autres langages ou biblioth ques Pour certains calculs num riques la lenteur des syst mes de calcul formel est r dhibitoire et le recours des langages tels que C ou Fortran est indis pensable C est le cas notamment des applications en temps r el comme la commande d une fus e o un d lai de quelques secondes dans la r solution d un syst me peut s av rer fatal En revanche lors de la pr paration du programme embarqu un syst me de calcul formel constitue un environnement tr s agr able pour la mise en quations ne faisant pas d erreur dans les calculs de d riv es et fournissant des optimisations non n gligeables Depuis un syst me de calcul formel il est donc important de savoir pro duire du code num rique Nous distinguons deux mo
373. t remplac e par le contenu trouv dans la bib lioth que 3 1 3 valuation totale ou partielle Une question qui se pose Maple est de savoir quel moment valuer les expressions Si l valuation d une expression est d clench e chaque fois qu elle est rencontr e le syst me risque de parcourir tout l arbre pour valuer chacune des proc dures qu il contient et dans beaucoup de cas renvoyer ex actement l expression de d part Par exemple si une expression contient la sous expression exp 3 2 chaque tape du calcul va relancer la proc dure exp qui va se rendre compte qu elle ne sait rien faire d autre sur 3 2 que de renvoyer exp 3 2 La strat gie de Maple face cette question est la suivante e les variables et sont toujours valu es totalement ainsi que les arguments de la proc dure e en utilisation interactive l valuation totale est lanc e chaque tape e dans une proc dure les expressions ne sont valu es qu un niveau sauf les exceptions d j mentionn es e l appel explicite la commande eval permet de contr ler l valuation En pratique cette strat gie a trois cons quences pour l utilisateur Lorsque l on utilise subs et qu il est important que les simplifications des fonctions aient lieu avant la suite du calcul il faut alors faire eval subs Deuxi me ment il faut viter d utiliser les variables locales et dans les pro
374. t d o le d veloppement cherch en utilisant 9 a 1 1 for i from 2 to 5 do alil solve coeff s t i 1 alil od r asympt convert seq a 2xi 1 GAMMA n i 1 2 GAMMA i 1 2 i 0 2 n n 4 simplify subs z0 3 2 sqrt 2 z0 n map evala map Normal combine map normal r exp 3 2V3 V4 4 3V2 3 25 18 2 2 mn3 39 44 3V2 rn5 2 964 6872 n 2 2048 4 3V2 rn7 2 3 8 Exercices 1 Calculer le d veloppement asymptotique lorsque n N tend vers linfini de sin 2ren V rifier num riquement le d veloppement obtenu 2 En utilisant le r sultat de l exercice 3 p 204 calculer le comportement asymptotique de la valeur du terme maximum de la s rie du sinus int gral de FRESNEL lorsque x tend vers linfini Calculer ensuite la valeur de N telle que la valeur absolue du N terme de la s rie p 189 vaille tendant vers 0 3 Calculer le d veloppement asymptotique de la fonction y x d finie par y log y x lorsque x tend vers 00 4 Nature de X gt un o n 1 LES gt Un gt log k n k 1 5 Calculer le d veloppement asymptotique de n DOHI n gt 1 lorsque x co 6 Soit A le nombre d entiers i 1 n tels que le reste de la division de n par i vaut au moins 7 2 Donner un quivalent de An Indication consid rer une somme de RIEMANN 3 D VELOPPEMENTS ASYMPTOTIQUES 217 Calcu
375. t donn e en figure 4 p 61 Dans le second cas au moment de l affectation g f f s value en son nom et donc la valeur affect e a g est non pas la proc dure mais la variable f Si f est modifi ensuite la valeur de g l est aussi L interpr tation en termes de fleches est donn e en figure 5 Une autre cons quence imm diate est que pour afficher la proc dure ou la table il faut appeler explicitement une des proc dures print ou eval EXEMPLE 48 print a 3 APPROFONDISSEMENT DU SYST ME 61 a b a b N L Lo 3 2 3 a 3 b a a 2 FIGURE 4 valuation des noms f g f g l proc 2 finisse it f 2 FIGURE 5 valuation des proc dures table 1 3 D Cette r gle sp ciale d valuation est motiv e par la possibilit de faire r f rence des valeurs d une proc dure ou des entr es d une table qui ne sont pas affect es Ainsi f x ou t x sont affich es ainsi au lieu que le corps de la proc dure ou de la table apparaisse Pour les proc dures l exemple que nous avons donn est extr me et la r gle d valuation des proc dures n a pas d autre effet apparent pour l utilisa teur que la n cessit d utiliser print pour en afficher le corps Cette r gle est par ailleurs utile au bon fonctionnement du syst me D une part l option remember de la proc dure readlib ne fonctionnerait pas sinon il faut en effet que l argument de readlib soit le m me d un appel su
376. t est alors celui que Maple parvient trouver dans cet exemple sum f n 0 infinity 1 S RIES NUM RIQUES 193 1 4 y ME v 3 4 8 4 2 8 Dans cette expression d signe la d riv e logarithmique de la fonction T d EULER et y d signe la constante d EULER En r alit cette expression se simplifie pour donner finalement 1 aT Dd aa a Ce r sultat s obtient galement partir de la d composition en l ments simples par une m thode ab lienne qui consiste multiplier le sommant par 24 pour faire tendre z vers 1 la fin du calcul Chacun des termes de la d composition en l ments simples se ram ne une fois encore une s rie tr s proche de celle de log 1 z Maple trouve ainsi la plus simple sum z 4 n 2 n 1 n 0 infinity In 1 vzi 222 et les deux autres en termes de fonctions hyperg om triques 1 1 4 oF 5 4 1 1 3 4 4 32 1 7 4 z leur limite pour z tendant vers 1 Ces deux sommes sont pourtant faciles calculer des combinaisons lin aires partir de la s rie de log 1 z et de L g 1 1 z 1 dan dz n 722 z arctau e ae aid 1 l z 1 5 ro da in 5 53 arctan z 1 v 24 sum z 4 n 4 n 1 n 0 infinity 4 sum z 4 n 4 n 3 n 0 infinity Malheureusement Maple n arrive pas simplifier ces expressions ni calculer arctan z fournissent en jouant sur la parit n 0 Il ne reste plus qu sommer les
377. t le fonctionnement du syst me Lorsque des variables globales sont n cessaires il faut leur donner un nom suffisamment long peu susceptible d tre employ par l utilisateur Quant aux proc dures nous distinguerons deux cat gories celles que l utilisateur doit appeler et celles qui ne sont utilis es que par le programme Lorsque les premi res sont en petit nombre il suffit de leur choisir un nom suffisamment explicite qui ne risque pas d tre d j utilis pour autre chose Si ce n est pas le cas il faut cr er un package c est dire une table de proc dures Ainsi si l on a crit trois proc dures proc1 proc2 et proc3 et que l on d cide d appeler le package toto on les renommera toto proct par exemple en mettant la ligne macro procl toto proc1 proc2 toto proc2 proc3 toto proc3 au d but de chacun des fichiers o ces proc dures sont utilis es L utilisateur pourra a son gr utiliser la forme longue des noms de proc dures ou faire appel la commande with toto Cette commande affecte chaque nom court par exemple toto1 la valeur correspondante de la table toto En suite si la proc dure toto init existe with l ex cute Cette proc dure peut tre utilis e pour affecter des variables globales n cessaires l utilisation du package Quant aux proc dures que l on ne souhaite pas rendre accessibles l utili sateur on les nommera de pr f rence toto nom_de_procedure Cet
378. t les calculs se m nent dans de nombreux cas EXEMPLE 9 On cherche le comportement asymptotique lorsque x oo de la fonction y x d finie par 2 ye yexp VInIny x Une premi re remarque est que y tend n cessairement vers linfini avec x Ensuite la premi re tape est de comparer les deux facteurs du produit de gauche pour d terminer lequel domine Il faut noter que Maple est le seul syst me de calcul formel savoir faire cette comparaison 208 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES eq y exp 1n y exp sqrt 1n 1n y 2 x limit y op 2 op 1 eq y infinity 0 Comme c est le second facteur qui domine on divise les deux membres de l galit par le premier facteur et on inverse jusqu au produit suivant assume y gt 0 1n y gt 0 1n 1n y gt 0 simplify map exp map t gt t 1 2 map 1n map t gt t y eq y exp ylnln y exp yln gz ln y nouveau la comparaison des deux facteurs du produit de gauche montre que le premier l emporte donc on divise par le second op 1 op 2 op 1 op 2 op 2 op 1 Se ine de exp Vining On voudrait raffiner l estimation grossi re exp V In que nous sugg re cette quation Si asympt tait bien fait il suffirait de taper t op 2 exp sqrt 1n x while lt gt do asympt subs y t x od Malheureusement Maple ne permet pas de faire cela directement Voici les commandes qui am nent p niblement a
379. t les entiers chap IV les structures repr sentables par un nombre fini d objets de base l alg bre lin aire chap V les polyn mes et les fractions rationnelles chap VI suivis par des objets plus symboliques les suites chap VII les s ries et les d veloppements asymptotiques chap VIII les fonctions dans les chapitres sur l int gration IX le calcul diff rentiel X et les calculs en probabilit s XI Enfin on conclut sur le lien entre cal cul formel et calcul num rique en particulier en abordant le probleme de l interface avec les langages efficaces comme Fortran ou C chap XII Un livre sur le calcul formel est en m me temps un livre sur le calcul Plusieurs des m thodes pr sent es dans cet ouvrage ne sont pas enseign es en premier cycle mais nous illustrons syst matiquement ces m thodes par des exemples Si l on utilise un syst me de calcul formel sans avoir une id e pr cise de ce que signifie la question qu on lui pose il est fort possible que la r ponse du syst me soit fausse L utilisation optimale de ce livre pour l tudiant est donc en conjonction avec un cours de math matiques autour duquel il pourra mener des exp rimentations faciles sans passer par des calculs p nibles et ainsi dis poser de plus de temps pour comprendre les concepts Pour le chercheur ou l ing nieur nous esp rons leur donner des balises pour formuler leurs probl mes de fa on ce que le syst me puisse aider
380. tageusement remplac e par des commandes moins g n rales mais souvent plus efficaces La plus utile de ces commandes est la proc dure seq Comme la boucle do elle a deux syntaxes seq f i a b ou seq f i expr 38 II UTILISATION AVANC E T En termes de fonctionnalit cette commande est quivalente selon le cas l une des deux boucles from a to b A do s s f od in expr s NULL for id Cependant le syst me conna t a priori la taille du r sultat Ceci permet de le construire sans utiliser de place m moire suppl mentaire pour les cal culs interm diaires et m ne un gain appr ciable d efficacit Le co t de la construction passe ainsi de O n O n o n est le nombre d l ments de la suite L utilisation principale de la commande seq est le calcul de sommes ou de produits Il suffit pour calculer b b af o IF i a i a d ex cuter convert seq f i a b ou convert seq fi a b L avantage de cette forme d it ration par rapport la boucle do est dou ble D une part comme pour la s quence dans le cas d une somme d objets symboliques cette forme n utilise pas de m moire suppl mentaire D autre part les simplifications automatiques li es la cr ation de la somme ou du produit ne sont effectu es qu une fois au lieu d tre effectu es chaque pas sage dans la boucle Le co t de ces simplifications peut ainsi passer de O n O nlogn o n est le nombr
381. te utilisa tion ventuellement r p t e du caract re permet la proc dure readlib d aller rechercher le fichier nom_de_procedure m dans le r pertoire ou dossier toto sur la plupart des syst mes d exploitation condition que la vari able libname soit correctement positionn e Les gros d veloppements sont donc structur s en plusieurs fichiers r partis dans des r pertoires dont les noms sont ceux des proc dures concern es Dans ce cas il peut galement tre utile de d finir des proc dures qui ne seront charg es qu en cas de besoin en util isant un readlib prot g comme nous l avons d j vu Enfin sur certaines architectures un programme ind pendant de Maple appel march permet de regrouper tous ces fichiers en un seul Maple archive dont readlib charge des morceaux la demande T 72 II UTILISATION AVANC E Pour terminer de rendre le package utilisable il faut crire un fichier de description reprenant les rubriques des messages habituellement fournis par help La proc dure makehelp transforme ce fichier en une proc dure help text toto ou help toto text toto1 que la proc dure help prend en compte Outils de d veloppement Pour comprendre pourquoi une proc dure Maple qu elle fasse partie du syst me ou qu on en soit l auteur ne fait pas ce que l on en attend on dispose de trois outils principaux la variable globale printlevel la commande trace et la variable in
382. tend visi blement vers la probabilit 1 2 Cependant quelques questions plus pr cises peuvent tre abord es 1 est il normal que la fr quence vaille pr s de 0 8 apr s 20 tirages 2 avec quelle probabilit la fr quence reste t elle toujours au dessus de 1 2 3 quelle est la probabilit que la fr quence soit comprise entre 0 4 et 0 6 ou entre 0 45 et 0 55 apr s 500 tirages 257 258 XI CALCULS EN PROBABILIT FIGURE 1 volution de la proportion du nombre de piles dans un tirage pile ou face 1 1 Probabilit s combinatoires Lorsque les v nements possibles sont en nombre fini et que l on suppose qu ils ont tous la m me probabilit d appari tion quiprobabilit la probabilit d un v nement se r duit au quotient du nombre de cas o cet v nement se produit par le nombre total de cas A nsi la probabilit d avoir pile lors d un tirage pile ou face vaut 1 2 Un syst me de calcul formel est utile dans ce domaine par sa facilit manipuler des nombres rationnels exacts EXEMPLE 1 La probabilit de gagner le gros lot du loto est l inverse du nombre de tirages possibles sachant qu un tirage consiste tirer 6 boules parmi 49 D o la probabilit 1 binomial 49 6 1 13983816 ou num riquement evalf 0 7151123842 1077 En pratique le calcul du nombre de cas n est pas toujours aussi facile mais les outils introduits au chapitre IV peuve
383. tenir au moins une fois 6 en lan ant un d 4 fois 2 obtenir au moins un double 6 en lan ant deux d s 24 fois Apr s 10 lancers de d s avec quelle probabilit la somme des points fait elle k Tracer la courbe Recommencer avec 100 lancers Calculer la probabilit d avoir trois bons num ros au loto La queue du cin ma contient 100 personnes La caisse est vide Le billet co te 50 F Dans la queue 40 personnes n ont que des billets de 100 F et 60 n ont que des billets de 50 F Quelle est la probabilit qu aucune personne ne se pr sente la caisse sans que l on puisse lui rendre la monnaie Huit tours sont plac es sur un chiquier Quelle est la probabilit qu aucune des tours ne puisse prendre une autre Sur 1 000 oranges emballer 10 sont pourries Ces oranges sont mises par sacs de 8 Combien peut on esp rer de sacs vendables Comparer avec l approximation de POISSON Le paradoxe de Saint Petersbourg Un homme joue pile ou face avec de Vargent si la face sur laquelle il a pari sort il gagne autant que sa mise et la perd sinon Sa strat gie consiste s arr ter d s qu il a gagn et a doubler sa mise en cas de d faite En d marrant avec une mise de 1 F quelle est son esp rance de gain Que devient cette esp rance si sa fortune est limit e 16 384 F Quelle est la probabilit que cette strat gie paye k parties successives en repartant toujours avec la m me somme initiale Le Tap
384. terme en O a t perdu il faut penser le r introduire si l on souhaite poursuivre le calcul 3 6 Solutions d quations diff rentielles Les quations diff rentielles lin aires coefficients polynomiaux jouent un r le important en calcul formel elles donnent acc s par une information repr sentable en machine les coef ficients de nombreuses fonctions sp ciales L une des op rations qui peut s effectuer directement sur les quations sans avoir r soudre est le cal cul du comportement des solutions au voisinage d un point du plan m me lorsqu il s agit d une singularit Les singularit s se trouvent parmi les racines du coefficient de t te Le comportement en leur voisinage est toujours une combinaison lin aire de d veloppements de la forme m exp Q a7 4 x 5 N cijx d In x i 0 j o z z p p est la singularit et Q est un polyn me Lorsque Q 0 dans tous les d veloppements le point singulier est dit r gulier Sinon il est irr gulier La th orie permet de calculer toutes les constantes intervenant dans ces expressions et de produire un d veloppement complet Maple ne conna t malheureusement que les points singuliers r guliers Cette fonctionnalit est accessible par la commande dsolve avec l option series eg z 2 diff y z z z z xdiff y z z z 1 xy z 0 214 VIII SERIES ET D VELOPPEMENTS ASYMPTOTIQUES 2 Sula ue 2 Yule 0 Order 3 simp
385. tions peut tre d termin sans passer par l num ration nous y reviendrons au 2 2 2 1 4 3 Equations elliptiques et congruences Les quations diophantiennes elliptiques sont de la forme y P x ot P est un polyn me de degr trois Maple n a pas de m thode g n rale pour traiter ces quations isolve y 2 x 3 2 Dans de tels cas o le syst me choue il est souvent fructueux d tudier l quation modulo un entier p avec la commande msolve msolve y 2 x 3 2 8 y 1 x 3 fy 3 c 3 y 5 2 3 y 7 x 3 On en d duit que y doit tre impair et x congru 3 modulo 8 La commande isolve fournit alors des solutions particuli res seq isolve y 2 x 3 2 x 8 k 3 k 0 10 y 5 x 3 y 5 2 3 Les nombres tricolores Les nombres tricolores sont les entiers dont le carr s crit uniquement avec des chiffres qui sont eux m mes des carr s c est a dire 1 4 et 9 Par exemple 107 est tricolore car son carr vaut 11 449 Soit n un entier tricolore et n 10q r sa division euclidienne par 10 Alors n mod 10 r mod 10 donc r mod 10 1 4 9 seq msolve r 2 d 10 d 1 4 9 r 1 r 9 r 2 r 8 r 3 r 7 d ot le programme suivant qui calcule les N premiers nombres tricolores tricol proc N local k res q r n i k 0 for q from 0 by 10 while k lt N do for r in 1 2 3 7 8 9 do if is149 q r 2 then k k 1 res k q r fi
386. tions de BERNOULLI x P x y x Q a y x e quations de CLAIRAUT f zy x y x g y x e quations d EULER aox y x ax ty D x any x 0 Les syst mes de calcul formel poss dent des proc dures sp cialis es qui leur permettent de simplifier ces quations parfois jusqu la solution La plupart des exercices classiques sur les quations diff rentielles ordinaires sont ainsi r solus par les syst mes Cela ne dispense cependant pas l utilisateur de conna tre ces quations car lorsqu un syst me n arrive pas r soudre on ne b n ficie pas de ses efforts interm diaires pour simplifier l quation Il faut alors faire les changements de variables ad quats la main pour aider le syst me dans les derni res tapes ou passer une tude num rique Nous allons dans cette section montrer sur des exemples comment arriver une solution en interagissant avec Maple en pr sentant au passage la syntaxe des diff rentes commandes d aide la r solution EXEMPLE 1 L quation suivante est s parable on peut la r crire de fa on que la fonction inconnue et la variable apparaissent chacune dans un seul membre de l quation 1 Ax y y 1 0 A gt 0 y 0 1 La syntaxe pour r soudre cette quation en Maple est la suivante dsolve A x diff y x x 72 y x 72 1 0 y 0 1 y x Comme bien trop souvent Maple choue sur cet exemple En fait seule la condition in
387. tions de base aussi bien en utilisant evalm que le package linalg TABLE 3 Op rations sur des matrices evalm package linalg addition A B add A B multiplication par un scalaire n A scalarmul A n multiplication matricielle A amp B multiply A B inverse AT 1 inverse A puissance enti re An multiply A A identit amp x 0 band 1 n matrice diagonale constante k band k n Il est noter que amp repr sente pour evalm l l ment neutre de la multiplication des matrices donc la matrice identit Il n est pas n cessaire de d finir sa taille Il en est de m me lors de evalm k A o l expression k est interpr t e comme k fois la matrice identit 1 4 Exercices 1 Cr er les trois objets suivants une liste 1 ayant pour l ments 1 2 3 un vecteur v ayant les m mes l ments et une matrice ligne m ayant aussi les m mes l ments Comparez l affichage de ces diff rents objets 2 ALG BRE LIN AIRE 121 2 Trouver une condition n cessaire et suffisante pour que deux matrices 2 x 2 sym triques commutent 3 Cr er une matrice R de rotation autour de l origine Multiplier R par elle m me et v rifier que le r sultat correspond la rotation d angle double 2 Alg bre lin aire Un grand nombre d applications d alg bre lin aire se ram nent des cal culs matriciels en particulier la r solution de syst mes d quations lin aires dont seule la taille
388. trait es par des heuristiques du m me type int x 4 BesselJ 2 x BesselJ 1 x x g7 BesselJ 2 x BesselJ 1 x BesselJ 3 x BesselJ 2 r 1 4 Commandes de r criture Lorsque la fonction a int grer ou sa prim itive n est pas l mentaire et que les heuristiques ont chou il se peut que Vint grale ou une partie puisse tre ramen e par r criture dans une classe de fonctions que le syst me sait int grer Les deux op rations prin cipales de r criture sont le changement de variable et l int gration par par ties Ces techniques s appliquent galement aux fonctions alg briques qui quoiqu l mentaires celles ci ne sont pas encore bien int gr es par Maple 1 4 1 Changement de variable Sous de bonnes conditions de diff rentiabilit le changement de variable x y t permet de transformer F z fajde en Fy J fete t dt La commande Maple correspondante se nomme changevar et se trouve dans le package student 226 IX INT GRALES ET PRIMITIVES EXEMPLE 12 Maple ne sait pas calculer la primitive suivante e 1 1 x 1 x 7 1 3 int e x 1 ue 1 x Or les expressions de la forme ax b J R x dx ca d o R u v est une fraction rationnelle en u et v a b c d tant des constantes et n un entier se ram nent des primitives de fractions rationnelles par le changement de variable pa nf att b o Vcr d student changevar x 1 x t73 Int e X t t 5 dt
389. trer sur ceux de ces termes pour lesquels a est de plus petit module et de ne calculer que les coefficients aq correspondants C est en cela que le calcul n cessite moins d op rations que la r solution exacte qui a besoin de tous les coefficients Les sont les racines du d nominateur de la fonction g n ratrice inverses des racines du polyn me caract ristique et les coefficients aa sont obtenus en calculant la valeur du num rateur de la fraction rationnelle en a et la premi re d riv e non nulle du d nominateur en ce point EXEMPLE 1 Pour les nombres de FIBONACCI les racines du d nomina teur sont donn es par fsolve denom f z 1 618033989 0 6180339887 C est donc la seconde racine qui a le plus petit module Comme le d nomina teur est de degr 2 chacune de ces racines est un p le simple de la fonction g n ratrice D ot le coefficient alpha 2 a subs z alpha numer f alpha diff denom f z Avec ces valeurs le n nombre de FIBONACCI vaut asymptotiquement a a ici a est l inverse du nombre d or En outre ce comportement asymptotique est tr s rapidement utilisable num riquement comme on le voit par compara ison avec les valeurs exactes de la fonction fibonacci du package combinat a alpha 10 combinat fibonacci 10 55 00363618 55 EXEMPLE 2 Pour la r currence Un 5 3Un 2 Un Up U Uz Ug uy 1 la fonction g n ratrice vaut rec u n 5 3 u n 2 u n in
390. tronique ou en m canique EXEMPLE 25 Le mouvement d un oscillateur forc par exemple un dip le RLC soumis une tension sinuso dale est r gi par l quation eq diff x t t t 2 lambda diff x t t omega 0 x t f 0 cos omegaxt d eq 75 x t 2A 20 wox t fo cos w t et la r solution via la transform e de FOURIER se m ne comme suit readlib fourier eq t s s fourier x t t s 20s fourier x t t s wo fourier a t t s for Dirac s w Dirac s w solve fourier x t t s for Dirac s w for Dirac s w 82 21Xs wo 236 IX INT GRALES ET PRIMITIVES normal evalc invfourier s t fo ue alu wo 2Aw sin wt wt 2w2wo wo 4A2w L expression trouv e est une solution particuli re de l quation diff rentielle eq on pourra comparer la solution g n rale obtenue par dsolve eq x t Maple connait aussi la transform e de MELLIN d finie par Js f FD dt qui a de nombreux usages en th orie analytique des nombres et en analyse asymptotique mellin t t 2 1 t s Th 1 fn SIN T ar 2 79 2 5 Int grales multiples Les int grales multiples doubles ou triples in terviennent en physique ou en m canique pour calculer des aires des volumes des masses des moments d inertie Les syst mes de calcul formel ne disposent g n ralement pas d int grateur multiple Il faut utiliser plusieu
391. truit la liste des entr es cl s de la table et entries qui construit la liste des valeurs Les champs des proc dures sont indiqu s au tableau 2 Les remplace ments de param tres ou de variables locales par subsop doivent maintenir la coh rence entre les deux suites de noms Il est par ailleurs impossible de remplacer la table de remember par une autre table Le seul remplacement possible est par NULL ce qui revient a vider la table EXEMPLE 49 Une version simple de la proc dure forget qui vide une table de remember s crit ainsi easy_forget proc p procedure p subsop 4 NULL op p end Une autre fonctionnalit de la proc dure forget est la suppression d une entr e particuli re de la table Bien que la commande subsop ne permette pas de remplacer la table de remember par une autre cette suppression est rendue ais e par le fait que les tables ne sont pas recopi es forget_value proc p procedure x local t t op 4 op p t x 7 t x NULL end Cette technique est en outre bien plus efficace puisque contrairement a subsop elle n entraine pas la cr ation d une copie de la proc dure La proc dure forget du syst me l emploie d ailleurs m me pour vider toute la table Bien que la commande op ne permette pas d avoir acc s aux instructions d une proc dure la commande subs s y applique Appliqu e aux tables la commande subs n affecte pas les indices mais uniquement les valeurs T
392. truits autour d un syst me de calcul formel existant Pour l analyse des syst mes multicorps ou polyarticul s dans le premier cas on peut citer des logiciels tels que Mesa Verde Dynamica ou Autolev Dans le second cas on peut citer les logiciels James et Sygmmae qui sont construits au dessus de Maple Plus de d tails sur ces syst mes sont pr sent s en annexe C Annexes ANNEXE A Une session Mathematica Cette annexe reprend l exemple du chapitre I en Mathematica Elle illus tre l analogie entre les commandes mises la disposition de l utilisateur par les diff rents syst mes de calcul formel Comme en Maple la premi re tape consiste d finir les quations des deux cercles In 1 eqi x 2 y 2 R1 2 In 2 eq2 x R1 2 y 2 R272 ici le symbole d signe l affectation le symbole l galit et le point virgule ordonne Mathematica de ne pas afficher le r sultat Le syst me est ensuite r solu par rapport x et y In 3 sol Solve eq1 eq2 x y R2 4 R2 R1 2R1 R2 Out s y gt SVE 2R i R2 4 R22 RP 2R1 R22 Y Y 2 a 2RI Les solutions sont pr sent es comme un ensemble de substitutions La so lution cherch e celle pour laquelle y est positif est la seconde c est dire sol 2 en Mathematica On en d duit les valeurs des sinus et cosinus de 0 et 02 In 4 sinti Together y Sqrt x 2 y 2 sol 2 R2 4R12 R2
393. u il n existe pas de valeur de u v telle que les deux polyn mes et B de l exemple 4 aient plus de deux racines communes il suffit de faire gcdex coeff R x 2 coeff R x 0 v 144 VI POLYN MES ET FRACTIONS RATIONNELLES 1 Ceci montre que le reste de la division n est jamais le polyn me nul et par cons quent il y a au plus deux valeurs de x pour lesquelles il s annule Si l on souhaite obtenir galement les polyn mes U et V tels que AU BV A B on donne deux variables en arguments optionnels gcdex Une utilisation de ces polyn mes est la manipulation symbolique de racines de polyn mes sans en conna tre l expression formelle ou m me la valeur num rique Nous reviendrons en d tail sur ce point en 1 3 8 Voici un premier cas par ticulier important Si a est racine d un polyn me H et F une fraction rationnelle n ayant pas de p le en a on peut exprimer facilement F a comme un polyn me en a de degr inf rieur celui de H Ceci fournit une forme normale qui permet de d tecter syntaxiquement l galit de deux fractions rationnelles en a EXEMPLE 7 Par exemple si a est racine du polyn me B 2x7 vz 1 des exemples pr c dents et F x 1 x 1 on fait F x 2 1 x 1 gcdex denom F B x U subs x alpha F rem U numer F B x 1 v 1 v 1l a a GET v 3 v 3 v 3 On obtient ainsi le polyn me de plus petit degr en a gal a F a Il existe aussi
394. u r sultat t subs 1n x X simplify log op 2 1n X 1 2 while lt gt do map simplify asympt subs 1n y t X 1 od subs X 1n x exp op 1 op 2 op 3 simplify map normal asympt exp subsop 1 0 2 0 3 0 X 1 1n RSR V2Vninx 5lnlnx v2 Inmzr 1 e 2 2 LE O AlnineVin Le num rateur du O renvoy par Maple peut sembler faux par exc s d opti misme mais il est d une trange d finition du O en Maple d crite dans la documentation de series Ing 3 3 Sommes Une m thode importante pour d terminer le comportement asymptotique d une somme de termes assez r guliers est de comparer la somme avec une int grale Nous donnons ici deux exemples de calcul asymptotique et le calcul peut se pousser jusqu obtenir un encadrement de la somme EXEMPLE 10 On cherche la limite de n 1 3 n eas Cette suite se r crit 1 n 3 f k n o f 1 1 2 a Asymptotiquement la somme tend donc vers l int grale int 1 1 x72 x74 x 0 1 3 D VELOPPEMENTS ASYMPTOTIQUES 209 V3r In 3 aes gt 4 Sans entrer dans les d tails disons que cette m thode de comparaison d une somme avec une int grale la formule d EULER MACLAURIN ci dessous en est un cas particulier demande un peu d efforts pour l obtention d une majoration des termes d erreur il faut une majoration uniforme sur les d riv es de la fonction int gr e Lorsque les sommants
395. uation diff rentielle apparaisse au cours d un calcul plus formel que num rique et que l on veuille poursuivre une tude interactive Les syst mes tirent aussi parti de leurs capacit s sym boliques pour mieux g rer les calculs num riques en cas d instabilit Une tude num rique vise obtenir les valeurs d une solution en un cer tain nombre de points ou un dessin repr sentant une ou plusieurs solutions L quation ou le syst me d quations sera g n ralement accompagn de con ditions initiales les valeurs de la solution et de ses d riv es en un point ou de conditions aux limites les valeurs sont prises en plusieurs points habituellement aux extr mit s du domaine d tude Maple ne propose d aide que pour le premier cas en utilisant une m thode de RUNGE KUTTA par d faut Il est galement possible de changer de m thode ou de programmer sa propre m thode et de la faire utiliser par le syst me Pour plus de d tails nous renvoyons l aide en ligne de dsolve numeric EXEMPLE 6 On consid re l quation y sin xy y 0 1 1 QUATIONS DIFF RENTIELLES ORDINAIRES 251 FIGURE 2 FIGURE 3 D apr s le th or me de CAUCHY l existence d une solution et son unicit sont assur es sur tout R On ne sait pas exprimer la solution l aide des fonctions usuelles mais il est possible d en calculer des valeurs f dsolve diff y x x sin x y x
396. ue par la commande solve EXEMPLE 13 On r sout ais ment l quation du second degr solve axx 2 bxx c x b Vb 4ac b Vb 4ac 2a 2a On peut poursuivre ainsi jusqu au degr 4 On sait qu il n existe pas de formule g n rale l aide de radicaux pour la r solution de polynomes de degr sup rieur ou gal 5 Il est parfois possible d obtenir une telle formule par la th orie de GALOIS mais Maple n a pas de programme pour cela Cependant Maple essaye factor et compoly ce qui lui permet parfois des r solutions spectaculaires EXEMPLE 14 Le polyn me 4x8 4827 256x 792x 159024 219627 2104x 1290x 459 est irr ductible d apr s factor et de degr 8 Cependant la r solution est ais e solve 4 x 8 48 x 7 256 x 6 792 x 5 1590 x 4 2196 x 3 2104 x 2 1290 x 459 x V 1 2V 18 VE 1 2V 18 V13 3 2 v 2 a 3 2 2 2 E 18 v13 Voies 18 v13 3 2 5 3 2 5 3 2 V 1 2V 18 Vis 3 2 1 2V 18 vis ae 2 2 TE 18 v13 1 2 18 v13 3 2 5 3 2 5 En r gle g n rale les solutions exactes de polyn mes de degr sup rieur deux ne pr sentent pas d int r t Il vaut mieux se demander ce que l on cherche faire avec ces solutions et un calcul de r sultant une r solution num rique ou des manipulations de nombres alg briques que nous verrons en 81 3 8 permette
397. ue x oo la courbe y f x pour x a b 26 I PRISE EN MAIN DU SYST ME TABLE 7 Calcul avec des formes inertes Forme inerte Fonctions qui s y appliquent Int diff evalf series Sum diff evalf Product diff evalf mod RootOf evala sum factor allvalues testeq solve evalf product diff evalc evalgf series DESol diff series Diff diff D liesymm expand Limit evalf Re Im evalc Eigenvals Svd evalf 2 3 5 Formes inertes en Maple Dans l exemple 10 p 21 nous avons repr sent les racines du polyn me x 3x 1 l aide de RootOf Cette fonction ne fait aucun calcul elle sert uniquement repr senter l une des solutions d une quation De telles fonctions qui ne font rien sont appel es des fonctions inertes Leur r le est d tre reconnues par les fonctions du syst me qui effectuent des calculs RootOf n est pas la seule fonction inerte de Maple La fonction DESol repr sente les solutions d une quation diff rentielle La fonction Int repr sen te une int grale que le syst me ne cherche pas calculer contrairement int Ainsi la diff rence entre evalf Int f x a b et evalf int f x a b est que dans le premier cas la routine d valuation num rique d int grale est imm diatement appel e alors que dans le second cas le syst me cherche d abord une forme symbolique S il en trouve une par exemple lorsque f cos x elle est employ e sinon la ro
398. uel Q est remplac par Q a1 a2 dans lequel la nullit reste d cidable en supposant amp 1 2 alg briquement ind pendants voir chap I 82 3 1 G n ralement les programmes sont plus lents mais le calcul de primitive fonc tionne encore Le calcul d int grale d finie est bien plus d licat puisqu il n cessite la d tection de singularit s sur le domaine d int gration L usage de la commande assume devient alors crucial pour mener bien les simplifica tions n cessaires 3 1 Cas g n ral EXEMPLE 30 Dans cet exemple le param tre t est positif Il faut le signifier assez t t au syst me car sinon il va exprimer l int grale en termes de signum et parfois de limit fonctions difficiles manier et simplifier dans des expressions compliqu es f 1 t72 cos x 2 sin x 72 1 PS Rare r Int f x 0 Pi value r SVP conjugate 2t 2vt4 r VEV A2 2V44 4 T a Il est galement possible de manipuler des objets plus formels Voici une int grale d pendant d un param tre g int f x t x a t b t assume t gt 0 value r b t g f x t dx a t Et voici le calcul de sa d riv e diff g t e b t t b t t eh ttle FOO HO DD Spat Il faut noter que ce calcul est purement formel et qu une utilisation pratique de ce r sultat n cessite la v rification de certaines hypoth ses de continuit et de d rivabilit 3 INT
399. uit u n 3 7 1 2 Un S obtient alors en sommant Un Un 1 v asympt eulermac asympt subs x u n n 1 4 n n n va 4 Me eo La constante 1 6 obtenue par la m thode d Euler Maclaurin n est valable qu une constante d int gration pr s Nous la remplacons par une constante symbolique C qui repr sente la valeur exacte v v 1 6 C u asympt v 1 2 n V3 V3 3 10 Inn 3 2C 0 n Vn nv Pour obtenir plus de termes du d veloppement il suffit d augmenter l ordre des d veloppements et d appliquer r p titivement u Order 0rder 1 d subs x u n n 1 series 1 sin x 2 1 x 2 x u asympt C 1 6 eulermac asympt d n n 1 2 n 3 5 Int grales Plusieurs m thodes assez g n rales permettent de calculer le comportement asymptotique de nombreuses int grales L int gration par parties vient bout des int grales les plus r guli res Sinon la premi re partie de l tude consiste localiser les points du domaine d int gration o l int grande se concentre lorsque le param tre tend vers sa limite L int grande est alors d velopp e au voisinage de ces points puis sommation et int gration sont intervertis Il faut bien s r justifier la validit de cette interversion Lorsque l int grande est exponentiellement d croissante cette justification peut prendre la forme d un th or me assez g n ral et la m thode s appelle 3 D VELOPPEMENTS ASYMP
400. uite on remonte aux valeurs ant rieures de la suite ce qui donne le dessin de la figure 5 t 0 W 1 1 x 1 for i to 5 do t i log x 1 subs x x 1 t i 1 od plot seq t i i 0 5 x 0 40 0 6 Ceci r pond la question 1 la courbe de d part est celle que l on obtient comme limite des courbes t et la convergence est tr s rapide Le proc d employ permet galement de r pondre la question du seuil il suffit de prendre une valeur de un pas trop loin de la courbe et de remonter uo La convergence est extr mement rapide for x in 2 4 8 16 32 do y W 1 1 x 1 for j from x by 1 to 1 do y log j y od wlx evalf y od seq w x x 2 4 8 16 32 0 1013550039 0 3044035424 0 3132473044 0 3132776390 0 3132776397 Les d tails de la r ponse la derni re question seront abord s dans l exercice 2 il reste donc la question 4 La m thode que nous allons em ployer est en fait tr s g n rale et s adapte de nombreuses situations de calcul de d veloppements asymptotiques On cherche un d veloppement asympto tique z n d une suite tendant vers 0 telle que exp z n 1 n ait le m me d veloppement asymptotique Il suffit de raffiner l estimation z 0 f exp z n 0 to 5 do asympt eval subs z subs n n 1 f n od VII SUITES R ELLES 1 3 13 73 n 2n Ont 24n 20 437 O 1 n 2n3 33n4 24n n 1 5 23 641 n 2n 3n 24
401. uite d expressions avec un ensemble entre accolades ou une liste entre crochets nous n en avons pas encore rencontr Ces trois types d objets sont d crits au 2 5 et le tableau 9 p 29 r sume leurs propri t s La fonction solve donne deux solutions correspondant aux deux points I et J d intersection des cercles Chacune est donn e sous la forme d un en semble d quations donnant les valeurs de x et de y La premi re solution avec y gt 0 correspond au point J situ au dessus de l axe des abscisses Nous n avons pas donn de nom au r sultat de solve Pour s y r f rer nous utilisons donc le caract re sp cial qui par d finition a pour valeur le dernier r sultat calcul par Maple On peut aussi utiliser et pour faire r f rence respectivement l avant dernier et l ant p nulti me r sultat cal cul par Maple L op rateur de s lection permet d extraire des l ments d une liste d un ensemble ou d une suite d expressions Donc 1 a pour valeur l ensemble d quations donnant les coordonn es du point T coordsI 1 L aire des triangles se d duit des valeurs de sin 6 cos 01 sin 02 et cos 62 fig 1 p 8 que nous nommerons respectivement s1 c1 s2 et c2 Par 12 I PRISE EN MAIN DU SYST ME exemple sin 4 est donn par Y Pour obtenir cette valeur en Maple deux approches sont possibles La premi re consiste affecter les coordonn es de
402. uits au chapitre I peuvent tre utilis s dans le cas restreint o la proc dure n a pas de variable locale et est r duite une seule instruction Variables locales et globales Pour rendre les programmes r utilisables il faut viter qu ils changent la valeur de variables de l environnement C est cela que servent les variables locales dans les proc dures Ces variables ne sont visibles que de l int rieur de la proc dure D s que la proc dure termine ou qu elle appelle une autre proc dure elles deviennent invisibles EXEMPLE 17 Cet exemple illustre la diff rence entre variable globale et variable locale y 2 f proc global y y 3 end f O y 3 y 2 f proc local y y 3 end f O y 2 Dans le premier cas la variable globale y a t modifi e par la proc dure Dans le second cas c est la variable locale y qui a t modifi e la variable globale restant inchang e Un troisi me exemple illustre ce qu il en est des proc dures appel es a proc local b y b proc global y y 3 end 1 PRIMITIVES DU LANGAGE DE PROGRAMMATION 41 bO end y 2 aQ y 3 Dans cet exemple il y a deux proc dures imbriqu es la premi re ayant pour variable locale y L affectation de y dans la sous proc dure b concerne la variable globale y qui de ce fait est modifi e Contrairement des langages comme Pascal il n y a pas moyen d acc der depuis b la variable locale y de a Le
403. ujours sur C Cela se produit si et seulement si chacune des variables appara t seule ventuellement lev e une puissance et multipli e par une constante comme mon me de t te pour l ordre choisi d un des l ments de la base Cette propri t est vraie pour tout ordre et on a nouveau int r t calculer la base pour l ordre tdeg EXEMPLE 20 Dans l exemple 18 le syst me n a qu un nombre fini de solutions sur la premi re base donn e en exemple les mon mes de t te sont x 4y et z sur la deuxi me 2 y et x et sur la troisi me 2 x72 yx af x et yz La commande finite du package grobner permet de r pondre directe ment la question du nombre fini de solutions Pour la r solution on peut utiliser la base calcul e par l ordre lexicogra phique qui donne une forme triangulaire au syst me le nombre de variables intervenant dans les quations va en d croissant Cette fa on de faire n est pas la plus efficace dans le cas g n ral et on aura int r t utiliser directement solve qui effectue un calcul bas sur des bases de GR BNER en tenant compte de factorisations interm diaires EXEMPLE 21 Sur notre exemple pr c dent on obtient les solutions solve sys x y z 2 1 r 1 5 5 5 Ti 5 y 571 1 t 2 2 t Pr t nae t a a 1 RootOf 5_Z 10_Z 18_7 5_Z4 _Z 4 7 12 Z 16_Z 16 On a donc 12 solutions une pour chacune
404. ur l axe des abscisses La limitation sur les fortunes revient rajouter des barri res horizontales Lorsque le point arrive sur une telle barri re il est absorb ce qui correspond la ruine d un joueur et la fin de la partie Les questions 1 2 et 5 sont trait es dans les sections qui suivent des indications sur les autres questions sont donn es dans les exercices 2 2 Premier retour Si Y est l abscisse du premier retour une ordonn e nulle galit des joueurs la fonction g n ratrice de Y s obtient en con sid rant la structure de l arche que doit parcourir le point cette arche commence par un pas vers le haut ou vers le bas se termine par le pas inverse et entre les deux le point peut parcourir une succession d arches d finies de la 266 XI CALCULS EN PROBABILIT FIGURE 3 volution de la fortune des joueurs ici p q 1 2 m me fa on Cette d finition se traduit en termes de fonctions g n ratrices par exemple pour les arches montantes 1 A z p 42 2 p27 Aw Le facteur pz est la fonction g n ratrice d un pas vers le haut Il est suivi d une suite 1 1 A z voir p 108 d arches ind pendantes de fonction g n ratrice A z et enfin d un pas vers le bas de fonction g n ratrice qz Cette quation se r sout solve A p q z 2 1 A A 1 1 1 1 5 zV Apqz 5 zV Apqz La premi re solution ayant des coefficients
405. ure 7 montre une racine dans l intervalle 0 4 0 8 une ou deux autres dans les intervalles 6 6 4 et 9 2 9 6 Le trac de la fonction sur 6 6 4 montre qu il y a effectivement deux racines dans cet intervalle par contre le trac sur 9 2 9 6 ne permet pas de conclure Il faut restreindre le trac l intervalle 9 41 9 44 pour pouvoir conclure qu il n y a pas de racine entre 9 et 10 fig 8 1 2 Courbes param triques et polaires Les trac s de courbes param triques x f t y g t sont r alis s par plot t 8 t t a b o a b est l intervalle de variation du param tre fig 9 Les trac s de courbes a a FIGURE 7 plot sin x 72 FIGURE 8 plot sin x 72 exp x cos x x 0 10 exp x cos x x 9 41 9 44 1 TRAC S EN DEUX DIMENSIONS 81 FIGURE 9 plot sin 3 t FIGURE 10 sin 4 t t 0 2 Pi polarplot 1 cos t t 0 2 Pi d finies en coordonn es polaires se font avec la commande polarplot du package plots laquelle on peut donner une expression ou une fonction pour une d finition de la forme r f ou bien une liste f t g t t a b pour r f t 0 g t fig 10 1 3 Courbes implicites Il est galement possible de tracer des courbes d finies de fa on implicite par une quation f x y 0 l aide de la com mande implicitplot fig 11 On a cependant int r t trouver une repr sen tation param trique l
406. urrences d ordre un est fourni par les sommes et les produits que nous abordons ensuite et nous concluons le chapitre par des indications sur la fa on de mener le calcul de valeurs d une suite ou d valuer num riquement la limite d une suite car l approche num rique est bien souvent la seule dont on dispose 1 R currences lin aires Les r currences lin aires se pr tent des calculs qui sont impossibles sur des r currences plus g n rales Nous d taillons une partie de ces op rations dans cette section lorsque les coefficients sont constants ou polynomiaux 1 1 Coefficients constants Les r currences lin aires avec des coefficients qui ne d pendent pas de l indice ont le double avantage d tre faciles r soudre et manipuler et d tre tr s fr quentes en pratique 1 1 1 R solution Il est possible de r soudre ces r currences en utilisant le polyn me car act ristique La commande rsolve effectue cette r solution en voici la syn taxe rsolve u n 2 3 u n 1 u n 0 u n v5 li J e voori 3 A v5 2 y tPour se faire une id e d autres op rations sur ces r currences et comprendre pourquoi elles sont si importantes pour le calcul formel le lecteur peut jouer avec le package gfun 165 166 VII SUITES R ELLES Lorsque les valeurs initiales ne sont pas pr cis es le syst me les exprime de fa on symbolique ici ug u1 D s que l ordre de la r
407. utine d valuation num rique est appel e Par exemple lorsque f cos sin x apr s avoir perdu du temps chercher en vain une solution symbolique le syst me r alise l valuation num rique La fonction Sum joue le m me r le pour les sommes Lorsqu une expression contient des formes inertes la proc dure value les rend actives afin de calculer la valeur de l expression Pour RootOf la commande allvalues joue partiellement ce r le Les principales formes inertes peuvent tre r crites par combine expand simplify et certaines commandes du package student Le tableau 7 montre les autres fonctions qui prennent en compte les formes inertes La forme inerte la mieux connue du syst me est RootOf Son argument n est pas forc ment un polyn me les commandes evalf et series savent aussi traiter des quations plus g n rales Voici par exemple une fa on de trouver num riquement une racine de l quation z cos z 2 evalf RootOf z cos z 2 2 988268926 2 CLASSES D EXPRESSIONS ET SIMPLIFICATION 27 et voici comment obtenir un d veloppement limit l origine de la fonction y x d finie implicitement par yexp x y In 1 x series RootOf y exp T a y X 2 32 di 5 6 T 5a 3 Tap O x 2 4 Hypoth ses sur les variables Les variables non affect es posent probl me lors des calculs Nous avons rencontr un cas typique dans le 81 que vaut Va Si x est r el positif on voudr
408. uz ne d pendent pas de la borne de sommation n la formule d EULER MACLAURIN s applique Elle renvoie une expression Sk telle qu asymptotiquement Sk Sk amp ux Pour trouver le comportement asymptotique de n 1 Sk log k k 1 lorsque n oo la commande eulermac s utilise ainsi readlib eulermac n 2 log n n n In n n n man nn n i 1 TO 3 9 2 6 12 360n 7560n n gt Comme int la commande eulermac sait aussi traiter des sommes d finies et fournit alors une constante d int gration qui n apparait pas dans le cas ind fini eulermac k 2 log k k 1 n In n n n 1 2 4 ln n n In n n n t 1 1 3 9 HA 12 360n 7560n3 La constante 1 2 repr sente la d riv e de la fonction zeta de RIEMANN en 2 et vaut 2 0 03 evalf subs n 100 convert seq k 2 log k k 1 100 1447056 584 O 1 10000000000 1447056 585 La commande asympt sait reconnaitre les cas d application de la m thode d EULER MACLAURIN on aurait donc pu crire directement n asympt sum k 2 log k k 1 n n La comparaison avec une int grale ne fonctionne bien que lorsque les sommants sont assez r guliers et que la somme n est pas trop concentr e si seuls quelques termes contribuent asymptotiquement a la somme il faut commencer par les rep rer puis majorer le reste C est le cas par exemple pour Xp kl 3 4 Suites it ratives Nous reprenons l exemple
409. va tre le centre de la spirale et qui correspond a l entier 1 Puis on se d place vers l un des quatre carr s adjacents qui va repr senter l entier 2 et on continue ainsi en tournant autour des carr s d j visit s en coloriant chaque carr correspondant un nombre premier crire un programme Maple tra ant la partie de la spirale correspondant aux entiers inf rieurs 2n 1 Il pourra s av rer avantageux d utiliser le crible d RATOSTH NE La figure 1 montre le r sultat obtenu avec n 128 FIGURE 1 plot ulam 128 style POINT axes NONE 106 IV ARITHM TIQUE ET COMBINATOIRE 7 Les bovins d ARCHIMEDE Ce probl me fut pos par ARCHIMEDE ERATOS TH NE vers 200 av J C Il se r duit la r solution du syst me 1 1 1 wW G 3 X Z x Q iY Z Y SW 2 w G A s G Y y y G Det G DU u HW We anita y o ou n m sont des entiers W X Y Z sont respectivement le nombre de taureaux blancs noirs tachet s jaunes et w x y z le nombre de vaches de ces couleurs A partir des sept quations lin aires montrer qu il existe un entier k tel que W aik 2 agk o a1 ag sont des entiers de sept ou huit chiffres En substituant dans l quation W X m montrer que k est de la forme 4456749p puis en rempla ant dans Y Z n n 1 2 obtenir l quation de PELL N 4729494P 1 o N 2n 1 et P 9314p et la r soudre 8 Pour rendre la recherch
410. x exp 3 2 sin r 3 1 2 eux m mes repr sent s par des arbres Les n uds de l arbre comme la racine repr sentent soit des op rations soit des fonctions sin exp et les feuilles repr sen tent soit des rationnels 2 3 2 1 3 1 soit des noms de variables x Pi Les proc dures Maple travaillent toutes sur des expressions repr sent es par de tels arbres et les op rations de base consistent donc analyser ces arbres pour en d terminer les composants modifier ces composants et les utiliser pour cr er de nouveaux arbres Op randes Les arbres qui se trouvent sous la racine peuvent tre isol s par la proc dure op comme op rande Avec une expression comme argument cette proc dure renvoie la suite des fils de l expression leur nombre tant renvoy par la proc dure nops Pour s lectionner un fils particulier on donne en premier argument op son num ro On peut bien s r nouveau isoler un sous arbre d un sous arbre Avec 0 comme premier argument op renvoie la racine de l arbre sauf pour les s ries et les tables EXEMPLE 25 L expression ci dessus servira d exemple pour la majeure partie de cette section f x 2 exp 3 2 sin Pi 3 1 x op f a e 2 sin x 3 1 2 op 1 op op 3 f 1 3 op 0 op 3 f sin op 0 f L ordre des op randes dans une somme ou un produit n est pas n cessaire ment le m me d une session l autre Il ne faut donc pas
411. x 0 2 Pi eval subs Co F subs x 0 F SV5T 0 Ici Maple a d tect la discontinuit de F en x 7 et le r sultat donn par int est correct 2 1 2 Fonctions multiformes Les techniques utilis es pour calculer des primitives pr tent peu attention au domaine de d finition de la fonction int grer La formule renvoy e par le syst me est correcte en ce sens que sa d riv e formelle est bien la fonc tion int gr e Cependant cette primitive peut ne pas tre d finie sur tout l intervalle d int gration Dans les exemples que nous avons vus ci dessus la primitive cessait d tre d finie cause de la pr sence d une singularit dans l intervalle Une autre cause fr quente d incorrection est un changement de d termination d une fonction multiforme EXEMPLE 17 Le r sultat suivant est faux f t gt sin t cos t ln tan t Int f t t 0 OS f t t 0 Pi 2 x 2 1 I sin t cos t In tan t dt z377 0 La bonne valeur est 0 car f 7 4 u est impaire simplify f Pi 4 u f Pi 4 u 0 Lorsque l int grande lui m me contient une fonction multiforme Maple choisit l une des formes a priori f sqrt 1 cos x 2 F int f x 230 IX INT GRALES ET PRIMITIVES F cos x Ici la primitive cos x qui correspond l int grande sin x n est correcte que pour 2k 1 m lt x lt 2kr Sur les autres intervalles cette primitive donne des r sultats aberrants int f x
412. x 1 exp a3 F a1 F 1xkxRx Pixsqrt h2 R arctan sqrt r 2 Pixxi 4 log hN h2 1og h1 h2 2 R xi T1 h2 arctan Phi sqrt R h2 sqrt h2 R Pitlog h2 h1 4 sqrt R h2 arctan sqrt r T1 k 1 h1 T2 k 1 h2 2 Fp linalg jacobian f F h2 Phi Fp 2 2 2 LIEN AVEC D AUTRES LANGAGES OU BIBLIOTH QUES 289 an en ra i mm 4 2 R aere 14 ete l T 4 gt aot hg 1 g ml R h2 R 2h9 T HEER Le probl me peut tre beaucoup plus compliqu qu une simple mod lisa tion du laminoir par exemple si l on s int resse sa r gulation En r alit il y a g n ralement sept cages successives donc la mod lisation demande la r solution des quations pr c dentes sept fois de suite de plus le temps intervient et la simulation doit tre faite chaque pas de temps La r gulation demande donc une simulation rapide du syst me voire en temps r el et celle ci ne peut tre r alis e que dans un langage num riquement rapide comme Fortran ou C Transformons donc la matrice jacobienne obtenue pr c demment en syn taxe Fortran En Maple la commande fortran r alise cette transformation Si son argument est un tableau tous les l ments sont transform s fortran Fp Fp 1 1 1 a2 xa3xexp a3 F a1 Fp 1 2 1 Fp 1 3 0 Fp 2 1 1 Fp 2 2 l k R 0 3141593E1 sqrt h2 R atan sqrt h1 h2 h2 R 4 0 3141593E1x sqrt h2 R sqrt h1 h2 h2 1 h2 hi h2 h2 2 1
413. xacte Tous les cas ne sont pas aussi simples voici un exemple plus d licat o on cherche un quivalent lorsque x 17 de n x n gt 0 Lorsque x 17 tous les termes tendent vers 1 2 et la fonction series ne peut pas tre appliqu e directement On commence donc par r crire la somme simplify subs u x n series subs x n u x n 1 x n u map sum n 0 infinity 1 1 1 1 1 gt O 6n e gaa oa ea at 2 en Ce calcul sugg re l galit suivante qu il faudrait par ailleurs prouver D Er D n gt 0 Tous les termes de la somme de droite ont un p le simple en 1 on va donc intervertir ceci reste justifier la limite et la somme sum limit 1 n 1 x x n 1 aa n 1 infinity 1 x n l r 2 5 Int grales Pour les int grales comme pour les sommes tant que lon se contente de calculer sans chercher justifier les interversions des signes sommes et int grales il n y a pas de difficult importante Ainsi le calcul du d veloppement d une int grale comme a dt zx Vil tf en x 0 est facile en admettant sa validit series Int 1 sqrt 1 t 4 t x x 2 x 5 Pe ae oe 9 T T 7 e tOn utilise ici Int et non int pour viter que Maple ne passe du temps essayer de calculer symboliquement l int grale 2 S RIES ENTI RES ET D VELOPPEMENTS LIMIT n N m w EXEMPLE 8 Lorsque x tend vers 0 l int grale 00 f cost di
414. xactement par le point fixe y convergent Il existe aussi des points fixes indiff rents o la d riv e a une valeur absolue exactement 1 et o une tude plus pr cise de la suite est n cessaire avant de pouvoir conclure EXEMPLE 4 Voici un exemple o tous les points fixes sont r pulsifs la suite d finie par un 1 tan u Cette suite a pour points fixes les solutions 174 VII SUITES R ELLES de x tan x abscisses des points d intersection sur la figure 1 Cette figure s obtient par plot tan x x x 4 Pi 4 Pi 12 12 discont true Si uo est l un de ces points la suite est constante et donc converge En revanche le comportement des autres suites est gouvern par la stabilit de ces points fixes donc par la d riv e de la fonction tangente en leur voisinage Comme tan 1 tan la d riv e en uo est strictement sup rieure 1 lorsque uo kz Le seul cas consid rer est ug kr et l nullit de la d riv e seconde et signe de la d riv e troisieme permettent de conclure Par cons quent la suite ne converge jamais en dehors des points fixes dont les premi res valeurs sont seq fsolve tan x x x 2 k 1 Pi 2 2 k 3 Pi 2 k 1 9 0 4 493409458 7 725251837 10 90412166 14 06619391 17 22075527 20 37130296 23 5194525 26 66605426 29 81159879 32 95638904 Pour les autres valeurs de ug le comportement de la suite ne pr sente aucune r gularit Les premi res valeurs lorsque ug
415. y 0 1 y x numeric Le r sultat est une proc dure que l on peut utiliser pour calculer des valeurs de la solution 0 5 1 x 5 y x 1 12970783844130440 x 1 y x 1 53409997627099437 Le trac de la fonction s obtient par la commande DEplot du package DEtools EXEMPLE 7 Le trac de la solution de y z sin z e YO y 0 1 est obtenu cf fig 2 par deq diff y x x x sin x exp abs y x DEtools DEplot deq x y 0 20 0 1 stepsize 0 2 Comme DEtools comporte quelques incorrections il est bon de savoir que Von peut galement crire plots odeplot dsolve deq y 0 1 y x numeric y x 0 20 numpoints 100 Diverses options permettent de contr ler l aspect des courbes obtenues plus de d tails sont fournis par l aide en ligne de DEtools options Dans de nombreuses applications physiques le mouvement d un point est mod lis par un syst me d quations diff rentielles indiquant comment la d riv e de chacune des coordonn es du point d pend du temps et des autres coordonn es Nous donnons en figure 3 l exemple du mouvement plan corre spondant au syst me a t y y t y 3sin z 252 X CALCUL DIFF RENTIEL Le trac des trajectoires qui d pendent de la position initiale ici 0 0 et y 0 2 est obtenu par la commande with DEtools phaseportrait y y 3 xsin x x y 0 40 0 0 2 stepsize 0 1
416. ype ro 0 o tend vers l infini Nous allons d tailler le calcul avec cost t FY 1 t L id e est simple quand cro t l int grale se concentre au voisinage de l origine fig 7 Il suffit alors de d velopper la partie ind pendante de au voisinage de l origine et d int grer terme a terme series cos t 1 t t readlib laplace t lambda 1 1 fs 1 3 2 13 65 re AB XX DB X6 la fonction laplace perd le O 3 D VELOPPEMENTS ASYMPTOTIQUES 213 Bien souvent l int grale ne se pr sente pas directement sous la forme ci dessus et il faut l y ramener par des changements de variables appropri s EXEMPLE 14 On tudie l int grale suivante lorsque n tend vers linfini b sin tdt be 0 x 2 0 Cette int grale ne se concentre pas l origine mais en b Ceci sugg re de r crire sin t comme exp nlogsint et d effectuer le changement de variable log sin t log sin b u f Int sin t n t 0 b student changevar log sin t log sin b u f u simplify trig exp Fi sin b e sin b e u 0 1 sin b e724 Il reste a isoler la partie qui d pend de n de celle qui n en d pend pas a d velopper cette derni re et a int grer terme a terme subs csgn cos b 1 sin b n 1 laplace simplify series exp u sqrt 1 sin b 2 exp 2 u u 3 u n sin b 1 1 3 2cos b cos b n cos b 3n cos b gt n3 La encore le
417. ype traperror cat substring lexorder abs igcd iquo irem isqrt max min modp modpi mods evalf hypergeom trunc coeff coeffs degree denon divide icontent lcoeff ldegree maxnorm normal numer sign sort tcoeff diff expand series assigned convert eval evalb evalf evalhf evaln frontend has hastype indets length nops op subs subsop entries indices table intersect member minus union addressof assemble disassemble pointto alias appendto lprint print userinfo writeto time system readlib g proc f x 2 end g proc nom de fonction difficile a_taper x 2 end od 3 1 6 L interpre te Outre le simplificateur et l valuateur dont nous avons beaucoup parl dans cette section l interpr te comprend une interface et un analyseur syn taxique Cet analyseur est accessible via les commandes parse et readline L interpr te peut tre sommairement d crit comme effectuant la boucle infinie do macro f nom de fonction difficile a_taper print eval parse readline ou readline lit une chaine de caract res parse y reconnait une instruction Maple qui est valu e par eval et le r sultat est finalement affich par print La commande parse nous sera utile pour calculer des temps d ex cution par la proc dure duree proc r time eval parse r statement end 3 APPROFONDISSEMENT DU SYST ME 67 qui prend une cha ne de caract res e
418. yt 3zr y 22299 2 3y4 0 Tracer cette courbe dans le domaine 1 lt x y lt 3 Indication utiliser Voption numpoints pour affiner le trac Tracer en fonction de n le nombre de d cimales correctes de 7 obtenues en substituant 1 2 x dans le d veloppement limit de 6 arcsin x l ordre 2n pour n 1 jusqu 100 L ensemble de MANDELBROT fig 13 p 84 tant donn un complexe c a ib on d finit la suite 2 par zo 0 et 211 22 c pour n gt 0 L ensemble de MANDELBROT est form par les points a b du plan tels que la suite associ e z reste distance finie de l origine Une condition suffisante pour que c ne soit pas dans l ensemble est qu il existe n tel que l n lt ll lel 1 crire une proc dure prenant comme argument n et calculant la valeur de z Zn c en fonction de a et b 2 A l aide d une proc dure de trac de fonctions implicites dessiner les courbes obtenues pour n 1 2 3 4 En les superposant on doit obtenir le graphique de la figure 13 p 84 Poursuivre en augmentant les valeurs de n Le pavage de RICE On consid re le pavage du plan par des pentagones dont une partie est dessin e en figure 14 p 84 Ce pavage a t d couvert par Marjorie RICE en 1976 1 crire les quations reliant les cinq angles et les cinq longueurs 2 Les r soudre l aide d un syst me de calcul formel 3 Montrer que le syst me poss de un degr de l

Download Pdf Manuals

image

Related Search

Related Contents

Planificación Semanal Proyecto: Asistente Samuel Robinson  D-Link TM DES-6500 User's Manual  Bedienungsanleitung  取扱説明書はこちら  ECB3500 - Go Wireless NZ Ltd  Untitled - Raw Nutrition Canada  

Copyright © All rights reserved.
Failed to retrieve file