Nous souhaitons créer des sons, et nous commençons par les signaux les plus simples que sont les sinusoïdes de fréquence `omega`. Et nous n'allons pas introduire la fonction sinus directement mais l'équation différentielle qui l'engendre. Car c'est cette équation qui est la cause la plus simple du signal, et qui en constitue son intéligibilité en quelque sorte. Un signal sinusoïdale `U"←"(t)` de fréquence `omega` obéit à l'équation locale suivante :
`(d^2U)/(dt^2) = -omega^2 U`
On utilise la notation de Landau, le petit o et le grand O, et la notation de Hardy, la relation "négligeable" `"≺"` et "dominé par l'ordre de" `"≼"`, pour comparer asymptotiquement des fonctions de `t` lorsque `t` tend vers zéro. Notez que les fonctions ne sont pas toujours comparables asymptotiquement. Etant donnés deux fonctions `U"←"(t)` et `V"←"(t)`. On dit que `U` est négligeable devant `V` ce qui se note `U "≺" V` si et seulement si `U"/"V` tend vers zéro, lorsque `t` tend vers zéro. Et on dit que `U` est dominée par l'ordre de `V` ce qui se note `U "≼" V` si et seulement si il existe un entier `n` tel que `|U"/"V|` tend vers un ensemble de valeurs toutes inférieures à `n`, lorsque `t` tend vers zéro.
`U "≺" V <=> U"="o(V)`
`U "≼" V <=> U"="O(V)`
Le terme `o(V)` désigne l'ensemble des fontions de `t` négligeables devant `V` lorsque `t` tend vers zéro. Et le terme `O(V)` désigne l'ensemble des fontions de `t` dominées par l'ordre de `V` lorsque `t` tend vers zéro, c'est à dire qu'il existe un entier `n` tel que la fonction tend vers un ensemble de valeurs toutes inférieures à `nV`.
`U"="o(V)` signifie que `U` égale zéro à un élément près appartenant à `o(V)`, et donc cela signifie que `U "∈" o(V) `. De même avec le grand O. Etant données trois fonctions de `t` notés `F,G,H "←"(t)`, l'expression suivante `F"="G"+"o(H)` signifie que l'écard entre `F` et `G` est négligeable devant `H` lorsque `t` tend vers zéro. L'expression suivante `F"="G"+"O(H)` signifie que l'écard entre `F` et `G` est dominé par l'ordre de `H` lorsque `t` tend vers zéro, c'est à dire qu'il existe un entier `n` tel que l'écart `|F-G|` tend vers un ensemble de valeurs inférieures à `nH`.
L'hypothèse que `U"←"(t)` est une fonction analytique partout définie à pour conséquence que `U` se développe en une série de Taylors convergente :
`U(t"+"dt) = U + U^((1))dt + U^((2)) (dt^2)/2 + U^((3))(dt^3)/(3!) + ... +U^((n))(dt^n)/(n!) + o(dt^n)`
`U(t"+"dt) = sum_(k=0)^n U^((k))(dt^k)/(k!) + o(dt^n)`
Où par convention `U^((0)) "=" U` et `0!"="1`. Notez que la série est valable pour toute valeur de `|dt|<1`.
Considérons l'exponentielle définie par sa série :
`e^x = 1 + x+ (x^2)/2+ (x^3)/(3!) + ... `
L'exponentielle possède comme propriété d'être égale à sa dérivée. Son développement de taylors est le suivant :
`e^(t+dt) = e^t + e^t dt+e^t (dt^2)/2 + e^t (dt^3)/(3!) + ...`
`e^(t+dt) = e^t( 1 + dt+ (dt^2)/2+ (dt^3)/(3!) + ... )`
`e^(t+dt) = e^t e^dt`
Les nombres hyperréels `"*"RR` constituent un corps totalement ordonné contenant un infini `omega` et formant un espace métrique complet.
On reprend les notation de Landau et de Hardy que l'on applique à prèsent aux nombres hyperréels. Etant donnés deux nombres hyperreél `x,y`. On dit que `x` est négligeable devant `y` ce qui se note `x"≺"y` si et seulement si `x"/"y` est un infiniment petit. Et on dit que `x` est dominé par l'ordre de `y` ce qui se note `x"≼" y` si et seulement si il existe un entier `n` tel que `|x"/"y|` est inférieures à `n`. De même `x"≺" y` `<=>` `x "="o(y)` et `x"≼"y` `<=>` `x "="O(y)`. Le terme `o(y)` désigne l'ensemble des valeurs hyperréels négligeable devant `y`, c'est à dire infiniment petie devant `y`. Et le terme `O(y)` désigne l'ensemble des valeurs hyperréels dominés par l'ordre de `y`, c'est à dire inférieurs à un multiple entier de `y`.
`U"="o(V)` signifie que `U` égale zéro à un élément près appartenant à `o(V)`, et donc cela signifie que `U "∈" o(V) `. De même avec le grand O. Etant données trois valeurs hyperréels `x,y,z`. L'expression suivante `x"="y"+"o(z)` signifie que l'écard entre `x` et `y` est négligeable devant `z` c'est à dire infiniment petit devant `z`. L'expression suivante `x"="y"+"O(z)` signifie que l'écard entre `x` et `y` est dominé par l'ordre de `z`, c'est à qu'il existe un entier `n` tel que l'écart `|x"-"y|` est inférieurs à `nz`.
Etant donné une variable `U` fonction de `t`, ce qui se note par le neurone suivant :
`U"←"(t)`
L'opérateur de différentialisation `d` appliqué à la fonction `U` va produire l'élément différentiel `dU` qui se définit formellement comme une fonction de `(t,dt)`, linéaire selon son argument `dt`, ce qui se note :
`dU"←"(t)"∝"dt`
On utilise un autre opérateur de différentialisation `bbd` indépendant de l'opérateur `d` pour définir une dérivée indépendante de l'opérateur `d`. L'élément différentiel se définit alors formellement comme suit :
`dU = (bb(d)U)/(bb(d)t) dt`
Cela signifie que `dU` est définissable à l'ordre arbitrairement petit de `bb(d)` :
`dU = (U(t"+"bb(d)t)-U)/(bb(d)t) dt + o(bb(d)t)`
`dU = (U(t"+"dt)-U)/(dt) dt + o(dt)`
`dU = U(t"+"dt)-U + o(dt)`
L'opérateur de dérivé `d/dt` appliqué à la fonction `U` produit la dérivée de `U` notée `U' = U^((1))` :
`d/dt U = (dU)/dt = (bb(d)U)/(bb(d)t)`
Et
Etant donné une variable `U` fonction de (x_1,x_2)`, ce qui se note par le neurone suivant :
`U"←"(x_1,x_2)`
Et qui se met sous forme vectorielle :
`vec x = [(x_1),(x_2)]`
`U"←"(vec x)`
L'opérateur de différentialisation `d` appliqué à la fonction `U` va produire l'élément différentiel `dU` qui se définit formellement comme une fonction de `(vec x, d vec x)`, linéaire selon l'argument `d vec x`, ce qui se note :
`dU"←"(x_1,x_2)"∝"(dx_1,dx_2)`
`dU"←"(vec x)"∝"d vec x`
On utilise l'opérateur de dérivée partielle `deld/delt`, qui est également indépendant de l'opérateur `d`, pour définir les dérivées partielles indépendament de l'opérateur `d`. L'élément différentiel se définit alors formellement comme suit :
`dU = [(del U)/(delx), (delU)/(del y)] [(dx_1),(dx_2)]`
`dU = U' dvecx`
`U' = [(del U)/(delx), (delU)/(del y)]`
On en déduit la définition de `d^2U=d(dU)`
`d^2U=(dU)'dt = (U'dt)' dt = (U''dt +U'(dt)')^2`
On en déduit la définition de `d^3U=d^2(dU)`
`d^3U=(dU)''dt + (dU)'(dt)' = (U'dt)'' dt +(U'dt)'(dt)' = U''dt +U'(dt)'
7) L'élément différentiel
Autrement dit, il se définit à l'ordre arbitraire d'`epsilon` comme suit :
`dU = (U(t"+"epsilon)-U)/epsilon dt + o(epsilon)`
On en déduit la définition de `d^2U=d(dU)` à l'ordre arbitraire d'`epsilon` :
`d^2U = (dU)'dt + o(epsilon)`
`dU = (U(t"+"epsilon)-U)/epsilon dt + o(epsilon)`
`d^2U = (dU(t"+"epsilon)-dU)/epsilon dt + o(epsilon)`
`d^2U = (U(t"+"2epsilon)-2U(t"+"epsilon)+U)/epsilon dt + o(epsilon)`
---- 1 janvier 2021 ----
On note l'opérateur de dérivée comme suit :
`d/dt U = U'`
On définit 3 opérations sur les opérateurs ; l'addition notée `"+"` , la multiplication notée `"×"`, et la composition notée par absence de symbole :
`(d/dt+d/dt) U = d/dt U + d/dt U = 2 d/dt U = 2U'`
`(d/dt "×" d/dt) U = (d/dt U)(d/dt U) = (d/dt U)^2 = U'^2`
`(d/dt d/dt) U = (d/dt)^2 U = d^2/dt^2 U = U''`
L'opérateur `d"/"dt` peut se composer avec lui-même plusieurs fois :
`(d/dt)^n U = d^n/dt^n U = U^((n))`
L'exponentielle de cet opérateur définit un nouvel opérateur, `e^(d/dt)` :
`e^(d/dt) = 1 + d/dt + 1/2 d^2/dt^2+ 1/(3!) d^3/dt^3 + ... = sum_(k=0)^oo 1/(k!)(d^k)/(dt^k)`
Où par convention `d^0"/"dt^0 "=id"`, l'opérateur identité. On constate alors que :
`e^(dt d/dt) U = sum_(k=0)^oo dt^k/(k!)(d^k)/(dt^k) U = sum_(k=0)^oo dt^k/(k!) U^((k)) = U(t"+"dt)`
Ainsi l'opérateur `e^(a d/dx)` est appelé un opérateur de translation, puisque, appliqué à une fonction `x"↦" f(x)`, il produit la fonction translatée `x"↦" f(x"+"a)` :
`e^(a d/dx) f(x)= f(x"+"a)`
---- 26 décembre 2020 ----
À partir de l'opérateur de translation, on définit l'opérateur de dilatation :
Ainsi l'opérateur `e^((b-1)xd/dx)` est appelé un opérateur de dilatation, puisque appliqué à une fonction `f(x)`, il produit la fonction dilatée `f(bx)` :`U(bt) = U(t"+"(b"-"1)t) = e^((b-1)td/dt) U`
`e^((b-1)xd/dt) f(t)= f(bx)`
On remarque que cet opérateur se décompose :
`e^((b-1)x d/dx) = `e^(bx d/dx) e(-x d/dx)
On définie l'algèbre `Omega` des fonctions analytiques appliquées à `t`. Cette algèbre est munie de l'addition et de la multiplication habituelle : `AA(f,g) "∈" Omega^2,`
`f"+"g = t"↦"(f(t)"+"g(t))`
`fg = t"↦"(f(t)g(t))`
Notez les priorités syntaxiques de la plus forte à la plus faible : `"∘","↦","∗","+","="` où le symbole de composition `f"∘"x` désigne un appel de fontion `f(x)`, et où le symbole de multiplication se note par absence de symbole par simple juxtaposition `f"∗"g = fg`.
Les éléments de `Omega` sont appelés des fonctions ou des variables. Et lorsqu'une tel variable est nommée, par exemple par `f`, celle-ci est alors pré-déclaré par le neurone `f"←"(t)` qui associe à la variable `f` une forme d'appel `f(".")` et un argument par défaut `t`. Ainsi l'expression `f` a deux significations : En tant que fonction (ou variable) il désigne `t"↦"f(t)`, et en tant que réel il désigne `f(t)`, et nous pouvons écrire :
En tant que fonction En tant que réel `f = t"↦"f(t)`
`g = t"↦"g(t)`
`f"+"g = t"↦"(f(t)"+"g(t))`
`fg = t"↦"f(t)g(t)``f = f(t)`
`g = g(t)`
`f"+"g = f(t)"+"g(t)`
`fg = f(t)g(t)`
On plonge canoniquement `RR` dans `Omega` comme suit : On associe à chaque réel `x`, la fonction constante `t"↦"x`.
On note l'opérateur de dérivée comme suit :
`d/dt f = f'`
C'est un opérateur linéaire : `AA(f,g) "∈" Omega^2, AA alpha "∈" RR, `
`d/dt (f + g) = d/dt f + d/dt g`
`d/dt (alpha f) = alpha d/dt f`
On définit l'ensemble `ccO` des opérateurs linéaires. Et par convention, on note sous forme de produit, par absence de symbole, `Af`, l'application d'un opérateur `A` sur une variable `f`, produisant la variable `A(f)`. Ainsi nous avons : `AA A"∈"ccO, AA(f,g) "∈" Omega^2, AA alpha "∈" RR, `
`A(f+g) = Af+Ag`
`A(alphaf) = alphaAf`
On plonge canoniquement `Omega` dans `ccO` comme suit : On associe à chaque fonction `f`, l'opérateur `h"↦"fh`. Ainsi l'expression `f` a trois significations : En tant qu'opérateur il désigne `h"↦"fh`, et en tant que fonction (ou variable) il désigne `t"↦"f(t)`, et en tant que réel il désigne `f(t)`, et nous pouvons écrire :
En tant qu'opérateur En tant que fonction En tant que réel `f = h"↦"fh`
`g = h"↦"gh`
`f"+"g = h"↦"(f"+"g)h`
`fg = h"↦"fgh`
`f = t"↦"f(t)`
`g = t"↦"g(t)`
`f"+"g = t"↦"(f(t)"+"g(t))`
`fg = t"↦"f(t)g(t)`
`Af = t"↦"A(f)(t)``f = f(t)`
`g = g(t)`
`f"+"g = f(t)"+"g(t)`
`fg = f(t)g(t)`
`Af = A(f)(t)`
Pour que le produit dans `ccO` corresponde bien à la composition, on redéfinie l'action de l'opérateur, `A`, comme suit
`Af =h"↦"A(fh)`
Faisant que :
`A = h"↦"A(h)`
`B = h"↦"B(h)`
`Af = h"↦"A(fh)`
`fA = h"↦"fA(h)`
`A+f =h"↦"A(h)+fh`
`A+B =h"↦"A(h)+B(h)`
`AB = h"↦"A(B(h))`
Et nous avons bien :
`fg = h"↦"fgh = (h"↦"fh) ∘ (h"↦"gh)`
`Af = h"↦"A(fh) = (h"↦"A(h)) ∘ (h"↦"fh)`
`AB = h"↦"A(B(h)) = (h"↦"A(h)) ∘ (h"↦"B(h))`
On munie `ccO` de l'addition habituelle. Et on le munie de la composition que l'on met à la place de la multiplication habituelle : `AA(A,B) "∈" ccO^2, AA f "∈"Omega `
`A = h"↦"Ah`
`B = h"↦"Bh`
`A+B = h"↦"(Ah+Bh)`
`AB = h"↦"(AhBh)`
Ainsi, dans `ccO`, l'addition et le produit sont internes, et nous avons :
`(A+B)f = Af+Bf`
`(AB)f = ABf`
Dans l'expression `ABf` la composition est associative mais non commutative. Exemple :
`fA = h "↦"fAh`
`Af = h "↦"A(fh)`
Dans le premiers cas, `h` est transformé par `A` puis multiplié par `f`. Dans le second cas `h` est multiplié par `f` puis le résultat est transformé par `A`.
---- 27 décembre 2020 ----
On résoud l'équation différentiel de façon approchée, au pas par pas, et par une approximation polynomiale. Et on ne recherche que les solutions analytiques. Autrement dit, on considère `U` comme une fonction analytique de `t`, c'est à dire indéfiniment dérivable et de série de Taylors convergente en tout point.
On discrétise l'évolution en prenant une succession d'instants `t_0, t_1, t_2,...,t_n` ou ce qui revient au même une succession de pas de temps delta. Et l'intervalle de temps utilisé dans chaque pas peut arbitrairement varier ce que l'on note par le neurone `delta"←"(t)` :
`t_0 = t`
`t_1 = t_0+delta(t_0)`
`t_2 = t_1 +delta(t_1)`
`t_3 = t_2 +delta(t_2)`
...
`t_(n+1) = t_n + delta(t_n)`
Puis, pour simplifier l'écriture de notre problème, on part de l'instant `t_0"="0`.
On fait une approximation polynomiale de degré 2. Cela signifie que l'on fait passer une parabole sur les trois points successif `U`, `U(:tau_1:)`, `U(:tau_2:)`. Puis on calcul les coefficients polynomiaux correspondant `a,b,c`. Ce sont les coefficient du polynôme `a tau^2"+"btau"+"c` qui passe par ces trois points. :
(1) `c = U`
(2) `a(tau_1)^2"+"btau_1"+"c = U(tau_1)`
(3) `a(tau_2)^2"+"btau_2"+"c = U(tau_2)`
---- 26 décembre 2020 ----
En soustrayant de l'équation (3), deux fois l'équation (2), on obtient :
`2atau^2"-"U = U(t"+"2delta) - 2U(t"+"delta)`
`a= (U(t"+"2delta) - 2U(t"+"delta) +U)/(2delta^2)`
En soustrayant de l'équation (3), quatre fois l'équation (2), on obtient :
`-2bdelta - 3U = U(t"+"2delta) - 4U(t"+"delta)`
`b = (- U(t"+"2delta) + 4U(t"+"delta) - 3U)/(2delta)`
Le signal se recalcul en fonction de ce polynôme :
`U(t) = at^2"+"bt"+"c`
`dU/dt = 2at+b`
`(d^2U)/(dt^2) = 2a`
On constate alors un écart
`dU ≃ U(t"+"delta)-U`
`d^2U ≃ dU-dU(t"-"delta)`
`≃ U(t"+"delta)-U - (U-U(t"-"delta))`
`≃ U(t"+"delta)+U(t"-"delta)-2U`