-1 cm 23cm @percent16.5cm 10pt 0pt

UGA 2022 Mat406

1  TP de prise en main

Nous utiliserons Xcas, sur les PC du DLST il se lance à partir de l’icone Xcas du bureau ou directement depuis un navigateur (par exemple Firefox)
https://www-fourier.univ-grenoble-alpes.fr/~parisse/xcasfr.html
Vous pouvez aussi l’installer si vous disposez de votre propre PC ou Mac, cf.
www-fourier.ujf-grenoble.fr/~parisse/install_fr.

Si vous n’avez jamais utilisé Xcas auparavant, commencez par parcourir le tutoriel, celui-ci est accessible depuis le menu Aide, Debuter en calcul formel. Lisez au moins jusqu’au paragraphe 2.4 (vous pouvez sauter le paragraphe 2.2 sur les chaines de caractère), puis faites les exercices du TP de prise en main. Pour trouver les noms de commandes, regardez d’abord dans le menu Outils, puis Cmds si vous ne trouvez pas dans le menu Outils, ou dans le menu Graphe qui fournit des assistants pour les représentations graphiques.

Pour sauvegarder une session, avec Xcas PC, utilisez le menu Fich, avec Xcas web, vous pouvez vous envoyer un email contenant un lien qui sauvegarde votre session, cliquez sur l’icone d’enveloppe en haut.

