Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Defining noise type for vector-valued homogeneous SDE #124

Open
lostdevfound opened this issue Feb 10, 2023 · 1 comment
Open

Defining noise type for vector-valued homogeneous SDE #124

lostdevfound opened this issue Feb 10, 2023 · 1 comment

Comments

@lostdevfound
Copy link

Hello,
I would like to know what kind of noise_type one should pick for a homogeneous SDE:
$$dX(t) = A(t)X(t) + \sum_{j=1}^m B_j(t)X(t) dW_j(t),$$
where $A(t)$ and $B_j(t)$ are square matrices and $dW_j$ is a scalar increment of $m$-dimensional process $W(t)$.

@patrick-kidger
Copy link
Collaborator

This is general noise, as any component of X can affect any component of dX.

FWIW If you divide your equation by X(t), so as to obtain d log(X(t)) = A(t) d(t) + sum_j B_j(t) dW_j(t) then this would become additive noise, which then admits higher-order solvers. (And in fact in this case, the right hand side becomes independent of X, so I think you could even write down an analytical solution.)

Side note, torchsde requires that you bundle all diffusion terms together into the g method. If you find yourself wanting to use solvers that make explicit use of decomposing the noise into multiple terms -- e.g. Ninomiya-Victoir -- then consider Diffrax. At least in principle this supports using multiple independent noise terms. (Although in practice none of the built-in solvers take advantage of this, but it'd be easy enough to write a solver that does if that is important to you.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants