}E:=E,D;}return E;};E:=ecriture(B,x^2-2,2);QA:=A*A-2*idn(6);On vérifie bien que normal(QA*E(0)) et normal(QA*E(1))-E(0)) sontnuls. On sait qu’on a un bloc <strong>de</strong> taille 2 <strong>de</strong> cycles <strong>de</strong> Jordan <strong>de</strong> longueur 2, doncil n’est pas nécessaire <strong>de</strong> faire <strong>de</strong>s réductions ici, il suffit <strong>de</strong> prendre une colonnenon nulle <strong>de</strong> E(0), par exemple la première colonne en x = 0 et la colonne correspondante<strong>de</strong> E(1) et leurs images par A, ici cela donne (4, 24, 12, 32, 8, −4)correspondant à (0, 4, −4, 8, 4, −4), on <strong>calcul</strong>e les images par A, la matrice <strong>de</strong>l’endomorphisme restreint à ce sous-espace est alors le bloc <strong>de</strong> taille 4 :⎛⎜⎝0 2 0 11 0 0 00 0 0 20 0 1 0Cette forme normale minimise le nombre <strong>de</strong> coefficients non nuls, mais présenteun inconvénient, la partie nilpotente ne commute pas avec la partie blocdiagonale,contrairement à la forme normale rationnelle <strong>de</strong> Jordan qui contient <strong>de</strong>sblocs i<strong>de</strong>ntités au-<strong>de</strong>ssus <strong>de</strong> la diagonale <strong>de</strong> blocs. Pour⎛créer la forme⎞normale... 0 1rationnelle <strong>de</strong> Jordan, on doit donc remplacer les blocs ⎝ ... 0 0 ⎠ par <strong>de</strong>s...matrices i<strong>de</strong>ntités. Supposons constitués les j premiers blocs <strong>de</strong> taille d numérotés<strong>de</strong> 0 à j − 1 avec comme base <strong>de</strong> vecteurs (v 0,0 , ..., v 0,d−1 , ..., v j−1,d−1 ). Il s’agit<strong>de</strong> trouver un vecteur v j,0 pour commencer le bloc suivant. On définit alors v j,l enfonction <strong>de</strong> v j,l−1 en appliquant la relation Av j,l−1 = v j,l + v j−1,l−1 . Il faut doncchercher v j,0 tel que⎞⎟⎠Av j,d−1 = −q 0 v j,0 − ... − q d−1 v j,d−1 + v j−1,d−1 (30)En utilisant les relations <strong>de</strong> récurrence précé<strong>de</strong>ntes, on voit que cela revient à fixerQ(A)v j,0 en fonction <strong>de</strong>s v j ′ ,l avec j ′ < j (l quelconque). Ce qui est toujourspossible en utilisant la colonne <strong>de</strong> matrices C j ′ qui s’obtiennent en fonction <strong>de</strong>sC j ′ +1 en appliquant Q(A).Plus précisément, <strong>calcul</strong>ons les v j,l en fonction <strong>de</strong> v j,0 et <strong>de</strong>s v j ′ ,l ′ (j′ < j). Onutilise les coefficients binomiaux ( )lm <strong>calcul</strong>és par la règle du triangle <strong>de</strong> Pascal eton montre par récurrence que :On remplace dans (30) d’où :A d v j,0 −inf(d,j)∑m=1v j,l = A l v j,0 −(dm)v j−m,l−m +inf(l,j)∑m=1(lm)v j−m,l−m (31)d∑q l (A l v j,0 −l=092inf(l,j)∑m=1(lm)v j−m,l−m ) = 0
finalement :Q(A)v j,0 =d∑l=1inf(l,j)∑q lm=1(lm)v j−m,l−m (32)Application à l’exemple :Ici v 0,0 = (4, 24, 12, 32, 8, −4) et v 0,1 = Av j,0 dont une préimage par Q(A) estw 1,0 = (0, 4, −4, 8, 4, −4) et w 1,1 = Aw 1,0 . On applique (32), comme q 1 = 0 etq 2 = 1 on doit avoir :Q(A)v 1,0 =2∑l=1inf(l,1)∑q lm=1(lm)v 1−m,l−m = 2v 0,1donc :v 1,0 = 2A(0, 4, −4, 8, 4, −4) = (−8, −32, 0, −48, −16, 16)v 1,1 = Av 1,0 − v 0,0 = (4, 40, −4, 64, 24, −20)On vérifie bien que Av 1,1 = 2v 1,0 + v 0,1 .10.2.11 Fonctions analytiquesSoit f une fonction analytique et M une matrice. Pour <strong>calcul</strong>er f(M), on <strong>calcul</strong>ela forme normale <strong>de</strong> Jordan <strong>de</strong> M = P(D + N)P −1 où D =diag(d 1 , ..., d m )est diagonale et N nilpotente d’ordre n. On <strong>calcul</strong>e aussi le développement <strong>de</strong>Taylor <strong>formel</strong> <strong>de</strong> f en x à l’ordre n − 1, on a alors :⎛⎞n−1∑f(N) = P ⎝diag(f (j) (d 1 ), ..., f (j) (d m ))N j ⎠P −1j!j=010.3 Quelques autres algorithmes utilesPour <strong>calcul</strong>er le produit <strong>de</strong> matrices, on peut utiliser l’algorithme <strong>de</strong> Strassen,on présente ici la variante <strong>de</strong> Winograd. Soit à <strong>calcul</strong>er :( )( ) ( )a1,1 a 1,2 b1,1 b 1,2 c1,1 c= 1,2a 2,1 a 2,2 b 2,1 b 2,2 c 2,1 c 2,2On <strong>calcul</strong>e :s 1 = a 2,1 + a 2,2 , s 2 = s 1 − a 1,1 , s 3 = a 1,1 − a 2,1 , s 4 = a 1,2 − s 2puis :t 1 = b 1,2 − b 1,1 , t 2 = b 2,2 − t 1 , t 3 = b 2,2 − b 1,2 , t 4 = b 2,1 − t 2p 1 = a 1,1 b 1,1 , p 2 = a 1,2 b 2,1 , p 3 = s 1 t 1 , p 4 = s 2 t 2p 5 = s 3 t 3 , p 6 = s 4 b 2,2 , p 7 = a 2,2 t 4u 1 = p 1 + p 2 u 2 = p 1 + p 4 , u 3 = u 2 + p 5 , u 4 = u 3 + p 7u 5 = u 3 + p 3 , u 6 = u 2 + p 3 , u 7 = u 6 + p 693