Input: |
|
current nullspace matrix
|
Output: |
|
pairs of indices of columns forming candidates (combinations) |
1: |
irrev + ⇐ (i:
and (∃j: jth reaction is irreversible,
)} |
2: |
irrev − ⇐ (i:
and (∃j: jth reaction is irreversible,
)} |
3: |
rev ⇐ (i:
and (∀j: jth reaction is reversible or
)} |
4: |
{combine columns that can annihilate the element in the current row} |
5: |
S ⇐ {(ii, jj): (ii, jj) ∈ (irrev+ × irrev−) ∪ ((irrev+ ∪ irrev− ∪ rev) × rev)} |
6: |
for each (ii, jj) ∈ S do
|
7: |
form candidate column from the pair of columns indexed by (ii, jj) |
8: |
if candidate satisfies Proposition 4, add (ii, jj) to combinations |
9: |
end for |