@@ -23,7 +23,7 @@ def flat_indexes(assorted_lists):
2323 conjunction with the flat array to recover the original list of lists.
2424
2525 Args:
26- assorted_lists (List[List]): A list of variable length lists.
26+ assorted_lists (List[List]): A list of variable length lists.
2727
2828 Returns numpy arrays:
2929 flat: The flattened data.
@@ -78,7 +78,7 @@ class StochasticSystem(object):
7878
7979 The stoichiometric matrix has a reaction for each row, with the values in that row
8080 encoding how many of each substrate are either consumed or produced by the reaction
81- (and zero everywhere else).
81+ (and zero everywhere else).
8282 '''
8383
8484 def __init__ (self , stoichiometry , random_seed = 0 ):
@@ -134,6 +134,7 @@ def __getstate__(self):
134134
135135 return (
136136 self .random_seed ,
137+ self .obsidian .get_random_state (),
137138 self .stoichiometry ,
138139 self .reactants_lengths ,
139140 self .reactants_indexes ,
@@ -151,7 +152,7 @@ def __setstate__(self, state):
151152 Import from pickled state.
152153 '''
153154
154- self .random_seed , self .stoichiometry , self .reactants_lengths , self .reactants_indexes , self .reactants_flat , self .reactions_flat , self .dependencies_lengths , self .dependencies_indexes , self .dependencies_flat , self .substrates_lengths , self .substrates_indexes , self .substrates_flat = state
155+ self .random_seed , random_state , self .stoichiometry , self .reactants_lengths , self .reactants_indexes , self .reactants_flat , self .reactions_flat , self .dependencies_lengths , self .dependencies_indexes , self .dependencies_flat , self .substrates_lengths , self .substrates_indexes , self .substrates_flat = state
155156
156157 self .obsidian = Arrowhead (
157158 self .random_seed ,
@@ -166,6 +167,7 @@ def __setstate__(self, state):
166167 self .substrates_lengths ,
167168 self .substrates_indexes ,
168169 self .substrates_flat )
170+ self .obsidian .set_random_state (* random_state )
169171
170172 def evolve (self , duration , state , rates ):
171173 status , steps , time , events , outcome = self .obsidian .evolve (duration , state , rates )
0 commit comments