Partiel de compl´ements d’analyse num´erique
Aucun document n’est autoris´e. Seule l’utilisation du logiciel scilab et de sa rubrique d’aide est autoris´ee. La dur´ee de l’examen est de 2h
Exercice 1 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab.
1) ´Ecrire un programme a =absolue(x) retournant la valeur absolue du r´eel x : a=|x|. Conform´ement `a l’´enonc´e, on n’utilisera pas la fonctionabsde scilab.
2) ´Ecrire un programmea=max(A, n) retournant la valeur du plus grand ´el´ement de la matriceAde taillen:a= maxi,jAij.
3) Combien d’op´erations doit-on faire en fonction de la taillende la matrice ? 4) ´Ecrire un programmea=max(A, n) retournant la valeur du plus grand ´el´ement de la matrice A en valeur absolue :a = maxi,j|Aij|. Penser `a utiliser la fonction d´efinie au 1.
Exercice 2 On n’utilisera pour cet exercice aucune des fonctions pr´eprogramm´ees de scilab.
1) ´Ecrire un programmeva=verif ication(A, n) qui renvoie la valeur 1 si la matrice A est triangulaire inf´erieure et 0 sinon.
2) ´Ecrire un programmex=substitution(A, y, n) qui renvoie la solution deAx=y dans le cas o`u A est triangulaire inf´erieure (attention cela n’est pas la fin de la m´ethode du pivot pour laquelleAserait triangulaire sup´erieure).
Exercice 3 On n’utilisera dans cet exercice aucune fonction pr´eprogramm´ee de scilab `a l’exception du produit matriciel typeA∗B (ou matrice vecteur).
1) ´Ecrire un programmeB =trianginf(A, n) qui retourne une matrice B ´egale `a la partir strictement triangulaire inf´erieure deA.
2) ´Ecrire un programmeD =diagonale(A, n) qui retourne une matrice D ´egale `a la diagonale de la matriceA.
3) ´Ecrire un programmeC=relax(A, n, a) utilisant les deux pr´ec´edents et retour- nant la matricea D+Bo`uDest la diagonale etBla partie strictement triangulaire inf´erieure deA.
4) ´Ecrire un programmex=etape(A, n, a, y, z) qui renvoie le vecteurx´egal `a x= (a D+B)−1y−(a D+B)−1(A−a D−B)z.
On supposera que tous les termes de la diagonale deA sont non nuls et on pourra utiliser le programme de la question 2 de l’exercice pr´ec´edent.
5) ´Ecrire un programme x=relaxation(A, n, a, y, m) calculant le vecteurxmde la suite d´efinie par r´ecurrence
x0= 0, xk+1= (a D+B)−1y−(a D+B)−1(A−a D−B)xk.
1