Les TP qui suivent ce TP de prise en main demandent souvent d’écrire des petits programmes, pour cela utilisez le menu Prg nouveau programme de Xcas PC ou tapez directement votre programme en ligne de commande avec Xcas web (taper shift-entrée pour passer à la ligne). Si vous voulez utiliser la syntaxe compatible avec Python, dans Xcas PC vérifiez que python apparait dans la ligne d’état, sinon cliquez sur cette ligne et modifiez, dans Xcas web validez en cliquant sur le bouton cyan Cas. Pour plus de détails sur la programmtion, vous pouvez consulter le paragraphe 6 du tutoriel.

  1. Écrire le polynôme (x+3)7 × (x−5)6 selon les puissances décroissantes de x.
  2. Simplifier les expressions suivantes:
       
    3+2
    2
    ,    
    1+
    2
    1+2
    2
    ,    eiπ/6,    4atan(
    1
    5
    )−atan(
    1
    239
  3. Factoriser :
    x8−3x7−25x6+99x5+60x4−756x3+1328x2−960x+256 
    x6−2x3+1,    (−y+x)z2xy2+x2y 
  4. Calculez les intégrales et simplifiez le résultat:
    1
    ex−1
      dx,   
    1
    xln(x)
     ln(ln(x)) dx,    ex2  dx,    xsin(x)ex  dx 
    Vérifiez en dérivant les expressions obtenues.
  5. Déterminer la valeur de:
    2


    1
    1
    (1+x2)3
    ,     
    2


    1
     
    1
    x3+1
      dx 
  6. Calculer les sommes suivantes
    N
    k=1
     k
    N
    k=1
     k2
    k=1
    1
    k2
  7. Développer sin(3x), linéariser l’expression obtenue et vérifier qu’on retrouve l’expression initiale.
  8. Calculer le développement de Taylor en x=0 à l’ordre 4 de:
    ln(1+x+x2),  
    exp(sin(x))−1
    x+x2
     ,    
    1+ex
    ,   
    ln(1+x)
    exp(x)−sin(x)
     
  9. Trouver les entiers n tels que le reste de la division euclidienne de 123 n par 256 soit 17.
  10. Déterminer la liste des diviseurs de 45768.
    Factoriser 100!
  11. Résoudre le système linéaire:




     x+y+az=1
     x+a y+z=
     ax+y+z=
  12. Déterminer l’inverse de la matrice :
    A=



     111a 
     11a
     1a1
     a111




2  TP1: Suites récurrentes

On souhaite étudier des suites récurrentes (un) définies par un+1=f(un) et u0, où f est une fonction de dans , par exemple f(x)=√2+x.


Exercice 1

  1. En utilisant le tableur de Xcas (menu Tableur), représenter les premiers termes de la suite un+1=√2+un avec u0=0.1 ou u0=1/10 (menu Math->suite récurrente du tableur).
  2. Calculer ensuite en mode exact et approché les 10 premiers termes de la suite : vous pouvez définir la cellule A1 par =sqrt(2+A0), puis déplacer la souris vers la partie situé en bas à droite de la cellule A1 (le curseur souris change de forme), puis appuyer sur le bouton de la souris et relâcher à la fin de la zone où vous voulez copier la formule définissant A1.
  3. Quels sont les avantages et inconvénients d’utiliser une valeur initiale exacte ou approchée?


La feuille de calcul précédente donne une idée de la convergence de la suite, mais ne donne aucune information quantitative sur la vitesse de convergence. Au lieu de calculer un nombre fixé de termes de la suite, on va écrire un programme avec un test d’arrêt selon la valeur |un+1un| comparé à un nombre positif (petit) ε fixé à l’avance. Pour éviter que le programme ne boucle indéfiniment lorsque la suite ne converge pas (ou converge trop lentement pour la machine), on fixe aussi un nombre maximal d’itération N.


Exercice 2
Écrire un programme iter prenant en argument la fonction f, la valeur de u0, de N et de ε, et qui s’arrête dès que l’une des conditions suivantes est satisfaite :

Dans le premier cas le programme renverra la valeur de un+1, dans le second cas une séquence composée de uN et de N.
Tester votre programme avec f(x)=√2+x et f(x)=x2.


On suppose que la fonction f satisfait aux hypothèses du théorème du point fixe. On notera k<1 la constante de contractance. On peut alors trouver un encadrement de la limite l de la suite (un) en fonction de un, un−1 et k.


Exercice 3
Écrire un programme iter_k prenant en argument la fonction f, la valeur de u0, la constante k et l’écart toléré ε, et qui s’arrête dès que | unl | ≤ ε.

Vérifier les hypothèses du théorème du point fixe pour f(x)=2cos(x/3) sur [0,2] et expliciter une constante de contractance k. Déterminer une valeur approchée de la limite de (un) à 1e-3 près en utilisant la fonction iter_k.


La convergence de ces suites est en général linéaire, le nombre de décimales exactes augmente de la même valeur à chaque itération. Par contre lorsqu’on est prêt d’une racine, la méthode de Newton permet en gros de multiplier par deux le nombre de décimales à chaque itération.


Exercice 4

  1. Donner une suite itérative obtenue par la méthode de Newton convergeant vers √7.
  2. Montrer que la fonction f ∶ ℝ+ → ℝ+ définie par
    f(x)=
    7x+7
    x+7
     
    admet √7 pour point fixe. Trouver un intervalle I contenant √7 sur lequel les hypothèses du théorème du point fixe sont satisfaites et expliciter une constante de contractance k.
  3. Comparer au tableur la vitesse de convergence des 10 premiers termes des deux suites (calculez les avec par exemple 40 chiffres significatifs et faites evalf(.,40) sur les différence entre 2 termes successifs).
  4. En utilisant la fonction iter_k, trouver un encadrement de √7 à 1e-6 près pour le point fixe. Combien d’itérations sont nécessaires ? Donner aussi un encadrement par la méthode de Newton en utilisant u4. Dans les 2 cas, on pourra prendre une valeur initiale approchée puis entière exacte pour avoir une valeur numérique approchée puis une fraction.


Dans certains cas, la fonction f n’est pas contractante, mais on peut réécrire l’équation à résoudre sous une autre forme avec une fonction contractante, par exemple en utilisant une fonction réciproque.


Exercice 5
Donner un encadrement à 1e-6 près d’une racine de l’équation tan(x)=x sur l’intervalle ]3π/2,5π/2[ en utilisant une méthode de point fixe. On observera qut tan n’est pas contractante mais que sa fonction réciproque l’est (attention à y ajuster correctement un multiple entier de π).
On peut aussi appliquer la méthode de Newton sur cet exemple.

3  TP2: Types. Calcul exact et approché. Algorithmes de bases

  1. Utiliser la commande type pour déterminer la représentation utilisée par le logiciel pour représenter une fraction, un nombre complexe, un flottant en précision machine, un flottant avec 100 décimales, la variable x, l’expression sin(x)+2, la fonction x->sin(x), une liste, une séquence, un vecteur, une matrice. Essayez d’accéder aux parties de l’objet pour les objets composites (en utilisant op par exemple).
  2. Déterminer le plus petit entier n tel que (1.0+2n)−1.0 renvoie 0 sur PC avec la précision par défaut puis avec (evalf(1,30)+2^(-n))-evalf(1,30). Même question sur votre calculatrice si vous en avez une.
  3. Calculer la valeur de a:=exp(π √163) avec 30 chiffres significatifs (evalf(.,30), puis sa partie fractionnaire (frac(.)). Proposez une commande permettant de décider si a est un entier.
  4. Déterminer la valeur et le signe de la fraction rationnelle
    F(x,y)= 
    1335
    4
     y6 + x2 (11x2 y2y6 −121y4−2) + 
    11
    2
     y8 + 
    x
    2y
    en x=77617 et y=33096 en faisant deux calculs, l’un en mode approché (F(77617.0,33096.0) ou F(evalf(77617,30),evalf(33096,30))) et l’autre en mode exact. Que pensez-vous de ces résultats? Combien de chiffres significatifs faut-il pour obtenir un résultat raisonnable en mode approché?
  5. À quelle vitesse votre logiciel multiplie-t-il des grands entiers (en fonction du nombre de chiffres)? On pourra tester le temps de calcul t(n) (time(a*(a+1))[0]) du produit de a × (a+1) pour a=10n avec n=10000,20000,40000. Comment évolue le temps de calcul lorsque le nombre de décimales double ?
  6. Comparer le temps de calcul de an (mod m ) par la fonction powmod et la méthode “prendre le reste modulo m après avoir calculé an” (vous pouvez aussi programmer la méthode rapide et la méthode lente, cf. par exemple l’article exponentation rapide de wikipedia).
  7. Programmation de la méthode de Horner
    Il s’agit d’évaluer efficacement un polynôme
    P(X) = an Xn + ... + a0 
    en un point. On pose b0=P(α ) et on écrit :
    P(X)−b0=(X−α )Q(X
    où :
    Q(X) = bn Xn−1 + ... +b2 X + b1 
    On calcule alors par ordre décroissant bn, bn−1, ..., b0.
    1. Donner bn en fonction de an puis pour in−1, bi en fonction de ai et bi+1. Indiquez le détail des calculs pour P(X)=X3−2X+5 et une valeur de α entière non nulle.
    2. Écrire un fonction horn effectuant ce calcul: on donnera en arguments le polynôme sous forme de la liste de ces coefficients (dans l’exemple [1,0,-2,5]) et la valeur de α et le programme renverra P(α ). (On pourra aussi renvoyer les coefficients de Q).
    3. En utilisant cette fonction, écrire une fonction qui calcule le développement de Taylor complet d’un polynôme en un point.

4  TP3: Séries entières

Exercice 1.

  1. Rappeler le développement de Taylor T2n+1(x) au voisinage de x=0 de f(x)=sin(x) à l’ordre 2n.
  2. Tracer sur un même graphique les graphes des fonctions f et T1, T3, T5, T7
  3. Graphiquement on voit que T7(x) approche sin(x) : sur quel intervalle cette approximation vous paraît-elle acceptable ?
  4. Donner une majoration du reste R2n+1(x) du développement de Taylor de f à l’ordre 2n+1, où f(x)=T2n+1(x)+R2n+1(x).
  5. On prend T7(x) comme valeur approchée de sin(x) pour x ∈ [−1,1].

    Donner une majoration indépendante de x de l’erreur commise.

    (A titre d’illustration, tracer la différence T7(x)−sin(x).)

  6. En déduire un encadrement de sin(1).


Exercice 2. On veut approcher cos(x) à 1e-6 près en utilisant des développements en séries entières.

  1. Déterminer le plus petit k tel que:
    T2k(x)=
    k
    j=0
     (−1)j
    x2j
    (2j)!
     
    réalise cette approximation sur [0,π/4].
  2. Écrire une fonction qui calcule une valeur approchée à 1e-6 de cos(x) sur [−π/2,π/2] en justifiant et en effectuant les étapes suivantes:
  3. Exprimer cos(xkπ) en fonction de cos(x) pour k ∈ ℤ. Dans quel intervalle se trouve xk π si k est l’entier le plus proche de x/pi (fonction round de Xcas) ? Écrire une fonction qui calcule une valeur approchée à 1e-6 de cos(x) sur [−100,100] en se ramenant au programme précédent. Afin de tester votre fonction f et éviter d’éventuelles erreurs grossières, faites afficher le graphe de f, disons sur l’intervalle [−10,10], puis le graphe de la différence f−cos où cos est la fonction déjà implémentée dans Xcas.


Exercice 3

  1. Pour x>0 exprimer arctan(−x) en fonction de arctan(x). Calculer la dérivée de arctan(x)+arctan(1/x), en déduire arctan(1/x) en fonction de arctan(x) pour x>0. En déduire que le calcul de arctan(x) sur ℝ peut se ramener au calcul de arctan(x) sur [0,1].
  2. Rappeler le développement en séries entières de arctan(x) en x=0, et son rayon de convergence. Soit α ∈ [0,1], montrer que
    α−
    α3
    3
    +
    α5
    5
     − 
    α7
    7
    ≤ arctan(α) ≤ α−
    α3
    3
    +
    α5
    5
     
    en déduire que la méthode de Newton appliquée à l’équation tan(x)−α=0 avec comme valeur initiale α−α3/3+α5/5 est une suite décroissante qui converge vers arctan(α).
  3. Déterminez par cette méthode une valeur approchée à 1e-8 près de π/4= arctan(1).
  4. On pourrait calculer π/4 avec la même précision en utilisant le développement en séries de la formule de Machin
    π
    4
     = 4 arctan(
    1
    5
    ) − arctan(
    1
    239
    Combien de termes faudrait-il calculer dans le développement des deux arctangentes?

Exercice 4

  1. Écrire le développement en séries entières au voisinage de x=0 de:
    g(x)=
    ex−1
    x
     
  2. On veut calculer une valeur approchée de
    I=
    1


    0
     g(x)  dx 
    En utilisant le développement de g, écrire I sous la forme d’une série ∑j=0vj.
  3. Soit Rn=∑j=n+1vj le reste de cette série. Donner une majoration de |Rn|.
  4. En déduire un encadrement de I faisant intervenir ∑j=0n vj. Calculer explicitement cet encadrement lorsque n=10.


Exercice 5
Cet exercice reprend les calculs de ln(x) et exp(x) discutés en cours dans l’objectif de les illustrer par vos propres expériences sur ordinateur.

  1. La série alternée sn = ∑k=1n (−1)k+1 1/k tend vers ln2, et les termes consécutifs donnent des encadrements s2m+1 < ln2 < s2m. Jusqu’à quel rang faut-il aller afin de garantir un encadrement à 10−5 près? Calculer cette approximation de ln2 avec Xcas. Même question pour 10−10. Qu’observez-vous?

    On considère ensuite la série ln2 = ∑k=02/(2k+1) 32k+1. Jusqu’à quel rang faut-il aller afin de garantir une approximation à 10−5 près? Calculer cette approximation de ln2 avec Xcas. Même question pour 10−10. Conclusion?

  2. On se propose d’approcher exp(x) = ∑k=0xk/k! pour x = −32. Avant de se lancer dans ce calcul, estimer l’ordre de grandeur de exp(−32) puis l’ordre de grandeur des plus grands termes dans la somme.

    Jusqu’à quel rang faut-il aller afin de garantir une approximation à 10−20 près? Calculer cette approximation de exp(−32) avec Xcas, d’abord en utilisant la précision standard de 53 bits, soit 16 décimales. Quel problème observez-vous? On pourra augmenter la précision des nombres flottants utilisés: quelle précision est nécessaire, environ, pour raisonnablement effectuer ce calcul?

    Est-ce que ces problèmes se posent pour l’approximation de a0 = exp(−1)? Comment en déduire une approximation de exp(−32) avec un minimum d’opérations?

Exercice 6
On reprend des idées des exercices 4 et 5 pour implémenter le calcul de la fonction sinus intégral définie par :

Si(x)=
x


0
 
sin(t)
t
  dt 
  1. Donner un développement en séries entières de la fonction Si, ainsi que le rayon de convergence, et une majoration du reste en fonction de x.
  2. Lorsque x>1, on a le problème de la série qui “commence par diverger” (comme pour l’exponentielle de l’exercice 5.2), mais sans possibilité de “réduire l’argument”. Combien de chiffres significatifs perd-on lorsqu’on calcule Si(x) par la série entière ? (En pratique, on calculera la série avec ce nombre de chiffres significatifs en plus).
  3. Lorsque x est grand, on préfère utiliser le développement asymptotique de la fonction Si. On admettra que
    +∞


    0
     
    sin(t)
    t
      dt  = 
    π
    2
    On calcule alors Si en faisant des intégrations par parties successives, en intégrant la fonction trigonométrique et en dérivant la fraction rationnelle. Les termes tout intégré donnent le développement asymptotique, et l’intégrale le reste. Par exemple, calculer le développement asymptotique à l’ordre 10 et une majoration du reste pour |x| ≥ 100. En déduire une valeur approchée de Si(100).
  4. En calculant Si(100) à l’aide du développement en séries entières, en déduire une valeur approchée de π.

5  TP4: Polynômes

Exercice 1
Donner le détail des calculs avec Bézout de la décomposition en éléments simples de :

f(x)=
1
(x2−4)(x−1)

en déduire :

Exercice 2
Factoriser sur ℚ (factor) et sur ℚ[i] (cfactor) le polynôme P(x)=x6+x4+x3+x2+x+1. Quels sont les degrés des facteurs ? Factoriser sur ℝ et sur ℂ le polynôme P en appliquant factor et cfactor à evalf(P). En regroupant les racines (commande proot) de P, retrouver la factorisation exacte de P dans ℝ et ℂ.

Exercice 3
Trouver une racine approchée du polynôme P ci-dessus en appliquant la méthode de Newton avec une valeur initiale complexe aléatoire (on ne cherchera pas à prouver la convergence sur ℂ pour laquelle on n’a pas de théorème de niveau licence 2), éliminer cette racine par division euclidienne, chercher une autre racine, etc. jusqu’à obtenir la factorisation complète de P. Comparer la valeur de P et celle obtenue en développant le produit des X−racine.
Bonus : Écrire une fonction qui cherche une racine d’un polynôme en utilisant la méthode de Newton. Ajouter un test pour être sûr que la racine du polynôme est simple. Tester avec le polynôme P ci-dessus. Bonus : modifier la fonction ci-dessus pour trouver toutes les racines (lorsqu’on trouve une racine, on divise le polynôme par X−α, et on relance la recherche de racines sur le polynôme obtenu).

Exercice 4
Écrire une fonction qui détermine les racines rationnelles d’un polynôme P à coefficients entiers (elles sont de la forme p/qq divise le coefficient dominant de P et ± p divise son coefficient de plus bas degré). Tester avec le polynôme P=12x5+10x4−6x3+11x2x−6.

Exercice 5
En utilisant les suites de Sturm, déterminer le nombre de racines du polynôme P ci-dessus sur l’intervalle [−3,0] (faites le calcul directement avec sturmab, puis en appliquant l’algorithme du cours avec les fonctions rem pour les divisions et horner pour évaluer un polynôme en un point). Même question sur ℝ tout entier.

Exercice 6
Représenter sur un même graphe cos(x) et son polynôme interpolateur de Lagrange en utilisant les 7 points d’abscisses équidistantes {0,π/6,...,π}. Donner une majoration de l’erreur entre ce polynome et la fonction cos en un réel x, représenter graphiquement cette erreur pour x ∈ [0,π]. Où l’erreur est-elle la plus grande ?

Exercice supplémentaire
Écrire un programme calculant les coefficients du polynôme d’interpolation de Lagrange par l’algorithme des différences divisées.

Exercice 7
Éliminer successivement a et b du système :





a3+b3+c3=
a2+b2+c2=
a+b+2c=4

puis trouver les racines du polynôme en c, puis calculer les valeurs de b puis a correspondantes (en cherchant les racines du PGCD des 2 puis 3 équations en b puis a après remplacement de c puis b par leurs valeurs).

6  TP5: Intégration

Exercice 1 : Calculer une valeur approchée de

1


0
 
dx
1+x

par la méthode des rectangles, du point milieu et des trapèzes en utilisant un pas de 1/10 et de 1/100 (vous pouvez utiliser les fonctions plotarea, area avec la méthode en argument, ou utiliser le tableur ou écrire un programme effectuant ce calcul avec comme arguments la fonction, la borne inférieure, la borne supérieure et le nombre de subdivision). Observez numériquement la différence entre les valeurs obtenues et la valeur exacte de l’intégrale.

Exercice 2
Calculer le polynôme interpolateur P de Lagrange de f(x)=1/1+x2 aux points d’abscisse j/4 pour j variant de 0 à 4. Donner un majorant de la différence entre P et f en un point x ∈ [0,1]. Représenter graphiquement ce majorant. Calculer une majoration de l’erreur entre l’intégrale de f et l’intégrale de P sur [0,1]. En déduire un encadrement de π/4.

Exercice 3
On reprend le calcul de ∫01 dx/1+x mais en utilisant un polynôme interpolateur de degré 4 sur chacune des N subdivisions de [0,1] (de pas h=1/N). Le premier polynôme interpolateur est donc calculé en les points 0, 1/4/N, 2/4/N, 3/4/N,1/N, le deuxième en les points 1/N,1/N+1/4/N, 1/N+2/4/N, 1/N+3/4/N,2/N, etc. Donner en fonction de N une majoration de l’erreur commise en remplaçant l’intégrale de 1/(1+x) par le polynôme interpolateur sur la première subdivision [0,1/N], puis sur les autres subdivisions, puis une majoration de l’erreur totale sur [0,1]. Déterminer une valeur de N telle que la valeur approchée de l’intégrale ainsi calculée soit proche à 10−8 près de ln(2). En déduire une valeur approchée à 10−8 de ln(2).
Même question pour ∫01 dx/1+x2 et π/4 (pour majorer la dérivée n-ième de 1/1+x2, on pourra utiliser une décomposition en éléments simples sur ℂ).

7  TP6: Algèbre linéaire

7.1  Méthode du pivot

  1. Choisissez 5 vecteurs aléatoires exacts dans ℝ3, trouvez deux relations linéaires indépendantes entre ces 5 vecteurs en calculant le noyau d’une application linéaire.
  2. Déterminez le temps mis par votre logiciel pour résoudre un système linéaire de n équations à n inconnues à coefficients aléatoires numériques puis exacts de taille n=5,10,20,40. Commentez.
  3. Soit M une matrice carrée aléatoire de taille 3 à coefficients entiers, on lui accolle à droite la matrice identité de même taille puis on applique la fonction de réduction sous forme échelonnée, soit N la partie droite de la matrice réduite. Calculez M * N. Écrire une fonction gaussinv réalisant ce calcul pour une matrice carrée M quelconque.

7.2  Réduction des endomorphismes.

  1. Polynôme caractéristique par interpolation
    Soit B une matrice carrée aléatoire de taille n=20. Calculez A=B t B puis det(A−λ I) pour λ=0,...,n puis le polynôme caractéristique de B par interpolation de Lagrange. Factorisez le polynôme en mode approché, puis comparez avec les valeurs propres numériques de A=B t B (obtenues par la fonction de calcul de valeurs propres du logiciel).
    Bonus : Écrire une fonction qui calcule le polynôme caractéristique d’une matrice par cette méthode.
  2. Polynôme caractéristique par puissances
    Soit A une matrice carrée aléatoire de taille n=5 et v un vecteur aléatoire de taille 5. Calculez la matrice dont les colonnes sont v,Av,A2v,...,A5v puis une base de son noyau. En déduire le polynôme minimal et le polynôme caractéristique de A.
  3. Écrire un programme mettant en oeuvre la méthode de la puissance. Utilisez ce programme pour trouver une valeur approchée de la valeur propre de norme maximale par la méthode de la puissance de B t BB est une matrice aléatoire.
  4. En utilisant la méthode des itérations inverses, trouvez la plus petite valeur propre de la matrice précédente.
  5. (bonus)
    Pour trouver les autres valeurs propres/vecteurs propres, on élimine la valeur propre trouvée en remplacant A par A′=A−λ1 w1 t w1. Une fois une valeur propre de A′ trouvée, on peut améliorer la précision en utilisant des itérations inverses sur la matrice A. Trouvez toutes les valeurs propres de la matrice :
    D


     9−12  
     −15−2  
     2−2−7 



  6. Couple de complexe conjugué de module maximal
    Trouver le couple de valeurs propres de plus grand module de la matrice :
    E



     −3−8−34  
     7865  
     −14−4
    7−4−5




    Faites de même pour le couple de plus petit module.

Exercice 1: factorisation numérique
On représente un polynôme par la liste de ses coefficients par ordre décroissant. Programmer une fonction calculant le polynôme dérivé d’un polynôme. Programmer la méthode de Newton pour déterminer une racine d’un polynôme en utilisant la fonction horner pour évaluer le polynôme ou sa dérivée en un point. Programmer ensuite la recherche de l’ensemble des racines en éliminant les racines trouvées au fur et à mesure.

Alternative : programmer la méthode de la puissance, pour une matrice à coefficients complexes, si la matrice est à coefficients réels avec un couple de valeurs propres conjuguées empéchant la convergence, on ajoutera une constante complexe aléatoire. Testez avec des matrices de taille assez grandes.


Exercice 2: intégration
On utilise la méthode d’intégration suivante sur une subdivision [α,β] (par interpolation en 3 points bien choisis) :

I(f)= (β−α)


4
9
 f


α+β
2



5
18
 f


α+
1−
3/5
2
(β−α)


+
5
18
f


α+
1+
3/5
2
(β−α)





Déterminer l’ordre de cette méthode, en déduire une majoration de l’erreur. Programmer cette méthode pour calculer ∫ab f(t) dt en découpant l’intervalle [a,b] en N subdivisions. Déterminer N pour que avoir une valeur approchée de l’intégrale à 1e-8 prés pour f(x)=1/(1+x2), a=0 et b=1.

Alternative : programmer la méthode de la puissance pour une matrice réelle symétrique pour avoir la plus grande valeur propre avec une précision moyenne. Utilisez alors la méthode des itérations inverses pour améliorer la précision. Testez avec des matrices de taille assez grandes.


Exercice 3: intégration
On reprend le calcul de ∫01 dx/1+x mais en utilisant un polynôme interpolateur de degré 3 sur N subdivisions de [0,1] (de pas h=1/N). Déterminer la formule d’intégration correspondante :

I(f)= (β−α) 
3
j=0
 wj f(xj)

sur une subdivision [α,β], avec x0=α, x1=(2α+β)/3, x2=(α+2β)/3, x3=β, Indication : utiliser

P:=lagrange([a,(2a+b)/3,(a+2b)/3,b],[y0,y1,y2,y3])

puis intégrer P pour x=a..b et factoriser. Calculer l’ordre de la méthode, puis une majoration de l’erreur. Déterminer une valeur de N telle que la valeur approchée de l’intégrale ainsi calculée soit proche à 10−8 près de ln(2). En déduire une valeur approchée à 10−8 de ln(2).
Même question pour ∫01 dx/1+x2 et π/4 (pour majorer la dérivée n-ième de 1/1+x2, on pourra utiliser une décomposition en éléments simples sur ℂ).

Alternative : programmer la méthode de la puissance pour une matrice réelle symétrique pour avoir la plus grande valeur propre. Eliminez la plus grande valeur propre et déterminez toutes les valeurs propres de la matrice. Testez avec des matrices de taille assez grandes.


Exercice 4: intégration
On utilise la méthode d’intégration suivante sur une subdivision [α,β] (par interpolation en 2 points bien choisis) :

I(f)= (β−α) 


1
2
 f


1+
1/3
2
α+
1−
1/3
2
β


1
2
f


1−
1/3
2
α+
1+
1/3
2
β





Déterminer l’ordre de cette méthode, en déduire une majoration de l’erreur. Programmer cette méthode pour calculer ∫ab f(t) dt en découpant l’intervalle [a,b] en N subdivisions. Déterminer N pour que avoir une valeur approchée de l’intégrale à 1e-8 prés pour f(x)=1/(1+x2), a=0 et b=1.

Alternative : Programmer le calcul du polynome caractéristique en recherchant une relation linéaire entre les vecteurs v, ..., Anv pour un vecteur v aléatoire. S’il existe plusieurs relations non proportionnelles, on essaiera de changer de vecteur v. Si c’est encore le cas, on testera si le polynôme correspondant annule la matrice. Testez avec des matrices de taille assez grandes.


Ce document a été traduit de LATEX par HEVEA