def tets_transition_matrix(): assert(mkm.is_transition_matrix(numpy.eye(1))) assert(mkm.is_transition_matrix(numpy.eye(5))) assert(mkm.is_transition_matrix(numpy.ones((1,2,3))) == False) assert(mkm.is_transition_matrix(mkm.line_lazy_transition_matrix(100, p = 0.51))) A = numpy.ones((3,3)) numpy.fill_diagonal(A,0) P = mkm.graph_nbrw_transition_matrix(ssp.dok_matrix(A)) assert(mkm.is_transition_matrix(P)) print P
def tets_transition_matrix(): assert (mkm.is_transition_matrix(numpy.eye(1))) assert (mkm.is_transition_matrix(numpy.eye(5))) assert (mkm.is_transition_matrix(numpy.ones((1, 2, 3))) == False) assert (mkm.is_transition_matrix( mkm.line_lazy_transition_matrix(100, p=0.51))) A = numpy.ones((3, 3)) numpy.fill_diagonal(A, 0) P = mkm.graph_nbrw_transition_matrix(ssp.dok_matrix(A)) assert (mkm.is_transition_matrix(P)) print P
def __init__(self, p): """Initialize a Markov chain with a transition matrix p: the transition matrix, a numpy ndarray """ # verify that p is indeed a transition matrix if mkm.is_transition_matrix(p) == False: raise Exception('Matrix used to initialize a Markov chain is not a transition matrix') self.p = ssp.csr_matrix(p) self.n = p.shape[0] self.distributions = [] self.sd = None
def tets_transition_matrix(): assert (mkm.is_transition_matrix(numpy.eye(1))) assert (mkm.is_transition_matrix(numpy.eye(5))) assert (mkm.is_transition_matrix(numpy.ones((1, 2, 3))) == False) assert (mkm.is_transition_matrix( mkm.line_lazy_transition_matrix(100, p=0.51))) # graph_nbrw_transition_matrix A = numpy.ones((3, 3)) numpy.fill_diagonal(A, 0) P = mkm.graph_nbrw_transition_matrix(A) assert (mkm.is_transition_matrix(P)) print A print P # tree_nbrw_transition_matrix A = numpy.array([[0, 1, 0, 0, 0], [1, 0, 1, 1, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 0]]) P = mkm.tree_nbrw_transition_matrix(A, 0) assert (mkm.is_transition_matrix(P)) print A print P