Introduction au calcul scientifique Licence 2ème année - PC

Introduction au calcul scientifique
Licence 2ème année - PC/SPI
Travaux Pratiques, séance 3
Systèmes linéaires
Exercice 1. La méthode du pivot de Gauss pour des systèmes simples.
a) Écrire un programme C qui initialise deux constantes n et m à respectivement
3 et 4 avec la directive #def ine, et un tableau matrice de taille n×m contenant
des nombre de type double. Ce tableau sera défini en variable globale, c’est-àdire avant la fonction main.
b) Dans la fonction main, initialiser le tableau pour qu’il contienne la matrice
augmentée du système


 x + y + z = 4,
2x + y + 3z = 9,


x − y + 2z = 3.
c) Écrire une fonction void af f iche() qui affiche le tableau matrice. Tester cette
fonction pour vérifier qu’elle fonctionne correctement.
d) Écrire une fonction void ajoute(double a, int l1, int l2) qui ajoute a fois la
ligne l1 du tableau matrice à la ligne l2. Tester votre fonction en soustrayant
2 fois la première ligne à la deuxième et en affichant le tableau résultant.
e) Écrire une fonction void multiplie(double a, int l) qui multiplie toute la ligne
l du tableau par a. Tester votre fonction en divisant la deuxième ligne à par 2
et en affichant le tableau résultant.
f) En utilisant les fonctions précédentes, programmez dans la fonction main la
méthode du pivot de Gauss, en supposant que le i-ème pivot est toujours au
croisement de la ligne i et de la colonne i, et qu’aucun échange de ligne n’est
nécessaire. Utilisez votre programme pour résoudre le système ci-dessus.
g) Modifiez votre programme afin que le tableau matrice soit initialisé avec la
1
matrice augmentée du système modifié suivant :


 x + y + z = 4,
2x + y + 3z = 9,


x
+ 2z = 5.
Votre programme permet-il de résoudre ce système ? Pourquoi ?
Exercice 2. Modifiez votre programme pour qu’il puisse résoudre n’importe quel
système linéaire. Votre programme affichera en sortie la matrice obtenue par la
méthode du pivot de Gauss.
2