Old engine for Continuous Time Bayesian Networks. Superseded by reCTBN. 🐍
https://github.com/madlabunimib/PyCTBN
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
760 B
21 lines
760 B
4 years ago
|
import conditional_intensity_matrix as cim
|
||
|
import numpy as np
|
||
|
|
||
|
|
||
|
class AmalgamatedCims:
|
||
|
|
||
|
def __init__(self, states_number,list_of_keys, list_of_matrices_dims):
|
||
|
self.actual_cims = {}
|
||
|
self.init_cims_structure(list_of_keys, list_of_matrices_dims)
|
||
|
self.states_per_variable = states_number
|
||
|
|
||
|
def init_cims_structure(self, keys, dims):
|
||
|
for key, dim in (keys, dims):
|
||
|
self.actual_cims[key] = np.empty(dim, dtype=cim.ConditionalIntensityMatrix)
|
||
|
for block_matrix in self.actual_cims.values():
|
||
|
for matrix in block_matrix:
|
||
|
matrix = cim.ConditionalIntensityMatrix(self.states_per_variable)
|
||
|
|
||
|
def compute_matrix_indx(self, row, col):
|
||
|
return self.state_per_variable * row + col
|