In file mlpack\methods\hmm\hmm_impl.hpp, line 169:
if (dataSeq.size() == 0)
initial = newInitial / dataSeq.size();
Should be probably dataSeq.size() > 1.
mlpack version 2.0.1
dataSeq.size() > 1
There's something deeper that's wrong here, but I need to find my copy of the Elliot, Aggoun, and Moore book to figure out exactly what's up. So this may take a few days (since I'm out of town). Thanks for pointing the issue out!
d6d38a1 should fix the issue. There was also an issue with how the newInitial matrix was being set. Thanks for reporting the problem!
You forgot to add else condition. initial is not changing if number of sequences equal to one. Thanks for fixing.
Good catch, thanks for checking my work. e0e7ba5 should fix this.