Ejemplo n.º 1
0
    def __init__(self, M1=None, M2=None):

        from dolo.numeric.discretization import tensor_markov
        [P, Q] = tensor_markov( (M1.P,M1.Q), (M2.P, M2.Q) )
        self.P = P
        self.Q = Q
        self.extend([P,Q])
Ejemplo n.º 2
0
def product_mc(markov_chains: List[MarkovChain]) -> MarkovChain:

    M = [(m.values, m.transitions) for m in markov_chains]
    from dolo.numeric.discretization import tensor_markov

    [P, Q] = tensor_markov(*M)
    return MarkovChain(Q, P)
Ejemplo n.º 3
0
    def __init__(self, M1=None, M2=None):

        from dolo.numeric.discretization import tensor_markov
        [P, Q] = tensor_markov((M1.P, M1.Q), (M2.P, M2.Q))
        self.P = P
        self.Q = Q
        self.extend([P, Q])
Ejemplo n.º 4
0
    def discretize(self):

        M1 = self.M1.discretize()
        M2 = self.M2.discretize()
        from dolo.numeric.discretization import tensor_markov
        [P, Q] = tensor_markov((M1.values, M1.transitions),
                               (M2.values, M2.transitions))
        return DiscreteMarkovProcess(Q, P)
Ejemplo n.º 5
0
    def discretize(self, to='mc'):

        M = [(m.values, m.transitions) for m in self.M]
        from dolo.numeric.discretization import tensor_markov
        [P, Q] = tensor_markov(*M)
        return DiscreteMarkovProcess(Q, P)