(a) Illustration of the data structures in PDM for the example reaction network shown in (b). Note that there may be arrays , , containing at most one negative entry if the corresponding . Indeed, in this example, and if . This, however, poses no problem in sampling and as all for which are zero and hence the corresponding group indices are never selected.
Computational costs of PDM (circles), SPDM (diamonds), and SDM (squares). See main text for the simulation parameters and initial conditions used. The average CPU time per reaction (i.e., per time step), , is shown as a function of system size quantified by the number of species . is defined as the CPU time needed to simulate the system up to final time , divided by the number of reactions executed during this time, and averaged over 100 independent runs (error bars are smaller than symbol size). The solid lines are the corresponding least-squares fits of the scaling of PDM, SPDM, and SDM with the model on a linear scale (see Table III), where , , and are the fitted constants. (a) Logarithmic plot of the results for the colloidal aggregation model. The fits are , , and . (b) Logarithmic plot of the results for the network of bimolecular reactions. The fits are , , and . (c) Linear plot of the results for the linear chain model. The fits are , , and . In all cases, the computational cost of PDM and SPDM is .
Measured distributions of the number of partial propensities (for PDM and SPDM, red bars with diamonds) and propensities (for SDM, blue bars with circles) that need to be updated after firing any reaction of (a) the colloidal aggregation model, (b) the network of bimolecular reactions, and (c) the heat-shock response model. Symbols indicate medians, horizontal bars the upper and lower quartiles, and vertical bars the upper and lower extrema (maximum and minimum). The dotted lines denote the minimum, average, and maximum degree of coupling of the reaction networks (see Table II). The number of updates in SDM (Ref. 12) using a dependency graph is governed by the degree of coupling of the network. In PDM and SPDM, less updates need to be performed since partial propensities depend on the population of at most one species and are constant for unimolecular reactions.
Detailed algorithm for the partial-propensity direct method PDM.
Properties of the benchmark cases. The number of species, number of reactions, and minimum, average, maximum out-degree of the dependency graph (degree of coupling) are given for the benchmark cases defined in Appendix D: The colloidal aggregation model (CA), the network of bimolecular reactions (NB), the linear chain model (LC), and the heat-shock response model (HSR). In the linear chain model the degree of coupling is 1 only for the last reaction, since its product is not a reactant anywhere else.
Number of compute operations needed by the different algorithms (PDM, SPDM, and SDM) for the different test cases (CA: colloidal aggregation model; NB: network of bimolecular reactions; LC: linear chain model; HSR: heat-shock response model). is the average number of operations needed to sample the next reaction . is the average number of entries in the population that need to be updated after any reaction. is the average number of partial propensities (or propensities for SDM) that need to be updated after any reaction. The operation counts are averaged over all reactions executed during 100 independent runs of each benchmark over the range of shown in Fig. 2. The average numbers are then fitted with the models given here (with correlation coefficient of at least 0.98 in all cases). See Fig. 3 for the distribution of the number of updates.
Total amount of computer memory needed by the different algorithms (PDM, SPDM, and SDM) for the different test cases (CA: colloidal aggregation model; NB: network of bimolecular reactions; LC: linear chain model; HSR: heat-shock response model). The sizes of all major data structures ( and are the arrays of specific probability rates and reaction propensities, respectively; is the stoichiometry matrix; see Sec. ??? for other definitions) as well as the total memory requirements are given as determined analytically for all benchmark simulations. SPDM and SDM need additional memory of size and , respectively, for the reordered index lists. This, however, does not change the overall scaling of the total memory requirements.
Article metrics loading...
Full text loading...