molfoundry.FlowSolutionCertificate#
- class molfoundry.FlowSolutionCertificate(solution, firing_order)#
A witness that a
FlowSolutionis realizable: one concrete order in which the reactions fire so that, starting from the inflow marking, no reaction consumes a species before enough of it exists. It holds theFlowSolutionit realizes (itssolution), which supplies the derivation graph and the initial marking.The certificate is the firing sequence itself, so it iterates as its hyperedges in firing order (a reaction that fires n times appears n times):
for step, edge in enumerate(certificate, 1): ...
print()/svg()unroll it into a causal DAG — each firing its own reaction node, each molecule token its own species node.- Parameters:
solution (FlowSolution)
- property solution: FlowSolution#
The flow solution this certificate realizes.
- property edges: List[HyperEdge]#
The reactions in firing order (a reaction fired n times appears n times).
- trajectoryTable()#
Return the marking trajectory as a fixed-width text table: one row per species, one column per time step. Column 0 is the initial (inflow) marking; column
i + 1is the marking after thei-th reaction of the firing order fires. Each cell is how many copies of that species exist at that step.- Return type: