. . . .
De Newton à Ruby, en passant par Monte-Carlo
J.-M. Desbonnez & P. Tilleuil
CSM Mouscron
Congrès SBPMef, Mons 2015
De quoi s’agit-il ?
Informatiquement
Initiation à l’algorithmique et à un langage (léger, en terme de mise en route) de programmation.
Développe l’esprit d’analyse, desynthèse, derigueur. Cours d’informatique, option complémentaire (1h/sem).
5e et 6e Transition Générale.
Mathématiquement
Un fil conducteur pour une synthèse des résultats élémentaires concernant l’étude des fonctions.
Cours de mathématique (4-6h/sem) et Renforcement (2h/sem).
5e et 6e Transition Générale.
. . . Et à cause du réchauffement climatique, nous n’aborderons qu’une petite partie visible de l’iceberg . . .
Au menu
Algorithmique élémentaire et langage Ruby f ( x ) = 0 par la méthode de Newton, dans R f ( z ) = 0 par la méthode de Newton, dans C Les bassins d’attraction et fractals de Newton
et un peu de fractals de Mandelbrot et de Douady . . . rien que pour vos yeux
Compléments
Avant de commencer, déjà des compléments
Sur la toile, évidemment, mais aussi des articles plus détaillés, et d’autres exemples, sont (et seront) disponibles :
Losanges n°28, mars 2015,
Algorithmique élémentaire et langage Ruby, pour quelques expériences numériques Losanges n°29, juin 2015,
Algorithmique élémentaire et Ruby, une intégrale définie . . . par hasard Losanges n°30, septembre 2015, (si le comité de lecture accepte l’article)
Algorithmique élémentaire et Ruby, le hasard est probablement bien organisé Losanges n°31, décembre 2015, (si le comité de lecture accepte l’article)
Algorithmique élémentaire et Ruby, les tableaux
Losanges n°32, mars 2016,(si le comité de lecture accepte l’article)
Algorithmique élémentaire et Ruby, complexes et fractals Surwww.jm-desbonnez.be(rubrique «info» puis «ruby») vous trouverez, entre autres, cette présentation.
Algorithmique et langage Ruby Organisation du travail
Algorithmique et Ruby
L’algorithme est au calcul comme la recette est au plat bienvenue à top chefs !
calcul
« complexe »
algorithmique
ÐÐÐÐÐÐÐ→
(papier)
instructions élémentaires
ÐÐÐÐÐÐÐÐÐ→
traduction Ruby algorithme (fichier exécutable)
Pourquoi Ruby ?
Langage « orienté objet », moderne, puissant, et . . .gratuit.
Facile à mettre en oeuvre, et multi-plateformes (Mac, Linux, Windows)
(sur Mac, il fait partie de l’OS est donc déjà installé).
Bases faciles à apprendre, et donc très vite opérationnel.
Donc, pourquoi pas ?
Algorithmique et langage Ruby Installation de Ruby et démarrage
Installer Ruby sur l’ordinateur
MacOsX
Cool, c’est déjà fait, Ruby est natif à MacOsX.
Windows
Téléchargement depuis http ://rubyinstaller.org Choisir version Ruby 2.0.0 (la dernière, fin juin 2015).
Exécuter le fichierrubyinstaller . . . .exe qui a été téléchargé.
CocherAdd Ruby executables to your PATH
etAssociate .rb and .rbw files with this Ruby installation.
Prier.
Ruby est « transparent » pour l’utilisateur, et travaille en arrière-plan lorsqu’on lui confie des instructions. Comme LATEX, pour ceux qui connaissent.
On peut utiliser Ruby soit en modeinteractif (une calculatrice, entre autres) soit en mode éditeur.
Algorithmique et langage Ruby Installation de Ruby et démarrage
Ruby en mode interactif (via la console de commandes)
MacOsX
Exécuter l’applicationTerminal.appdepuis /Applications/Utilitaires Au message d’invite, taper l’instructionirbpuis Enter
L’environnement est très spartiate, pas de souris, pas d’icône, pas de clic, . . .
que du texte !
Windows
Exécuter l’applicationCmd.exedepuis C :\Windows\System32 Au message d’invite, taper l’instructionirbpuis Enter
Algorithmique et langage Ruby Installation de Ruby et démarrage
Les calculs, puisqu’on est là pour eux . . .
Calculatrice de base + − ∗ / ∗∗ % demo
Calculatrice scientifique (extrait du catalogue) Math.sqrt(x) Math∷E Math.sin(x) Math∷PI
Math.cos(x) rand réel aléatoire dans [0,1[
Math.tan(x) rand(a) entier aléatoire dans [0,a] Math.exp(x) rand(a..b) entier aléatoire dans [a,b] Math.log(x) x.abs
Math.log10(x)
Il est indispensable de respecter la casse.
x enradians pour les fonctions trigonométriques.
Algorithmique et langage Ruby Installation de Ruby et démarrage
Ruby en mode éditeur (via un éditeur de textes)
Un éditeur est un traitement de textes spécialisé dans l’écriture de lignes d’instructions.
La plupart gratuits (Scite,Jedit, . . . ,TextWranglersur lesMacs des cyber-classes).
Le fichier algorithme (la liste des instructions)DOIT être enregistré avec l’extension.rb (comme d’habitude, dans un dossier, afin de garder un minimum d’ordre . . .).
Pour la démo, on essaiera de ne pas l’oublier,
Certains éditeurs, dontScite etTextWranglerpermettent d’exécuter l’algorithme actif directement depuis la fenêtre de l’éditeur ; c’est un luxe très appréciable.
Toute l’algorithmique en 5 mots seulement
affectation lecture écriture alternative répétitive
Algorithmique et langage Ruby Algorithmique, dans le vif du sujet
Algorithmique élémentaire, le kit de survie pour la suite
L’écriture
C’est l’affichage à l’écran d’un résultat, d’un calcul, . . . En algorithmique, on écritécrire résultat
En Ruby, on écritputs resultat L’affectation
C’est la mémorisation d’une donnée (nombre, texte) ou du résultat d’un calcul En algorithmique, on écritvariable ← donnée
En Ruby, on écritvariable = donnée (l’égalité booléenne se traduit par ==) Exemples
compteur = 0(mettre 0 dans la mémoire nomméecompteur)
hasard = rand(générer un nbre aléatoire dans[0,1[et le mettre dans la variablehasard) angle =2*Math∷PI/3(mettre dansanglele nombre 2π
3)
compteur = compteur + 1(incrémentercompteur de 1 unité) démo
Algorithmique et langage Ruby Algorithmique, dans le vif du sujet
Algorithmique élémentaire, le kit de survie pour la suite
L’alternative simple
C’est une structure de prise de décision.
Algorithmique et Ruby : Si condition
instructions cas vrai (sinon
instructions cas faux) fin
if condition
instructions cas vrai (else
instructions cas faux) end
condition⇔
expression booléenne (peut ne pas exister)
Exemple
if rand < 0.5
compteur_pile = compteur_pile+1 else
compteur_face = compteur_face+1 end
démo
Algorithmique et langage Ruby Algorithmique, dans le vif du sujet
Algorithmique élémentaire, le kit de survie pour la suite
Une répétitive à test d’arrêt initial
C’est une structure permettant d’exécuter plusieurs fois une ou plusieurs instructions.
Une répétitiveDOIT s’arrêter ! Algorithmique et Ruby :
Tant que condition instruction(s) fin
while condition instruction(s) end
La condition est d’abord évaluée.
Arrêt lorsqu’elle devient fausse.
Exemple
a=1 ; b=1 ; puts a ; puts b while a+b < 200
som = a+b puts som
a = b ; b = som end
Suite de Fibonacci jusqu’à 200 exclu.
Caractère ; pour séparer 2 instructions sur la même ligne (gain de place, au détriment de la lisibilité – avis personnel).
démo: fibonacci.rb
Algorithmique et langage Ruby Algorithmique, dans le vif du sujet
Algorithmique élémentaire, le kit de survie pour la suite
Deux autres, une question de goût
A test d’arrêt initial, mais condition contraire (à la précédente).
Jusqu’à ce que condition instruction(s)
fin
until condition instruction(s) end
A test d’arrêt final.
Répéter
instruction(s) Tant que condition
begin
instruction(s) end while condition
Algorithmique et langage Ruby Algorithmique, dans le vif du sujet
Algorithmique élémentaire, le kit de survie pour la suite
Une répétitive automatique
Le nombre d’itérations est déterminé à l’avance, au moyen d’uncompteur (entier).
On fixe sa valeur initiale et sa valeur finale ; l’incrémentation du compteur est 1.
Arrêt lorsquecompteur >fin Pour compteur de debut à fin
instruction(s) fin
for k in debut..fin instruction(s) end
Exemple :
fact = 1 for k in 1..50
fact = fact*k end
puts fact
Calcul de 50 !démo: factorielle.rb
Newton
Résolution de l’équation f(x)=0 – algorithme de Newton
f(x)
a0
T0 a1 T1
a2 r
Newton
Résolution de l’équation f(x)=0 – algorithme de Newton
f(x)
a0 T0
a1 T1
a2 r
d’où par récurrence an+1=an− f(an)
f′(an) avecf′(an) ≠0
On supposef(x) de classeC1.
Soitr une solution de l’équationf(x) =0 (appeléeracine ou zéro).
Soita0 une valeur approchée der et T0 la tangente àf(x)au point(a0,f(a0)).
T0≡y =f(a0) +f′(a0) ⋅ (x −a0)
Sif′(a0) ≠0(T0 ∦OX), soita1=T0∩OX. 0=f(a0) +f′(a0) ⋅ (a1−a0) a1=a0− f(a0)
f′(a0)
Et on recommence avecT1 la tangente à f(x) au point(a1,f(a1)), . . .
La suitea0,a1,a2, . . . ,an, . . . converge, sauf exception, versr.
Newton
Résolution de l’équation f(x)=0 – manque de bol
C’est la faute à pas de chance . . .
f(x) =x3−2x+2
0 1
T1
T0 1.5 T1.5
an+2=an (le cycle infernal)
r a0
T0
a1
T1 f(x)
f′(a) =0
Newton
0 1
T1
T0 1.5 T1.5
an+2=an (le cycle infernal)
f(x) =x3−2x+2
si a0=0, alors a1=1 eta2=0, puis a3=1 . . .
si a0=1, alors a1=0 puis a2 =1. . . si a0=1.5, alors a1 =1 eta2 =0, puis a3=1 . . .
problèmes d’arrondis aussi aveca0
« proche de » ces 3 valeurs démo: newton-exception1.rb
Newton
Résolution de l’équation f(x)=0 – sans dérivée
Un « inconvénient » de la méthode de Newton est la connaissance nécessaire de la dérivée de la fonctionf.
On peut toutefois remplacer le calcul de f′(an)par une valeur approchée issue de la définition du nombre dérivé
f′(an) ≈ f(an+h) −f(an) h
avech proche de 0, par exemple h=10−15 La formule de récurrence devient alors
an+1=an− h⋅f(an) f(an+h) −f(an)
Newton
Résolution de l’équation f(x)=0 – un exemple
Algorithme et Ruby
Il faut d’abord définir les fonctions f etf′;
pour l’exemple, f(x) =3x+sinx−ex etf′(x) =3+cosx −ex. def f(t)
return 3*t+Math.sin(t)-Math.exp(t) end
def df(t)
return 3+Math.cos(t)-Math.exp(t) end
On choisit ensuite une première valeur approchéea, la précisionsouhaitée pour le calcul de f(a), et on peut initialiserc un compteur d’itérations.
a ←2 (par exemple) precision ←0,000...1 c ←0
a = 2 # (par exemple) precision = 10**(-15) c = 0
On arrêtera le calcul de la valeur asuivante lorsque∣f(a)∣ <precision, ou lorsquef′(a) =0, (ou lorsque an+2=an ou . . .).
Newton
Résolution de l’équation f(x)=0 – algorithme et Ruby
Si on ne tient pas compte de cas de non convergence (cycliques), l’algorithme de calcul est assez simple :
tant que |f(a)|>precision et df(a)≠0 a←a−f(a)/df(a)
c←c+1 écrire c écrire a fin
Si df(a) = 0 écrire "erreur !"
fin
while f(a).abs>precision and df(a) !=0 a=a−f(a)/df(a)
c=c+1 puts c puts a end
if df(a)==0 puts "erreur !"
end
démo: newton1.rb — il y a une racine dans [0,1
2] et une autre dans[3 2,2]
Newton
Résolution de l’équation f(x)=0 – un peu plus compliqué
Si on tient compte du cas de non convergencean+2=an, l’algorithme se complique un peu ; il faut mémoriser 2 valeurs dea consécutives dans la répétitive :
tant que |f(a)|>precision et df(a)≠0 an←a
a←a−f(a)/df(a) c←c+1
écrire c ; écrire a
si |f(a)|>precision et df(a)≠0 a←a−f(a)/df(a)
c←c+1
écrire c ; écrire a si a = an
écrire "erreur divergence"
sortie boucle fin
fin fin
Si df(a) = 0 ; écrire "erreur" ; fin
while f(a).abs>precision and df(a) !=0 an = a
a = a−f(a)/df(a) c = c+1
puts c ; puts a
if f(a).abs>precision and df(a) !=0 a = a−f(a)/df(a)
c = c+1 puts c ; puts a if a == an
puts "erreur divergence"
break end end end
if df(a) == 0 ; puts "erreur" ; end
Newton
Bassin d’attraction
f(x) =x2−k (k>0) — dans R
f(x) a deux racines réelles bien connues,√
k et−√
k, et une dérivée bien connue aussi, f′(x) =2x.
En appliquant la formule de récurrence de Newtonan+1=an− f(an) f′(an), on a an+1=an−an2−k
2an = 1
2(an+ k
an). En particulier sik=2, on retrouve la formule de l’algorithme de Héron d’Alexandrie pour calculer une valeur approchée de√
2.
En choisissant initialementa0>0, la suite tend vers√
k, tandis que poura0<0, la suite tend vers−√
k. 1
2(an+ k an) = 1
2(a2n+k
an )a en effet toujours le signe de an (puisque a2n+k >0).
R− est lebassin d’attraction de−√
k tandis queR+ est lebassin d’attraction de√ k.
Newton
Bassin d’attraction
Algorithme et Ruby
L’algorithme convergeant très vite, 5 itérations suffisent ici pour se faire une idée.
Voici l’algorithme pour estimer√
25 (excusez du peu . . .) k ←25 # choix de k
a ←2 # valeur initiale
pour c de 1 à 5 # nbre d’itérations a← 12(a+ka)
écrire c écrire a fin
k = 25 a = 2
for c in 1 .. 5
a = 0.5*(a+k/a) puts c
puts a end démo: newton2.rb
essayer aussi un nombre négatif poura.
Newton
Héron d’Alexandrie : et le rectangle devint carré !
Construction d’un carré de côté √
2, et donc d’aire=2 Etape 1 : rectangle de côtés 1 et 2
Etape 2 :
un côté devient moyenne arithmétique des deux : 1
2(1+2) = 3 2 =1.5 l’autre = 2
côté= 2
3 2
= 4
3 =1.3333. . . Etape 3 :
un côté devient moyenne arithmétique des deux : 1 2(3
2+4 3) =17
12 =1.41666. . . l’autre = 2
côté= 2
17 12
=24
17 =1.41176470588. . . Etape 4 :
un côté devient moyenne arithmétique des deux : 1 2(17
12+24 17) =577
408 =1.41421568627. . . l’autre = 2
côté= 2
577 408
=816
577 =1.41421143847. . . et ainsi de suite . . .
Où va-t-on maintenant ?
Au point de vue mathématique
Comprendreglobalementla méthode de Newton pour les fonctions polynômiales dans des cas simples.
C’est-à-dire décrire lecomportementdes termes de la suite xn+1=xn− p(xn)
p′(xn)
lorsque p(x) est un polynôme de degréN =2 (ou 3) à cœfficients réels
(. . . mais qui peut avoir des racines complexes).
Où va-t-on maintenant ?
Au point de vue méthodologique
Une illustration de presquetousles points du programme de 5ème et 6ème (Maths 6 périodes ou 4 périodes par semaine).
Ð→Après le « Cantique des Cantiques » : la « Synthèse des Synthèses » !
. . . Avec une insistance tout particulière sur l’approche expérimentale dans le cadre de la résolution de problèmes !
Une expérience de travail dans un cours de « Ren- forcement en mathématiques (+2 périodes par se- maine) en 5ème, pendant le troisième trimestre de l’année scolaire 2014-2015.
Généralités Une première question
Une première question
On veut résoudre
p(x) =0 où p(x) est une fonction polynômiale de degréN.
En particulier, elle est partout définie.
Algorithme de Newton
⎧⎪⎪⎪⎨⎪⎪
⎪⎩
x1 ∶ arbitraire . . . ? xn+1 ∶ =xn− p(xn)
p′(xn)
La première question est : comment choisir x1? De manière équivalente : y a t-il moyen de mal choisir x1?
Par exemple, il est clair qu’ilfaut s’arranger pour quep′(x1) ≠0.
Généralités La convergence est quadratique, mais locale
Quand on s’y prend bien, tout va bien
Si le pointx1 est choisi assez proche de la racine à atteindre ( !), tout va bien. . .
On utilise le théorème des accroissements finis, ou de Lagrange : p(x) =p(a) + (x−a) ⋅p′(a) +(x−a)2
2 ⋅p′′(a+θ⋅ (x−a)) (0<θ<1) Six=r est une racine dep(x)eta=xn en est une approximationà la Newton:
0=p(r) =p(xn) + (r−xn) ⋅p′(xn) +(r−xn)2
2 ⋅p′′(xn+θ⋅ (r−xn)) ou
(xn−r) ⋅p′(xn) −p(xn) =(r−xn)2
2 ⋅p′′(xn+θ⋅ (r−xn)) Donc, tant quep′(xn) ≠0 :
xn−r− p(xn)
p′(xn) =(r−xn)2
2⋅p′(xn)⋅p′′(xn+θ⋅ (r−xn))
Généralités La convergence est quadratique, mais locale
ou
∣xn+1−r∣ =1
2⋅ ∣xn−r∣2⋅ ∣p′′(xn+θ⋅ (r−xn)) p′(xn) ∣
Sur un intervalle centré enr, commep(x)est un polynôme, il existeM>0 tel que :∣p′′(x)∣ <M. Et si, sur un tel intervalle, la méthode ne diverge pas, c’est-à-dire sip′(x) ≠0, il existe aussiε>0 tel que∣p′(x)∣ >ε, d’où
∣ 1 p′(x)∣ <1
ε.
La dernière égalité devient, sur un tel intervalle, l’inégalité :
∣xn+1−r∣ <1
2⋅ ∣xn−r∣2⋅M
ε (1)
Si on choisit alors un intervalle centré enret de rayonδ>0 tel que∣xn−r∣ ⋅M
ε <1, c’est-à-dire si on choisit δ>0 tel que
0<δ< ε M on aura :
∣xn+1−r∣ <1
2⋅ ∣xn−r∣ (2)
L’inégalité (2) implique la convergence, et l’inégalité (1) explique son caractère quadratique.
N.B.: ces propriétés peuvent être établies indépendamment du fait que la fonctionp(x)soit polynômiale.
Généralités La fonction de Newton
La fonction à comprendre
Lafonction de Newton est cette fonction
Φ(x) ∶=x− p(x) p′(x) quifabrique les termes de la suite(xn)n∈N à étudier.
Elle est un peu plus compliquée à utiliser — ce n’est plus un polynôme ! — mais elle est bien plus intéressante, . . . et efficace.
Il y a tout un travail de traduction à faire, pour passer des propriétés du polynôme p(x) à celles de la fonction de NewtonΦ(x).
Généralités Deux propriétés de la fonction de Newton
Deux propriétés de la fonction de Newton de p ( x )
Φ(x) ∶=x− p(x) p′(x)
Propriété 1. Les points fixes de l’une sont les racines de l’autre
x =Φ(x) ⇐⇒p(x) =0
Propriété 2. La dérivée (une fois factorisée . . . ) est trop belle !
Φ′(x) =1−(p′(x))2−p(x) ⋅p′′(x)
(p′(x))2 = p(x) ⋅p′′(x) (p′(x))2
N.B.: ici aussi, ces propriétés sont indépendantes du fait que la fonctionp(x)est polynômiale.
Généralités La convergence de la méthode à partir de sa fonction
La fonction de Newton décrit (aussi) la convergence de la méthode
On utilise (encore) le théorème des accroissements finis, ou de Lagrange : Φ(x) −Φ(a) = (x −a) ⋅Φ′(a+θ⋅ (x −a)) (0<θ<1) Si x =r est une racine de p(x) :
Φ′(x) = p(x) ⋅p′′(x)
(p′(x))2 ⇒Φ′(r) =0
Généralités La convergence de la méthode à partir de sa fonction
PuisqueΦ′(r) =0, dès qu’on choisit un nombre 0<C <1, il existe doncδ>0 tel que, quel que soit x ∈ ]r−δ;r+δ[, on ait
0⩽ ∣Φ′(x)∣ <C c’est-à-dire :
∣Φ(x) −Φ(r)∣ <C⋅ ∣x−r∣
Si x =xn, on a Φ(xn) =xn+1, etr est un point fixe de la fonction de Newton, d’où :
∣xn+1−r∣ <C ⋅ ∣xn−r∣ La conclusion s’ensuit, puisque 0<C <1.
N.B.: encore une fois, cette preuve est essentiellement indépendante du fait que la fonctionp(x)soit polynômiale.
Généralités Tous au bassin !
Le bassin d’attraction d’une racine de p ( x )
Si le point initialx1 est choisi assez proche d’une racine, il n’y a donc pas trop de souci(s) à se faire. Mais si ce point est pris . . . au hasard ?
Définition. Lebassin d’attraction d’une racine r du polynôme p(x) est l’ensemble des points initiaux pour lesquels la méthode de Newton converge vers r :
B(r) ∶= {x ∈R∣nlim
→+∞Φn(x) =r}
On abrègeΦ○Φ○ ⋯ ○Φ
´¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¸¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¶
ntermes
(x)enΦ○n(x)ouΦn(x).
Les calculs sous Ruby ont déjà montré que le bassin d’attraction d’une racine d’un polynôme du second degré est « sa bonne moitié deR». Allons-y voir !
Les polynômes (réels) du second degré Le cas de deux racines (réelles) distinctes
I. Le cas de deux racines (réelles) distinctes
Un exemple On considère
p(x) ∶=x2−x−2 dont les racines sont évidemmentx = −1 etx = +2.
La fonction de Newton correspondante est donnée par : Φ(x) ∶=x−x2−x−2
2x−1 = 2x2−x−x2+x+2
2x−1 = x2+2 2x−1
Sans surprise, l’asymptote verticale du graphique de la fonction de Newton correspond à l’axe de symétrie de la paraboley =x2−x−2.
Le graphique de la fonction de Newton possède une asymptote oblique (très utile) d’équation y =1
2x+1 4.
Les polynômes (réels) du second degré Le cas de deux racines (réelles) distinctes
2 1 2
−1 O 1 2
2
1 2
−1
O
y=x
y= 1 2x+
1 4
Le polynômep(x) ∶=x2−x−2 et la fonction de NewtonΦ(x) ∶= x2+2
2x−1 correspondante.
Les polynômes (réels) du second degré Le cas de deux racines (réelles) distinctes
Quelques conséquences des propriétés de la fonction de Newton
Le graphique de Φ(x) possède deux branches, et il est impossible de passer de l’une à l’autre.
Il n’y a aucun élément de la suite desxn qui visite l’intervalle]−1;+2[sauf peut-être x1. Six1∈ ]2;→[, alors xn↘ +2.
Six1∈ ]1
2;2[, alorsx2 ∈ ]2;→[et xn↘ +2 dès quen>2. Donc B(+2) = ]1
2;→[
Pareillement :B(−1) = ]←;1 2[.
Bien sûr, on peut obtenir les mêmes résultats en raisonnant directement sur le graphique dep(x). Par contre, en utilisant l’asymptote oblique au graphique deΦ(x), on obtient facilement, pourr= −1 ou+2 :
∀n⩾2∶ ∣xn+1−r∣ <1 2⋅ ∣xn−r∣
Les polynômes (réels) du second degré Le cas de deux racines (réelles) distinctes
Il n’y a qu’à changer les nombres en lettres pour tirer de cet exemple la démonstration d’un résultat général.
THEOREME
Si un polynôme du second degré p(x) ∶=Ax2+Bx+c admet deux racines réelles distinctesr1<r2, alors
B(r1) = ]←;−B 2A[ et
B(r2) = ]−B 2A;→[
Sans surprise . . .
Les polynômes (réels) du second degré Le cas d’une racine double (réelle)
II. Le cas d’une racine double (réelle)
Allons tout de suite au cas général !
On considère donc le polynôme p(x) ∶=A⋅ (x+ B
2A)2, dont on calcule la fonction de Newton :
Φ(x) =x−
A⋅ (x+ B 2A)2 2A⋅ (x+ B
2A)=x −1
2 ⋅ (x+ B 2A) =1
2⋅ (x− B 2A)
tant que x ≠ −B
2A, bien sûr.
C’est une (bête) fonction affine ? ! ?
Oui ! Et paraboliquement parlant, ça ne devrait pas être une surprise . . .
Les polynômes (réels) du second degré Le cas d’une racine double (réelle)
Une translation de+B
2A permet de « bien placer » la parabole, de telle sorte que son équation devient :
y =A⋅x2
N.B. :une translation ne change pas la dynamique de la suite des(xn)n∈N!
La fonction de Newton correspondante est alors Φ(x) = x
2 Elle est indépendante deA!
Que signifie cette fonction ?
Elle dit que la tangente au graphique dey =A⋅x2 en un point d’abscissea(sur ce graphique) coupe l’axe des x au point d’abscisse a
2.
Les polynômes (réels) du second degré Le cas d’une racine double (réelle)
C’est une propriété connue d’une tangente à la parabole : la caractérisation « focale » d’une telle tangente implique que le quadrilatère FMMδT est un losangedont le point d’intersection des diagonales esttoujours situé sur l’axe desx.
O δ
F
M
Mδ
T
La tangente à la parabole enM est la bissectrice de l’angle FMM̂δ : c’est la caractérisation focale de la tangente à la parabole enM (F est le foyer de la parabole, et δ est sa directrice). Le « losange magique » s’en déduit.
A part cela, on retrouve pour le(s) bassin(s) d’at- traction la dichotomie de la situation avec deux racines réelles distinctes . . . si ce n’est que la ra- cine recherchée est aussi le (seul) point singulier de la fonction de Newton.
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
Un intermède : peut-on (toujours) changer de variables ?
On a utilisé une translation pour passer du polynôme p(x) =A⋅ (x+ B
2A)2 au polynôme plus simple
q(X) =A⋅X2
Jusqu’à quel point ce procédé est-il généralisable, et en particulier, qu’en est-il pour les fonctions de Newton correspondantes ?
Géométriquement, la réponse est claire ! Mais algébriquement ?
C’est un bon exercice de traduction !
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
Partant du polynôme général p(x) =Ax2+Bx+C lorsqu’on y fait le changement de variables x ∶=X− B
2A, on obtient :
p(x) =A(X− B
2A)2+B(X− B 2A) +C
=AX2−BX+B2
4A+BX−B2 2A+C
=AX2−B2−4AC 4A
=A(X2−B2−4AC 4A2 )
qui est une formule bien connue. Introduisons le nouveau polynôme q(X) ∶=X2− ∆
4A2 où ∆∶=B2−4AC est de signe quelconque.
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
La fonction de Newton pour le polynôme originel p(x) est donnée par Φp(x) ∶=x −Ax2+Bx+C
2Ax+B = Ax2−C 2Ax+B tandis que celle pour le nouveau polynômeq(x)s’écrit :
Φq(X) ∶=X −X2− ∆ 4A2
2X = X2+ ∆ 4A2 2X La suite de Newton pour le polynôme q(X) est décrite par
Xn+1= Xn2+ ∆ 4A2 2Xn
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
Si on y fait le changement de variables (inverse)X ∶=x+ B
2A, la suite précédente devient :
xn+1+ B
2A = (xn+ B
2A)2+ ∆ 4A2 2(xn+ B
2A) d’où
xn+1 =(xn+ B
2A)2+ ∆ 4A2 2(xn+ B
2A) − B
2A = ⋯ = Axn2−C 2Axn+B
En d’autres termes, on peut dire que, dynamiquement parlant, la méthode de Newton pour un polynôme du second degré est toujours équivalente à l’algorithme d’extraction de la racine carrée de Héron d’Alexandrie.
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
Le raisonnement précédent n’est pas très . . . conceptuel. Par ailleurs, il ne règle pas la question d’une transformation affinegénéralesurx.
Considérons donc la transformation affinegénérale:
x∶=αX+β oùα≠0.
Sip(x)est une fonction quelconque, on en déduit par changement de variable, une autre fonctionq(x):
p(x) =p(αX+β) =k⋅q(X) (3)
oùk≠0.
Par exemple, si p(x)est unpolynômede degré N, on peut vouloir que le nouveau polynôme q(X)soit unitaire, et on prendra alorsk∶=A⋅αN sip(x) ∶=AxN+termes de degré inférieur àN.
En dérivant membre-à-membre la relation (3) par rapport àX, on trouve : px′(αX+β) ⋅ (αX+β)′X=k⋅q′X(X) c’est-à-dire
α⋅p′x(αX+β) =k⋅q′X(X) (4)
Les polynômes (réels) du second degré Un intermède : à propos de changements de variables
Notons alors(Xn)n∈N une suite de Newton associée à la fonctionq(X)et(xn)n∈N la suite qui s’en déduit par le changement de variables en question :
xn=αXn+β
Montrons que cette suite est une suite de Newton pour la fonctionp(x). La relation (4) implique immédiatement :
α⋅px′(xn) =α⋅p′x(αXn+β) =k⋅q′X(Xn) La récurrence
Xn+1=Xn− q(Xn) q′(Xn) devient alors, avecXn= 1
αxn−β α :
1
αxn+1−β α= 1
αxn−β α−
1 k⋅p(xn)
α k ⋅p′(xn) Et on achève sans peine.
Mais revenons à nos moutons !
Les polynômes (réels) du second degré Le cas sans racines (réelles)
III. Le cas sans racines (réelles)
A première vue . . . il n’y a rien à voir !
Et paradoxalement, c’estle cas le plus intéressant, surtout si on veut s’initiersérieusementà la dynamiquede la méthode de Newton !
On veut s’entraîner sur un cas (très) simple à l’art de comprendre des comportements . . . chaotiques !
En vertu de ce qui vient d’être dit sur les changements de variables, on va se limiter à un cas typique : le polynôme
p(x) ∶=x2+1 Sa fonction de Newton est très simple
Φ(x) ∶=x−x2+1
2x = x2−1 2x
Les polynômes (réels) du second degré Le cas sans racines (réelles)
1
−1
O
y=x
y= 1 2⋅x
Φ(x) ∶=x2−1
2x est la fonction de Newton dep(x) ∶=x2+1.
Les polynômes (réels) du second degré Le cas sans racines (réelles)
La première chose qu’on peut faire, c’est comparerles propriétés de la fonction de Newton dans le cas de deux racines réelles distinctes et dans ce cas-ci.
1 2
2
1 2
−1 O
y=x
y= 1 2x+
1 4
1
−1
O
y=x
y= 1 2
⋅x
C’est vite fait : il n’y a rienqui corresponde ! En particulier : le graphique deΦ(x) possède maintenant deux branches, et rien n’est plus facile que de passer de l’une à l’autre.
Les polynômes (réels) du second degré Le cas sans racines (réelles)
Ceci dit, on peut essayer de répondre à deux questions.
QUESTION 1.(La divergence en « temps » fini)
Déterminer (toutes) les valeurs du terme initialx1≠0 d’une suite de Newton telles qu’une des valeurs ultérieuresxn soit nulle, et qu’on bascule ainsihors du domaine de la fonction de Newton.
La tangente enxn est alors horizontale . . .
Y a t-il beaucoup de tels « mauvais » points initiaux ?
En particulier, quelle serait éventuellement l’adhérence de l’ensemble de tous ces
« mauvais » points initiaux ?
On peut remarquer que cette question ne se pose (quasiment) pas dans le cas où il y a des racines réelles.
Les polynômes (réels) du second degré Le cas sans racines (réelles)
La seconde question est un peu plus générale.
QUESTION 2.(La dynamique d’une suite de Newton)
Décrire (qualitativement) le type de trajectoire desxn en fonction du terme initial x1≠0.
Par exemple, y a t-il des trajectoirespériodiques, ou en cycles? Comme autre exemple, si on définit pour touti ∈N:
ε(xi) =⎧⎪⎪
⎨⎪⎪⎩
+1 sixi ∈ ]0;→[
−1 sixi ∈ ]←;0[
comment pourrait-on décrire a priori la suite des « positions » ε(xi)i∈N à partir du seulchoix du terme initial x1≠0 ?
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
La divergence en temps fini
Déterminons d’abord des valeurs du terme initialx1telles quex2oux3=0.
Voici quelques « mauvais » choix de x1.
Pour l’essentiel, il s’agit de déterminer les coordonnées des points de contact des tangentes à la paraboleissues d’un point extérieur à celle-ci.
O
√ 2−1
1
√ 2+1 4+2√
2
2
4−2√ 2
−
√ 2+1
−1
−
√ 2−1
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Il faut systématiser les choses !
En fait, il s’agit de « faire marche-arrière », et de calculerx en fonction dey dans la relation y =x2−1
2x (=Φ(x))
c’est-à-dire de déterminer la fonction réciproquede la fonction de Newton en question.
En résolvant l’équationx2−2x⋅y−1=0, on trouve les deux fonctions réciproques, à savoir : Ψ+ ∶ R → ]0;→[
y ↦ Ψ+(y) ∶= y+√ 1+y2 et
Ψ− ∶ R → ]←;0[
y ↦ Ψ−(y) ∶= y−√ 1+y2
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Ces fonctions réciproques permettent en effet de construire le début d’un « arbre » des
« mauvais » choix.
0
+1
−1
1+
√ 2
1−
√ 2
−1−
√ 2
−1+
√ 2
1+
√ 2+
√ 4+2
√ 2
1+
√ 2−
√ 4+2
√ 2
1−
√ 2+
√ 4−2
√ 2
1−
√ 2−
√ 4−2
√ 2
⋯
⋯
⋯
⋯
⋯
⋯
⋯
⋯
−1−
√ 2+
√ 4+2
√ 2
−1−
√ 2+
√ 4+2
√ 2
−1+
√ 2−
√ 4−2
√ 2
−1+
√ 2+
√ 4−2
√ 2
⋯
⋯
⋯
⋯
⋯
⋯
⋯
⋯
On y voit plus clair : . . . ça va être compliqué !
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Un peu de trigonométrie, pour changer
Décompliquons l’arbre ! Cette fonction de Newton
Φ(x) = x2−1 2x n’a t-elle pas un petit parfum . . . trigonométrique ? On sait que
tan 2ω= 2⋅tanω 1−tan2ω Dès lors :
Φ(tanω) = tan2ω−1
2⋅tanω = − 1
tan 2ω =tan(π
2 +2ω) (5)
Ainsi — à peu de choses près — l’application de Newton agit essentiellement en doublant un angle! ? !
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Il faut réaliser cela proprement.
D’abord, pour ne pas être ennuyé avec les multiples de π, on pose x ∶=tanπ
2 ⋅T (6)
La formule précédente devient alors : Φ(tan(π
2 ⋅T)) =tan(π 2 +2⋅π
2 ⋅T) =tan(π
2 ⋅ (1+2T))
On a violemment envie de croire que, sous le changement de variables en question, la fonction de Newton se réduit alors à la fonction affineγ(T) ∶=2T +1, où le doublement de l’angle est explicite . . . et le « à peu de choses près » devient «+1 ».
Prudence !
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
D’abord, pour que l’éventuel changement de variablesx ∶=tanπ
2 ⋅T soit un honnête changement de variables (en particulier inversible), il faut se restreindre à
T ∈ ]−1;+1[
. . . Et malheureusement, ce n’est pas parce queT ∈ ]−1;+1[qu’on peut en déduire que 2T+1∈ ]−1;+1[.
Ensuite — et heureusement ! — il y aune autre manière d’exprimer− 1
tan 2ω comme une tangente, à savoir
− 1
tan 2ω =tan(−π 2 +2ω) Avec cette version-là, on obtient
Φ(tan(π
2 ⋅T)) =tan(−π 2 +2⋅π
2 ⋅T) =tan(π
2 ⋅ (−1+2T))
Ce n’est pas une surprise : la fonction de Newton, traduite en angles, devait aussi avoirdeuxbranches !
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Résumons-nous !
On a donc défini des applications de changement de variables : f ∶ R → ]−1;+1[
x ↦ f(x) ∶= 2
π ⋅Arctanx
g ∶ ]−1;+1[ → R
T ↦ g(T) ∶= tanπ 2 ⋅T Ce sont des applications croissantes.
Ce sont même desdifféomorphismes, réciproques l’un de l’autre, et commef(0) =0 etg(0) =0, leurs restrictions ]←;0[ ∪ ]0;→[ ⇌ ]−1;0[ ∪ ]0;+1[
sont encore des difféomorphismes !
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
On définit alors la « traduction angulaire » de la fonction de Newton par φ ∶ ]−1;0[ ∪ ]0;+1[ → ]−1;+1[
T ↦ φ(T) ∶= {2T+1 siT ∈ ]−1;0[
2T−1 siT ∈ ]0;+1[
On dispose ainsi d’un dictionnaire parfait — et simplificateur ! — entre la fonction de Newton et son expression angulaire :
1
−1 O
y=Φ(x) f
ÐÐÐÐÐÐÐÐÐ→
←ÐÐÐÐÐÐÐÐÐg
−1 +1
+1
− 1 2
1 2
−1 O
○
○
○
○ t=φ(T)
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Les fonctions réciproques de la fonction de Newton — les fabricantes de racines carrées ! — correspondent, dans notre dictionnaire angulaire, aux fonctions réciproques de la fonctionφ. Elles sont, bien sûr, beaucoup plus simples !
Plus précisément,
A ∶ ]−1;+1[ → ]0;+1[
T ↦ A(t) ∶= t+1 2 est la traduction de la fonction réciproqueΨ+(y) =y +√
1+y2, tandis que B ∶ ]−1;+1[ → ]−1;0[
T ↦ B(t) ∶= t−1 2 est la traduction de la fonction réciproqueΨ−(y) =y −√
1+y2.
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Le diagramme ci-dessous résume toutes les constructions du dictionnaire.
x ∈ R∖ {0}
y ∈ R
Φ Ψ− Ψ+
ÐÐÐÐÐÐÐÐÐ→fg
←ÐÐÐÐÐÐÐÐÐ
ÐÐÐÐÐÐÐÐÐ→fg
←ÐÐÐÐÐÐÐÐÐ
]−1;0[ ∪ ]0;+1[ ∋T
]−1;+1[ ∋t
B φ A
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Le retour à la divergence en temps fini
L’arbre des « mauvais choix » — c’est-à-dire la liste des termes initiaux de suites de Newton qui s’achèvent en 0 — peut maintenant être traduit, et même fabriqué, de la manière suivante :
A
B
A
B
B A
A B
A B
A B
A B 0
+ 1 2
− 1 2
+ 3 4
− 1 4
− 3 4 +
1 4
+ 7 8
− 1 8
+ 3 8
− 5 8
⋯
⋯
⋯
⋯
⋯
⋯
⋯
⋯
− 7 8 +
1 8
− 3 8 +
5 8
⋯
⋯
⋯
⋯
⋯
⋯
⋯
⋯
Les polynômes (réels) du second degré Le cas sans racines (réelles) : la divergence en temps fini
Notons DFΦ l’ensemble des termes initiaux de suites de Newton qui aboutissent en 0 (après un nombre finid’application de la méthode du même Newton pour le polynôme p(x) =x2+1.
Pour la méthode de Newton, c’est exactement l’ensemble des termes initiaux qui divergent en temps fini.
L’arbre précédent suggère alors un résultat . . . surprenant.
THEOREME
L’ensembleDFΦ des éléments qui divergent en temps fini estpartout dense dansR