Computes the left kernel of the stoichiometric matrix of a Reaction Network.
i1 : N = reactionNetwork "A <--> B"
o1 = A-->B
B-->A
o1 : ReactionNetwork
|
i2 : Z = stoichSubspaceKer N
o2 = | 1 |
| 1 |
2 1
o2 : Matrix ZZ <--- ZZ
|
i3 : S = stoichiometricMatrix N
o3 = | -1 1 |
| 1 -1 |
2 2
o3 : Matrix ZZ <--- ZZ
|
i4 : K = ker transpose S
o4 = image | 1 |
| 1 |
2
o4 : ZZ-module, submodule of ZZ
|
A bigger example:
i5 : N = oneSiteModificationA()
o5 = S_0+E-->X
X-->S_0+E
X-->E+S_1
S_1+F-->Y
Y-->S_1+F
Y-->S_0+F
o5 : ReactionNetwork
|
i6 : Z = stoichSubspaceKer N
o6 = | 0 -1 1 |
| 1 1 -1 |
| 1 0 0 |
| 0 -1 1 |
| 0 1 0 |
| 0 0 1 |
6 3
o6 : Matrix ZZ <--- ZZ
|
i7 : S = stoichiometricMatrix N
o7 = | -1 1 0 0 0 1 |
| -1 1 1 0 0 0 |
| 1 -1 -1 0 0 0 |
| 0 0 1 -1 1 0 |
| 0 0 0 -1 1 1 |
| 0 0 0 1 -1 -1 |
6 6
o7 : Matrix ZZ <--- ZZ
|
i8 : K = ker transpose S
o8 = image | 0 -1 1 |
| 1 1 0 |
| 1 0 1 |
| 0 -1 1 |
| 0 1 0 |
| 0 0 1 |
6
o8 : ZZ-module, submodule of ZZ
|
The object stoichSubspaceKer is a method function.