Skip to content

Commit baafeb4

Browse files
TorkelEisaacsas
andauthored
Update docs/src/catalyst_applications/jump_simulation_performance.md
Co-authored-by: Sam Isaacson <[email protected]>
1 parent 5784c66 commit baafeb4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

docs/src/catalyst_applications/jump_simulation_performance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ Gillespie's direct method will, after a jump has been performed, recompute the p
121121
k3, X3 --> 0
122122
end
123123
```
124-
Here, the rate of the `k1, X1 --> X2` and `k2, X2 --> X3` reactions does not depend on the amount of $X3$ in the system. Hence, their rates are unaffected by the occurrence of the `k3, X3 --> 0` reaction. Performant jump simulation methods have clever ways to determine which rates require recomputing after the occurrence of each reaction, which improves their performance. Many of these depend on so-called dependency graphs (which track which reactions' rates are affected by the occurrence of which reactions). Catalyst automatically builds such dependency graphs, which means that most jump simulators can be used without any additional input.
124+
Here, the propensities of the `k1, X1 --> X2` and `k2, X2 --> X3` reactions, `k1*X1*X2` and `k2*X2` respectively, do not depend on the amount of $X3$ in the system. Hence, the value of their propensities are unchanged by the occurrence of the `k3, X3 --> 0` reaction. Performant jump simulation methods have several ways to determine which rates require recomputing after the occurrence of a reaction, which improves their computational performance. Many of these depend on dependency graphs, which track which other reactions' propensities must be recomputed after the occurrence of a given reaction. Catalyst automatically builds such dependency graphs, which means that all JumpProcesses SSAs can be used without any additional inputs.
125125

126126
A full list of jump simulation method implemented by JumpProcesses can be found [here](https://docs.sciml.ai/JumpProcesses/stable/jump_types/#Jump-Aggregators-for-Exact-Simulation). Generally, `RSSA()` (the rejection SSA method [^4][^5]) is recommended for small models, with `RSSACR()` (the rejection SSA with composition-rejection method [^6]) typically being more performant for larger models. For models that are simulated a large number of times, it can be worthwhile to try a few different jump simulation methods to determine which one is most performant in each given case.
127127

0 commit comments

Comments
 (0)