# Numerical solution of rough and stochastic PDEs by regression techniques

Given a $d$-dimensional $\alpha $-Hölder continuous geometric rough path $$, $\frac{1}{3}<\alpha \le \frac{1}{2}$, we aim to solve an equation of the form$$\begin{array}{r}-dX=L(X)dt+\sum _{k=1}^{d}{\mathrm{\Gamma}}_{k}(X)d{\mathbf{W}}^{k},\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}X(T,\cdot )=g,\end{array}$$where we define $$\begin{array}{r}Lf(\zeta ):=\frac{1}{2}tr(\sigma (\zeta )\sigma (\zeta {)}^{T}{D}^{2}f(\zeta ))+\u27e8b(\zeta ),Df(\zeta )\u27e9+c(\zeta )f(\zeta ),\end{array}$$ $$\begin{array}{r}{\mathrm{\Gamma}}_{k}f(\zeta ):=\u27e8{\beta}_{k}(\zeta ),Df(\zeta )\u27e9+{\gamma}_{k}(\zeta )f(\zeta )\end{array}$$

for a suitable test function $f:{\mathbb{R}}^{n}\to \mathbb{R}$. Moreover, let all above functions be of suitable dimension and "smooth enough''.

In the following, this kind of rough partial differential equation is solved numerically for a particular case. We set $c,{\gamma}_{k}\equiv 0$, the noise/space dimension $\mathrm{d,\; n}=2$, the terminal time $T=1$ and the terminal value $g(\zeta )=\mathrm{exp}\left\{-\frac{1}{2}{\Vert \zeta \Vert}^{2}\right\}$. We insert linear expressions for $\sigma ,b,{\beta}_{1},{\beta}_{2}$ and obtain $$\begin{array}{rl}-dX(t,\zeta )=& \phantom{\rule{thickmathspace}{0ex}}[\frac{1}{2}(C\zeta {)}^{T}{D}^{2}X(t,\zeta )C\zeta +(A\zeta {)}^{T}DX(t,\zeta )]dt+({N}_{1}\zeta {)}^{T}DX(t,\zeta )d{\mathbf{W}}_{t}^{1}+({N}_{2}\zeta {)}^{T}DX(t,\zeta )d{\mathbf{W}}_{t}^{2},\\ X(1,\zeta )=& \phantom{\rule{thickmathspace}{0ex}}g(\zeta )=\mathrm{exp}\left\{-\frac{1}{2}{\Vert \zeta \Vert}^{2}\right\},\end{array}$$ where $A,C,{N}_{1},{N}_{2}$ are commuting $2\times 2$ matrices and $W$ is a path of a two-dimensional fractional Brownian motion with Hurst index $H=0.4$ which looks as follows

Using Feynman-Kac's formular, the above problem can be reduced to an ordinary rough differential equation since $$X(t,\zeta )=\mathbb{E}g({x}_{1}^{t,\zeta}),$$ where for $t\le r\le 1$ the process ${x}_{\cdot}^{t,\zeta}$ solves the following hybrid Stratonovich-rough differential equation: $$d{x}_{r}=(A-\frac{1}{2}{C}^{2}){x}_{r}dt+C{x}_{r}\circ d{B}_{r}+{N}_{1}{x}_{r}d{\mathbf{W}}_{r}^{1}+{N}_{2}{x}_{r}d{\mathbf{W}}_{r}^{2},\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}{x}_{t}=\zeta ,\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}(1)$$ where $B$ is a standard Brownian motion. Equation (1) is well-defined as a rough differential equation driven by the joint rough of $B$ and $W$.

The Feynman-Kac formular only leads to a point-wise solution of a rough partial differential equation. Therefore, we use a regression ansatz in the spatial component: $$X(t,\cdot )\approx \stackrel{~}{X}(t,\cdot ):=\sum _{k=1}^{K}{\kappa}_{k}(t){\psi}_{k}(\cdot ).$$ The procedure can be visualized (for one fixed $t$) as follows:

where the dots corrspond to solutions of the rough differential equation for different initial values and noise, and the and the surface corresonds to the estimated solution of the rough PDE.

We need to discretise (1) with an Euler scheme in time in order to determine the optimal coefficients ${\kappa}_{1},\dots ,{\kappa}_{K}$ for $\stackrel{~}{X}$. Moreover, we sample the initial condition in (1) to have a computational efficient procedure. By doing so, we compute the regression solution on the domain $[0,1{]}^{2}$ for ${10}^{6}$ samples, a step size of ${2}^{-9}$ in the Euler scheme and $K=36$ basis functions. The regression solution is given in the following video.

In the above video the forward movement of $\stackrel{~}{X}$ can be seen, i.e., if the movie is stop at a certain point, the resulting picture shows the plot of the function $\stackrel{~}{X}(t,\cdot ):[0,1{]}^{2}\to \mathbb{R}$ for a fixed time $t\in [0,1]$. The x- and the y-axis represent the components ${\zeta}_{1}$ and ${\zeta}_{2}$, respectively, of the spatial variable $\zeta =({\zeta}_{1},{\zeta}_{2})\in [0,1{]}^{2}$.