patrick-kidger / patrick-kidger/diffrax

SDE - share computation common to drift and diffusion terms

Open
#455 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
Python
Stars
2.1k
Forks
189
Avg merge
3d 18h
Merged PRs (30d)
1

Description

Hi,

Thanks for the great library!

I'm solving a SDE of the form: $$d\mathbf{X}(t) = (\mathbf{u}(t, \mathbf{X}(t)) + (\nabla \cdot \mathbf{K})(t, \mathbf{X}(t)))dt + \mathbf{V}(t, \mathbf{X}(t)) \cdot d\mathbf{W}(t)$$ where $\mathbf{X}$ is the position vector, $\mathbf{u}$ the velocity vector field, $\mathbf{K}$ is the diffusivity tensor field and $\mathbf{K}=\frac{1}{2} \mathbf{V} \cdot \mathbf{V}^T$.

As you can see, both the drift and diffusion terms depend on the diffusivity tensor field $\mathbf{K}$. In pratice, I'm computing it from the velocity field $\mathbf{u}$.
Is there a way to avoid precomputing $\mathbf{K}$ across the entire domain and instead compute it locally (ie. using only a small neighborhood arount $\mathbf{X}(t)$ ) at each integration step, without having to recompute it separately for both the drift and diffusion terms?

Vadim

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named. Start by tracing how drift and diffusion terms are evaluated for stochastic differential equations, then determine the API and validation needed to share locally computed diffusivity data without precomputing the full domain.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.