Question d'Armand sur les nombres duals

Question d'Armand sur les nombres duals

بواسطة - Mottelet Stephane
عدد الردود: 2

Voici ma question :

Selon cette source : https://link.springer.com/chapter/10.1007%2F978-3-662-03729-4_1 , on définit la division entres deux duaux selon la formule suivante

x=a+\epsilon b,\quad y=a'+\epsilon b'

\displaystyle\frac{x}{y} = \frac{a}{a'} + \epsilon \frac{ba'-ab'}{a'^2}

Le problème se posant est le suivant : étant donné mon développement de Taylor ci-dessous :

 f(a+\epsilon b) = f(a)+\epsilon b f'(a)

Comment calculer f'(a) sachant que la division par un dual pur n'est pas définie ? Peut-être y'a t-il une autre formule ?

Bonne fin de semaine,

Armand Gaudillier

رداً على Mottelet Stephane

Re: Question d'Armand sur les nombres duals

بواسطة - Mottelet Stephane
Bonjour Armand,

La formule  f(a+\epsilon b) = f(a)+\epsilon b f'(a) doit s'interpréter de deux manières différentes.

Premièrement, c'est une définition qui précise comment généraliser les fonctions usuelles aux nombres duals lorsque l'on va devoir les appliquer à de tels nombres. Par exemple (le "def" au dessus du "=" précise que c'est une définition)

\cos(a+\epsilon b) \stackrel{\small\mbox{déf}}{=} \cos(a)-\epsilon b\sin(a)
\sin(a+\epsilon b) \stackrel{\small \mbox{déf}}{=} \sin(a)+\epsilon b\cos(a)

Deuxièmement, elle donne une méthode de calcul de f'(a) qui est la suivante, et qui nécessite tout au plus de faire une division mais uniquement de deux nombres réels.
Pour une fonction f donnée, en supposant que tu sois capable d'évaluer f(a+\epsilon b) à un nombre dual (ce qui sous entend que tu sais appliquer tous les opérateurs élémentaires, addition, multiplication, etc. et autres fonctions élémentaires utilisées pour son calcul) alors la partie duale du résultat (en facteur de \epsilon) est exactement b f'(a). Il suffit donc de la diviser par b, et d'ailleurs en pratique on calcule f(a+\epsilon) (donc b=1) et comme ça il n'y a pas de division à faire.

Voici un exemple : définissons la fonction f(x)=\displaystyle\frac{\sin x}{\cos x} et imaginons que nous sommes incapables de calculer sa dérivée directement. Pour pouvoir le faire avec les nombres duals nous avons besoin de savoir comment diviser et calculer un sinus et un cosinus de tels nombres (ce qui a été défini ci-dessus et dans ton message pour la division). Calculons donc f(a+\epsilon) :

f(a+\epsilon) = \displaystyle\frac{\sin(a+\epsilon)}{\cos(a+\epsilon)}
=\displaystyle\frac{\sin(a)+\epsilon \cos(a)}{\cos(a)-\epsilon \sin(a)} (j'applique la définition des fonctions sinus et cosinus pour les nombres duals)
=\displaystyle\frac{\sin a}{\cos a}+\epsilon \frac{\cos a \cos a -\sin a(-\sin a)}{(\cos a)^2} (j'applique la définition de la division des nombres duals)
=\displaystyle\frac{\sin a}{\cos a}+\epsilon \frac{1}{(\cos a)^2}

on en déduit que f'(a)=\displaystyle\frac{1}{(\cos a)^2}.

Attention, il n'est pas question d'utiliser cela pour faire des calculs "à la main", hormis pour comprendre sur un exemple simple comme c'est le cas ici. Pour mettre cela en pratique, par exemple dans Scilab, il est nécessaire de définir un nouveau type d'objet pour stocker un nombre dual, c'est à dire un couple de nombres (partie réelle, partie duale) en utilisant une mlist (help mlist) et en redéfinissant les opérateurs (+,-,*,/,^) et les fonctions élémentaires pour qu'elles s'appliquent sur ces nombres (help overloading). Tu peux en discuter avec Benjamin Roussel qui fait aussi MT94 et qui s'intéresse aux nombres duals, puis revenir vers moi si tu veux aller plus loin sur ce sujet.

S.