Modification des variables d’état pour les processus stochastiques généraux
Modification des variables d’état pour les processus stochastiques généraux
par Bruno Tenorio
Ce notebook aborde le problème du changement des variables dans les équations différentielles stochastiques générales (EDS) pour les processus de Stratonovich et d’Itō. Nous utilisons deux fonctions personnalisées pour étudier des exemples clés et des applications dans la physique, en mettant en évidence la capacité d’appliquer des transformations de coordonnées nommées et d’inspecter explicitement les termes symboliques obtenus.
Fonctions du dépôt de fonctions
Fonctions du dépôt de fonctions
Il est conseillé de consulter la documentation de Wolfram Function Repository pour obtenir les détails sur la manière dont les transformations sont effectuées :
Pour les processus de Stratonovich :
In[]:=
ResourceFunction["StratonovichProcessChangeVariables"]
Out[]=
Pour les processus d’Itō :
In[]:=
ResourceFunction["ItoProcessChangeVariables"]
Out[]=
Changement de variables pour un processus de Stratonovich
Changement de variables pour un processus de Stratonovich
Exemples d’utilisation
Exemples d’utilisation
Transformation carrée
Transformation carrée
Définissez un processus de Stratonovich :
In[]:=
procX=StratonovichProcess1,σExp[-],{x,x0},t
2
x
2
x
Out[]=
StratonovichProcess,σ,x[t],{{x},{x0}},{t,0}
1
2
x[t]
-
2
x[t]
Transformation en carré du processus :
In[]:=
transformed=[procX,y,y==x^2];
Vérifiez qu’un processus est valide :
In[]:=
ProcessParameterQ[transformed]
Out[]=
True
Imprimez les termes de dérive et de diffusion transformés :
In[]:=
Print["Drift: ",transformed["Drift"],"\nDiffusion: ",transformed["Diffusion"]]
Drift: -Diffusion: -2σ
2
y[t]
-y[t]
y[t]
Transformation carrée d’un processus de Wiener
Transformation carrée d’un processus de Wiener
Commencez par un processus de Stratonovich ayant une forme de processus de Wiener :
In[]:=
proc=StratonovichProcess[{0,1},{x,x0},t]
Out[]=
StratonovichProcess[{{0},{{1}},x[t]},{{x},{x0}},{t,0}]
Transformation carrée d’un processus :
In[]:=
Out[]=
StratonovichProcess{0},3,y[t],{y},{},{t,0}
2/3
y[t]
3
x0
Mise à l’échelle temporelle
Mise à l’échelle temporelle
Commencez par un processus général avec une dérive a et une diffusion b :
In[]:=
spLinear=StratonovichProcess[{a,b},{x,x0},{t,t0}]
Out[]=
StratonovichProcess[{{a},{{b}},x[t]},{{x},{x0}},{t,t0}]
Mise à l’échelle des variables du procédé :
In[]:=
resTimeDep=spLinear,{y},y
x
t
Out[]=
StratonovichProcess,,{y[t]},{y},,{t,0}
a-y[t]
t
b
t
x0
t0
Processus à dérive nulle d’Ornstein-Uhlenbeck
Processus à dérive nulle d’Ornstein-Uhlenbeck
Définissez le processus d’OrnsteinUhlenbeck suivant :
In[]:=
ou=StratonovichProcess@OrnsteinUhlenbeckProcess[μ,σ,θ,x0]
Out[]=
StratonovichProcess[{{θ(μ-x.[t.])},{{σ}},x.[t.]},{{x.},{x0}},{t.,0}]
Considérez la transformation y = (x-μ) qui dépend du temps :
θt
ⅇ
In[]:=
transformed=ou,y,y(x.-μ);
θt.
Vérifiez que le processus est sans dérive pour cette transformation :
In[]:=
transformed["Drift"]=={0}
Out[]=
True
Transformation tangente/Cauchy
Transformation tangente/Cauchy
Commencez par un processus de Stratonovich qui a la forme d’un processus de Wiener :
In[]:=
procX=StratonovichProcess[{0,1},{x,0},t];
Effectuez la transformation :
y=Tan(x)
In[]:=
Out[]=
StratonovichProcess{0},,y[t],{{y},{0}},{t,0}
2
Sec[ArcTan[y[t]]+π]
1
Indiquez une branche de résolution pour :
0<=x<2π
In[]:=
procY=[procX,y,y==Tan[x],Assumptions->{0<=x<2π}]
Out[]=
StratonovichProcess{0},1+,y[t],{{y},{0}},{t,0}
2
y[t]
Des coordonnées cylindriques aux coordonnées sphériques
Des coordonnées cylindriques aux coordonnées sphériques
Définissez un processus en coordonnées cylindriques :
In[]:=
proc3D=StratonovichProcess[{{1/ρ,0,0},{σ/(ρ^2+z^2),0,σz}},{{ρ,ϕ,z},{ρ0,ϕ0,z0}},t]
Out[]=
StratonovichProcess,0,0,+,{0},{σz[t]},{ρ[t],ϕ[t],z[t]},{{ρ,ϕ,z},{ρ0,ϕ0,z0}},{t,0}
1
ρ[t]
σ
2
z[t]
2
ρ[t]
Effectuez une transformation en coordonnées sphériques en utilisant la notation avec des noms longs :
In[]:=
Out[]=
StratonovichProcess,,0,σr[t]+,σCos[θ.[t]]-Sin[θ.[t]],{0},{r[t],θ.[t],φ[t]},{r,θ.,φ},+,ArcTan[z0,ρ0],ϕ0,{t,0}
1
r[t]
Cot[θ.[t]]
2
r[t]
2
Cos[θ.[t]]
σSin[θ.[t]]
2
r[t]
1
3
r[t]
2
z0
2
ρ0
Applications dans la physique
Applications dans la physique
Mouvement de piégeage stochastique en 2D
Mouvement de piégeage stochastique en 2D
Définissez un processus stochastique représentant un piège d’oscillateur harmonique (incluant un effet magnétique) en coordonnées cartésiennes :
Flux cellulaire avec diffusion
Flux cellulaire avec diffusion
Tracé du courant de dérive u-v transformé :
Exemples d’utilisation
Exemples d’utilisation
Transformation logarithmique d’un processus de mouvement brownien géométrique
Transformation logarithmique d’un processus de mouvement brownien géométrique
Transformation exponentielle
Transformation exponentielle
Décalage de la moyenne d’un processus d’Ornstein-Uhlenbeck
Décalage de la moyenne d’un processus d’Ornstein-Uhlenbeck
Utilisation de TransformedProcess :
Coordonnées polaires
Coordonnées polaires
Transformation dépendante du temps
Transformation dépendante du temps
Changement de variable par la tangente hyperbolique
Changement de variable par la tangente hyperbolique
Transformation cosinus
Transformation cosinus
Applications dans la physique
Applications dans la physique
Oscillateur harmonique avec bruit
Oscillateur harmonique avec bruit
Diffusion de l’état quantique
Diffusion de l’état quantique
CITER CE NOTEBOOK
CITER CE NOTEBOOK