patrick-kidger / patrick-kidger/diffrax
SDE - share computation common to drift and diffusion terms
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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