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 :
Lagrange
, analogue à la fonction
Newton
, mais utilisant la nouvelle formule.
Lagrange
est
à la fois plus lente et plus instable numériquement
que Newton
.
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
.