Questions de cours :
On désigne par
la fonction qui à
associe
(prolongée par continuité en 0
). Le but de l'exercice
est d'en obtenir une représentation graphique sur un intervalle contenant
0
, qui puisse être agrandie par zoom au voisinage de 0
.
n
.
x=linspace(-1,1,n); y=x*sin(1/x); plot2d(x,y)
x
de valeurs allant de
à
par pas de
. Définir le vecteur
X
des inverses des valeurs de x
, puis le vecteur Y
,
produit des valeurs de
par les sinus de celles de x
.
Expliquer en quoi la commande plot2d(X,Y)
constitue une
représentation graphique satisfaisante de
, et préciser
l'intervalle de représentation.
differences_divisees
,
qui prend en entrée deux vecteurs lignes x
et y
de même taille, et qui retourne en sortie la matrice
, triangulaire inférieure dont les lignes sont les
vecteurs de différences
, complétés par des zéros.
Newton
, qui prend en entrée deux vecteurs
lignes x
et y
de même taille, et qui retourne en sortie
le polynôme
, de degré
, défini par :
Définir la fonction
Lagrange
, analogue à la fonction
Newton
, mais utilisant la nouvelle formule.
Lagrange
est
à la fois plus lente et plus instable numériquement
que Newton
.
Pour , la -ième colonne est définie à partir des précédentes :
Lt
qui prend en entrée un entier strictement
positif
et retourne en sortie la matrice L
de
taille
dont le coefficient d'ordre
est nul si
, égal à
sinon.
Lr
qui prend en entrée un entier strictement
positif
et retourne en sortie la matrice L
de
taille
dont le coefficient d'ordre
est nul si
, égal à un nombre
au hasard entre 0
et
sinon.
L=Lt(n)
et L=Lr(n)
,
calculer la matrice A
égale au produit
de L
par sa transposée, puis la norme matricielle de la
différence entre L'
et chol(A)
.
Noter le temps d'exécution de la commande chol(A)
.
Effectuez des essais pour différentes valeurs de n
et
notez vos observations.
Cholesky3
, qui prend en entrée une matrice
symétrique A
, et qui retourne en sortie la matrice triangulaire
inférieure L
, en utilisant 3 boucles emboîtées : la première
pour l'indice de colonne, la seconde pour l'indice de ligne, la troisième
pour calculer la somme définissant le numérateur de
.
chol
par Cholesky3
.
Cholesky3
en Cholesky2
et remplacer la troisième boucle par un
calcul utilisant sum
.
chol
par Cholesky2
.
Cholesky2
en Cholesky1
et remplacer la deuxième boucle par un
calcul direct de la
-ième colonne.
chol
par Cholesky1
.