55 nbStates_ (model.nbStates_),
56 nbRates_ (model.nbRates_),
57 rates_ (model.rates_),
58 ratesExchangeability_(model.ratesExchangeability_),
59 ratesFreq_ (model.ratesFreq_),
60 ratesGenerator_ (model.ratesGenerator_),
61 chars_ (model.chars_),
62 generator_ (model.generator_),
63 exchangeability_ (model.exchangeability_),
64 leftEigenVectors_ (model.leftEigenVectors_),
65 rightEigenVectors_ (model.rightEigenVectors_),
66 eigenValues_ (model.eigenValues_),
67 iEigenValues_ (model.iEigenValues_),
68 eigenDecompose_ (model.eigenDecompose_),
70 dpijt_ (model.dpijt_),
71 d2pijt_ (model.d2pijt_),
73 normalizeRateChanges_(model.normalizeRateChanges_),
74 nestedPrefix_ (model.nestedPrefix_)
80 AbstractParametrizable::operator=(model);
118 MatrixTools::MatrixTools::getId< RowMatrix<double> >(
nbStates_, Tmp1);
135 double scale = -VectorTools::scalar<double, double>(Tmp,
freq_);
146 pijt_.
resize(nbStates_ * nbRates_, nbStates_ * nbRates_);
147 dpijt_.
resize(nbStates_ * nbRates_, nbStates_ * nbRates_);
152 for (
unsigned int i = 0; i <
nbStates_; i++)
160 for (
size_t j = 0; j <
nbRates_; j++)
162 size_t c = i * nbRates_ + j;
165 for (
unsigned int ii = 0; ii <
nbRates_; ii++)
167 double vii = vectors(ii, j);
168 for (
unsigned int jj = 0; jj <
nbStates_; jj++)
206 if (i >= (nbStates_ * nbRates_))
208 if (state < 0 || !model_->getAlphabet()->isIntInAlphabet(state))
209 throw BadIntException(state,
"MarkovModulatedSubstitutionModel::getInitValue. Character " + model_->getAlphabet()->intToChar(state) +
" is not allowed in model.");
211 for (
size_t j = 0; j < states.size(); j++)
213 if (getAlphabetChar(i) == states[j])