SciML / SciML/JumpProcesses.jl

handling extinction for SSAs that use a running and updating sum_rate

Open
#148 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
150
Forks
41
Avg merge
1d 9h
Merged PRs (30d)
28

Description

RSSA, RSSACR, DirectCR and SortingDirect all encounter the problem of the rates actually being zero but the current sum of the rates being a bit bigger than zero due to floating point errors in the running sum. This led to crashes for the first three when trying to sample the next reaction in a spatial A+B -> 0 system (SortingDirect ends up just sampling the last reaction, but this shouldn't matter since no further reaction should occur).

I'll put in a PR with a fix, but this is worth investigating more to make sure the fix doesn't hurt performance, and isn't missing any further cases.

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

Locate the RSSA, RSSACR, DirectCR, and SortingDirect implementations and reproduce the spatial A+B -> 0 case described in the issue. Check how each handles a running sum that remains slightly positive when all rates are zero; done means no crash, no further reaction, and no unjustified performance regression.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.