Closed jordandouglas closed 1 month ago
The loop in this class currently says:
if (substitutionModel.canReturnComplexDiagonalization()) { for (int i = 0; i < m_siteModel.getCategoryCount(); i++) { ...
but it should say
if (substitutionModel.canReturnComplexDiagonalization()) { for (int i = 0; i < this.categoryCount; i++) { ...
because the invariant category counts as a category according to the site model, which will cause an indexing error on this class.
https://github.com/CompEvol/beast2/blob/master/src/beast/base/evolution/likelihood/BeagleTreeLikelihood.java
After further testing, I realise that the invariant category index should be skipped, not the last category
The loop in this class currently says:
but it should say
because the invariant category counts as a category according to the site model, which will cause an indexing error on this class.
https://github.com/CompEvol/beast2/blob/master/src/beast/base/evolution/likelihood/BeagleTreeLikelihood.java