REPUBLIQUE TUNISIENNE
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE TUNIS EL MANAR
FACULTE DES SCIENCES DE TUNIS
DEPARTEMENT DES SCIENCES DE L'INFORMATIQUE
RAPPORT DE
TP1
Réalisé par :
Ahlem Mastouri
Encadré par : Atef
Organisme d’accueil: FST – DSI
2 Exemples :
Exercice2 :
1. D’un point de vue mathématique, après n itérations de chaque boucle :
• La première boucle permet d’approcher la racine nième du nombre xxx, en appliquant une
opération inverse de l’exponentiation.
• La seconde boucle applique l’élévation au carré à chaque itération, et ce n fois, ce qui
permet de retrouver une valeur proche de xxx, puisque l’on effectue successivement
l’opération inverse.
2. À l’issue de l’exécution du programme, la valeur obtenue est une approximation de la
valeur initiale. Cette approximation est sujette à un taux d’erreur dû aux limitations des
calculs numériques.
3. Ce taux d’erreur s’explique par le fait que les ordinateurs ne peuvent représenter qu’un nombre
fini de décimales après la virgule (virgule flottante). Lors du calcul de racines (notamment racines
carrées ou nièmes), les résultats peuvent contenir un grand nombre de décimales, voire être des
nombres irrationnels. Par conséquent, une troncature ou un arrondi est effectué, ce qui engendre
une perte de précision et justifie la légère divergence entre la valeur obtenue et la valeur initiale.
Exercice 3 :
1,
2,
3,
L'analyse comparative des méthodes directes de résolution de systèmes linéaires montre des
différences significatives en termes de complexité et de performance :
1. La méthode de Cramer, bien que conceptuellement simple, devient rapidement inefficace
pour des matrices de taille supérieure à 10 en raison de sa complexité algorithmique élevée
(O(n!)O(n!)O(n!)). Elle n'est donc pas adaptée aux systèmes de grande taille.
2. La méthode de Cholesky, en revanche, est bien plus efficace. Sa complexité est de l'ordre
de O(n3)O(n^3)O(n3), ce qui la rend adaptée à des systèmes de taille moyenne à grande, à
condition que la matrice soit symétrique définie positive. Elle présente des temps de calcul
très faibles même pour des tailles allant jusqu’à 100.
3. En pratique, pour les grandes dimensions, la méthode de Cholesky est donc nettement plus
performante et adaptée, tant en termes de temps de calcul que de stabilité numérique.
Conclusion : Le choix de la méthode dépend fortement de la taille du système et des propriétés de
la matrice AAA. Pour les petites tailles, Cramer est utilisable à des fins pédagogiques. Pour les
systèmes plus importants, la factorisation de Cholesky est à privilégier.
Exercice 5 :
1,
2,
3,
Exercice 6 :
1,
2,
3,
Même si les perturbations entre AAA et A~\tilde{A}A~, et entre bbb et b~\tilde{b}b~ sont petites,
la solution peut être très différente.
• Cela s’explique par le fait que la matrice AAA est mal conditionnée (proche d'être
singulière).
• Le conditionnement élevé implique que petites erreurs dans les données entraînent de
grandes erreurs dans la solution.
Exercice 7 :
Les matrices de Hilbert sont mal conditionnées, ce qui veut dire que leurs inverses sont très
sensibles aux perturbations numériques.
En multipliant chaque ligne par l’inverse de l’élément diagonal (i.e. préconditionnement), on
améliore généralement un peu la condition.
➡️La préconditionnée HnprecH_n^{\text{prec}}Hnprec a une condition légèrement meilleure que
HnH_nHn, surtout pour de petites tailles.
Exercice 9 :
En résumé, les méthodes de résolution des systèmes linéaires ont des performances variées
selon la nature du problème. La méthode de Jacobi est simple mais peut être lente, surtout pour des
matrices mal conditionnées. Gauss-Seidel améliore Jacobi en mettant à jour les variables au fur et à
mesure, ce qui la rend généralement plus rapide, mais elle reste sensible à la condition de la matrice.
La méthode SOR va encore plus loin en utilisant un facteur de relaxation pour accélérer la
convergence, mais cela dépend d'un bon choix du paramètre. Le gradient conjugué est efficace pour
les systèmes bien conditionnés et les grandes matrices, tandis que l'ajout d'un préconditionneur au
gradient conjugué améliore sa convergence, en particulier pour des matrices mal conditionnées. En
conclusion, pour des systèmes complexes ou mal conditionnés, les méthodes basées sur le gradient
conjugué, en particulier avec préconditionneur, sont les plus performantes.
Exercice 10 :
Exercice 12: