ghmmにおいて観測変数の次元数が大きい場合に遅くなる問題

ghmmで観測系列の次元数を25次元にしたら, 話にならない程遅くなった.
これは公式メーリングリストで言及されている問題で, 簡単に解決できる.

遅くなるのは,

ghmm.HMMFromMatrices(values,ghmm.MultivariateGaussianDistribution(values),A,B,pi)

この初期化部分で, ここで行われる逆行列演算などが遅いらしい.(それにしても遅すぎる気はするが)

これはGSLライブラリを導入することで解決する. GSLライブラリをインストールした上で./configure の際に--enable-gslオプションをつけることで, 一部の演算がGSLライブラリに委譲され高速化が達成される.

ただし, GSLライブラリのライセンスはGPLなので, そこには注意すること.