tensorflow / tensorflow/probability

Fixed step-size ODE solver

Open
#1,153 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
4.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

There currently appears to be no fixed-step size ODE solver in math.ode. Are there any plans to add one? It seems like it would be fairly easy to modify the Dormand-Prince code to do it.

The reason I'm interested in one is that I think I'm running into problems doing minimization with DormantPrince due to the changing size of the steps. The calculated gradient the final state w.r.t some driving parameters fluctuates a little with changing step size, which I think is enough to throw off the BFGS optimization. I can reduce the problem to some extent by 'encouraging' fixed-step like behaviour using the DormandPrince options, but this doesn't seem a very good solution long term.

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

Start by reading the existing math.ode Dormand-Prince implementation and its options to determine how step sizes are currently selected. Define the fixed-step solver behavior and how it should support optimization with BFGS, then verify the solver produces consistent final-state gradients across runs.

Written by the indexing model from the issue text.

Assessment

Tech stack
tensorflow
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.