-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathp_t_invariants.py
executable file
·35 lines (26 loc) · 1.21 KB
/
p_t_invariants.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from invariants import Invariants
class PTInvariants(Invariants):
""" Subclass of Invariants.
Methods:
- __init__ : initialises empty object; petri_net_data must be set explicitly.
- calculate_p_invariants : interface method.
- calculate_t_invariants : interface method.
"""
##############################################
## Class Constructor
##############################################
def __init__(self):
""" Class constructor, all variables initialised to None. """
self._petri_net_data = None
self._stoichiometry_matrix = None
##############################################
## Interface Methods
##############################################
def calculate_p_invariants(self):
""" Calculate P invariants and set as instance variable. """
incidence_matrix = self._stoichiometry_matrix.T
self._p_invariants = Invariants._calculate_invariants(self, incidence_matrix)
def calculate_t_invariants(self):
""" Calculate T invariants and set as instance variable. """
incidence_matrix = self._stoichiometry_matrix
self._t_invariants = Invariants._calculate_invariants(self, incidence_matrix)