Chapitre V Résolution des systèmes d’équations non-linéaires V.1 Introduction : Un problème qui apparait fréquemment dans le calcul numérique est la détermination simultanée de quelque ou tout les racines d’un ensemble d’équations non linéaires. Tel problème est généralement plus compliqué que dans le cas d’une seule équation. Exemple :soit le système de deux équations suivant : 𝑥𝑥 2 + 𝑦𝑦 2 = 4 𝑒𝑒 𝑥𝑥 + 𝑦𝑦 = 1 Dont la représentation graphique est donné par la figure( V.1) Pour ce système il est clair qu’il accepte deux solutions distinctes alors que pour d’autre système une étude plus détaillé sera nécessaire pour déterminer le nombre de solutions. Un système général de n équations à n inconnus x1, . . . , xn peut se mètre sous la forme 𝑓𝑓𝑖𝑖 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0, i=1,..,n Avec f1,…,fn, sont des fonctions à n variables, ou sous la forme vectorielles 𝐹𝐹(𝑋𝑋) = 0 Le point de départ pour ce type de problème est la généralisation des méthodes de résolution d’une équation non-linéaire (n=1) au système d’équations (n>1), mais par exemple il est difficile ou impossible de généraliser tout les techniques (méthode de bissection et sécante), la méthode de Newton, par contre, admet bien la généralisation. V.2. Méthode de résolution : V.2.1 Point fixe (à plusieurs variables) Nous pouvons adapter la méthode de point fixe utilisé pour la résolution d’une équation non linéaire à un système d’équations non linéaire : 𝐹𝐹(𝑋𝑋) = 0 : 𝑓𝑓1 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0 𝑓𝑓2 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0 ………………….. 𝑓𝑓𝑛𝑛 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) = 0 Par extraction d’une seule variable d’une des équations de façon à obtenir les schémas suivants : 28 Chapitre V Résolution des systèmes d’équations non-linéaires 𝑋𝑋 = 𝐺𝐺(𝑋𝑋) 𝑥𝑥1 = 𝐺𝐺1 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) 𝑥𝑥2 = 𝐺𝐺2 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) ………………….. 𝑥𝑥𝑛𝑛 = 𝐺𝐺𝑛𝑛 (𝑥𝑥1 , 𝑥𝑥2 , . . , 𝑥𝑥𝑛𝑛 ) Il faut noter qu’il n’est pas obligatoire d’extraire la première variable de la première équation mais nous avons une multitude de combinaisons possibles. Le chois du schéma obtenu est régi par la condition de convergence. Ensuite on passe au schéma de récurrence suivant : 𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 ) 𝑥𝑥1𝑘𝑘+1 = 𝐺𝐺1 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � 𝑥𝑥2𝑘𝑘+1 = 𝐺𝐺2 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � ……………………….. 𝑥𝑥𝑛𝑛𝑘𝑘+1 = 𝐺𝐺𝑛𝑛 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � 𝑥𝑥10 Avec : 𝑋𝑋 � … � connue ou donné. 𝑥𝑥𝑛𝑛0 0 Pour amélioré la convergence, on remarque qu’il est possible d’obtenir une autre configuration basé sur l’utilisation des nouvelles valeurs de xi lorsqu’on calcule xj dans le cas ou j>i c’est-à-dire : 𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 , 𝑋𝑋 𝑘𝑘+1 ) 𝑥𝑥1𝑘𝑘+1 = 𝐺𝐺1 �𝑥𝑥1𝑘𝑘 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � 𝑥𝑥2𝑘𝑘+1 = 𝐺𝐺2 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � 𝑥𝑥3𝑘𝑘+1 = 𝐺𝐺3 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘+1 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � ……………………….. 𝑘𝑘+1 𝑘𝑘 𝑥𝑥𝑛𝑛𝑘𝑘+1 = 𝐺𝐺𝑛𝑛 �𝑥𝑥1𝑘𝑘+1 , 𝑥𝑥2𝑘𝑘+1 , … , 𝑥𝑥𝑛𝑛−1 , 𝑥𝑥𝑛𝑛 � Exemple : 𝑥𝑥 2 + 𝑦𝑦 2 = 4 𝑒𝑒 𝑥𝑥 + 𝑦𝑦 = 1 𝑥𝑥0 −2 �𝑦𝑦 � = � � 0 1 Solution : On maitre le système précédant sous la forme suivante : 2 𝑘𝑘+1 � 𝑥𝑥 𝑘𝑘+1 � 𝑘𝑘+1 � = �− 4 − �𝑦𝑦 � � 𝑦𝑦 𝑘𝑘 1 − 𝑒𝑒 𝑥𝑥 𝑥𝑥0 −2 Et pour une solution initiale : �𝑦𝑦 � = � � 0 1 Nous obtenant les résultats suivants : k x y 1 -1.732051 0.8646647 2 -1.803429 0.8230788 29 Chapitre V Résolution des systèmes d’équations non-linéaires 3 -1.822784 0.8352669 4 -1.817231 0.8384247 5 -1.815776 0.8375250 6 -1.816192 0.8372885 7 -1.816301 0.8373560 8 -1.816270 0.8373737 9 -1.816261 0.8373687 10 -1.816264 0.8373674 Si on utilise le deuxième schéma on obtient une convergence plus rapide k x y 1 -1.732051 0.8230788 2 -1.822784 0.8384247 3 -1.815776 0.8372885 4 -1.816301 0.8373737 5 -1.816261 0.8373674 6 -1.816264 0.8373678 V.2.1.2.Critère de convergence: Pour obtenir la convergence d’un schéma à point fixe dans le cas d’une seule équation non 𝑑𝑑𝑑𝑑 linéaire (n=1) la valeur absolue de la dérivée de G doit être inférieure à l’unité � � < 1, alors 𝑑𝑑𝑑𝑑 dans le cas ou n>1 la condition de convergence est étendue au système de condition suivant : 𝜕𝜕𝐺𝐺2 𝜕𝜕𝐺𝐺1 �+� � 𝜕𝜕𝑥𝑥 1 𝜕𝜕𝐺𝐺2 𝜕𝜕𝑥𝑥 1 𝜕𝜕𝐺𝐺1 � 𝜕𝜕𝑥𝑥 2 �+� 𝜕𝜕𝑥𝑥 2 𝜕𝜕𝐺𝐺𝑛𝑛 �+ ⋯+ � 𝜕𝜕𝑥𝑥 1 𝜕𝜕𝐺𝐺𝑛𝑛 �+ ⋯+ � 𝜕𝜕𝑥𝑥 2 ……………………….. � 𝜕𝜕𝐺𝐺1 𝜕𝜕𝑥𝑥 𝑛𝑛 �+� 𝜕𝜕𝐺𝐺2 𝜕𝜕𝑥𝑥 𝑛𝑛 � < 1 et � < 1 et 𝜕𝜕𝐺𝐺𝑛𝑛 � + ⋯+ � 𝜕𝜕𝑥𝑥 𝑛𝑛 �<1 Exemple : Tester cette condition sur le système précédant. Algorithme Début Lire X0 , e Faire tans que |∆𝑋𝑋| > 𝜀𝜀 𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 ) Fin tans que Début Lire X0 , e Faire tans que |∆𝑋𝑋| > 𝜀𝜀 𝑋𝑋 𝑘𝑘+1 = 𝐺𝐺(𝑋𝑋 𝑘𝑘 , 𝑋𝑋 𝑘𝑘+1 ) Fin tans que 30 Chapitre V Résolution des systèmes d’équations non-linéaires V.2.2 Méthode de Newton La méthode de Newton pour un système d’équation non linéaire consiste à généraliser la méthode vue pour une seule équation et en prenant en considération l’effet dimensionnel. Soit le système d’équation suivant : 𝑓𝑓1 (𝑥𝑥, 𝑦𝑦) = 0 𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) = 0 A partir d’un couple de valeurs approchées (x1,y1) d’une solution du système, on peut déterminer deux accroissements h et k à donner à x1 et y1 de manière à ce que : 𝑓𝑓1 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 0 𝑓𝑓2 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 0 En utilisant un développement de premier ordre on obtient : 𝑓𝑓1 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 𝑓𝑓1 (𝑥𝑥1 , 𝑦𝑦1 ) + +ℎ. 𝑓𝑓1 ′ (𝑥𝑥1 ) + 𝑘𝑘. 𝑓𝑓1 ′ (𝑥𝑥1 ) = 0 𝑓𝑓2 (𝑥𝑥1 + ℎ, 𝑦𝑦1 + 𝑘𝑘) = 𝑓𝑓2 (𝑥𝑥1 , 𝑦𝑦1 ) + +ℎ. 𝑓𝑓2 ′ (𝑥𝑥1 ) + 𝑘𝑘. 𝑓𝑓2 ′ (𝑥𝑥1 )=0 Avec : 𝑓𝑓1 ′ (𝑥𝑥1 ) = 𝑓𝑓2 ′ (𝑥𝑥1 ) = 𝜕𝜕𝑓𝑓1 (𝑥𝑥,𝑦𝑦) 𝜕𝜕𝜕𝜕 � 𝜕𝜕𝑓𝑓2 (𝑥𝑥,𝑦𝑦) 𝜕𝜕𝜕𝜕 𝑥𝑥=𝑥𝑥1 � 𝑥𝑥=𝑥𝑥1 , 𝑓𝑓1 ′ (𝑦𝑦1 ) = , 𝑓𝑓2 ′ (𝑦𝑦1 ) = 𝜕𝜕𝑓𝑓1 (𝑥𝑥,𝑦𝑦) 𝜕𝜕𝜕𝜕 � 𝜕𝜕𝑓𝑓2 (𝑥𝑥,𝑦𝑦) 𝜕𝜕𝜕𝜕 𝑦𝑦=𝑦𝑦1 � 𝑦𝑦=𝑦𝑦1 , , Les quantités h et k sont déterminé alors par la résolution du système d’équations linéaires suivant : 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑓𝑓1 ⎤ ⎡ ⎢ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎥ �ℎ1 � = �−𝑓𝑓1 (𝑥𝑥1 , 𝑦𝑦1 )� ⎢𝜕𝜕𝑓𝑓2 𝜕𝜕𝑓𝑓2 ⎥ 𝑘𝑘1 −𝑓𝑓2 (𝑥𝑥1 , 𝑦𝑦1 ) ⎥ ⎢ ⎣ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⎦ La matrice 𝐽𝐽 = 𝜕𝜕𝑓𝑓1 𝜕𝜕𝑓𝑓1 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 �𝜕𝜕𝑓𝑓 2 𝜕𝜕𝜕𝜕 �est 𝜕𝜕𝑓𝑓2 appelé Jacobiènnes du système. Les nouvelles valeur de x et y notés (x2,y2) sont donné par : x2= x1+h1 y2=y1+k1 Le calcul est alors relancé avec le nouveau couple (x2,y2) affin d’approximer le couple (x3,y3) et le processus sera répéter jusqu’à ce que hi et ki deviennent inférieures à une valeur e que l’on se donne (selon la précision voulue pour le calcul). Ainsi, l’algorithme correspondant est Algorithme Début Lire X0 , e Faire tans que |∆𝑋𝑋| > 𝜀𝜀 Définir [𝐽𝐽] Δ𝑋𝑋 = [𝐽𝐽−1 ]. [−𝐹𝐹(𝑋𝑋)] 𝑋𝑋𝑖𝑖+1 = 𝑋𝑋𝑖𝑖 + Δ𝑋𝑋 Fin tans que Exemple : Soit le système suivant dont les solutions sont représentées sur la figure 1 : 31 Chapitre V Résolution des systèmes d’équations non-linéaires x2+y2=2.0 x2-y2=1.0 3 Analytiquement on peut obtenir les solutions suivantes : 𝑥𝑥 = ±� , 𝑦𝑦 = ± 2 √2 2 𝑓𝑓1 (𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 + 𝑦𝑦 2 − 2 𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 − 𝑦𝑦 2 − 1 𝜕𝜕𝑓𝑓1 𝜕𝜕𝜕𝜕 𝜕𝜕𝑓𝑓2 𝜕𝜕𝜕𝜕 = 2𝑥𝑥, = 2𝑥𝑥, 𝜕𝜕𝑓𝑓1 𝜕𝜕𝜕𝜕 𝜕𝜕𝑓𝑓2 𝜕𝜕𝜕𝜕 Donc 𝐽𝐽 = � = 2𝑦𝑦 = −2𝑦𝑦 2𝑥𝑥 2𝑥𝑥 2𝑦𝑦 −𝑓𝑓1 (𝑥𝑥, 𝑦𝑦) −𝑥𝑥 2 − 𝑦𝑦 2 + 2 �,� �=� 2 � −2𝑦𝑦 −𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) −𝑥𝑥 + 𝑦𝑦 2 + 1 En utilisant la méthode de Newton et en partant du couple (1,1) on obtient : n=1 : −𝑓𝑓 (𝑥𝑥, 𝑦𝑦) 2 2 0 𝐽𝐽 = � �, � 1 �=� � 2 −2 −𝑓𝑓2 (𝑥𝑥, 𝑦𝑦) 1 Donc 1/4 Δ𝑋𝑋 = [𝐽𝐽−1 ]. [−𝐹𝐹(𝑋𝑋)] = � � donc x=1.25,y=0.75 −1/4 Et en répétant le processus en obtient le tableau suivant : x1 x2 ∆x1 ∆x2 1.000000 1.000000 0.2500000 -0.2500000 1.250000 0.7500000 -2.5000000E-02 -4.1666668E-02 1.225000 0.7083333 -2.5512589E-04 -1.2254703E-03 1.224745 0.7071078 -4.4570623E-08 -1.0607812E-06 En utilisant le couple (-1,1) on obtient : x1 x2 ∆x1 ∆x2 -1.000000 1.000000 -0.2500000 -0.2500000 -1.250000 0.7500000 2.5000000E-02 -4.1666668E-02 -1.225000 0.7083333 2.5512589E-04 -1.2254703E-03 -1.224745 0.7071078 4.4570623E-08 -1.0607812E-06 -1.224745 0.7071068 4.4570626E-08 1.2101619E-08 32