Пример #1
0
  double MarkovModel::loglike()const{
    const Vec &icount(suf()->init());
    const Mat &tcount(suf()->trans());

    Vec logpi0(log(pi0()));
    Mat logQ(log(Q()));

    double ans= icount.dot(logpi0);
    ans+= el_mult_sum(tcount, logQ);
    return ans;
  }
Пример #2
0
  double MarkovModel::loglike(const Vector &serialized_params)const{
    const Vec &icount(suf()->init());
    const Mat &tcount(suf()->trans());

    int S = state_space_size();
    TransitionProbabilityMatrix transition_probabilities(S);

    Vec logpi0(log(pi0()));
    Mat logQ(log(Q()));

    double ans= icount.dot(logpi0);
    ans+= el_mult_sum(tcount, logQ);
    return ans;
  }