40 #ifndef _LOGSUMHMMLIKELIHOOD_H_ 41 #define _LOGSUMHMMLIKELIHOOD_H_ 44 #include "../AbstractParametrizable.h" 45 #include "../NumTools.h" 46 #include "../Matrix/Matrix.h" 131 const std::string& prefix)
throw (
Exception);
160 AbstractParametrizable::operator =(lik);
185 #ifndef NO_VIRTUAL_COV 252 #endif //_LOGSUMHMMLIKELIHOOD_H_
std::vector< double > partialDLogLikelihoods_
void computeBackward_() const
std::vector< double > logLikelihood_
The likelihood array.
const std::vector< size_t > & getBreakPoints() const
This class allows to perform a correspondence analysis.
A simple implementation of hidden Markov models recursion.
double getLikelihoodForASite(size_t site) const
Get the likelihood for a site.
A partial implementation of the Parametrizable interface.
LogsumHmmLikelihood * clone() const
Create a copy of this object and send a pointer to it.
Interface for computing emission probabilities in a Hidden Markov Model.
HmmStateAlphabet & getHmmStateAlphabet()
std::vector< std::vector< double > > d2LogLikelihood_
Vdouble getLikelihoodForEachSite() const
Get the likelihood for each site.
virtual void fireParameterChanged(const ParameterList &pl)
Notify the class when one or several parameters have changed.
void setBreakPoints(const std::vector< size_t > &breakPoints)
The parameter list object.
HmmEmissionProbabilities & getHmmEmissionProbabilities()
LogsumHmmLikelihood(HmmStateAlphabet *hiddenAlphabet, HmmTransitionMatrix *transitionMatrix, HmmEmissionProbabilities *emissionProbabilities, const std::string &prefix)
Build a new LogsumHmmLikelihood object.
virtual ~LogsumHmmLikelihood()
void computeD2Likelihood_() const
void computeD2Forward_() const
std::auto_ptr< HmmTransitionMatrix > transitionMatrix_
std::vector< std::vector< double > > backLogLikelihood_
backward logLikelihood
double getLogLikelihood() const
std::vector< double > partialLogLikelihoods_
const HmmEmissionProbabilities & getHmmEmissionProbabilities() const
std::vector< double > Vdouble
std::auto_ptr< HmmStateAlphabet > hiddenAlphabet_
The alphabet describing the hidden states.
std::vector< double > partialD2LogLikelihoods_
const HmmStateAlphabet & getHmmStateAlphabet() const
void setParametersValues(const ParameterList ¶meters)
Update the parameters from parameters.
The Clonable interface (allow an object to be cloned).
void getHiddenStatesPosteriorProbabilities(std::vector< std::vector< double > > &probs, bool append=false) const
AbstractHmmLikelihood & operator=(const AbstractHmmLikelihood &adhlik)
const HmmTransitionMatrix & getHmmTransitionMatrix() const
bool backLogLikelihoodUpToDate_
void setParameters(const ParameterList &pl)
Set the point where the function must be computed.
Vdouble getHiddenStatesPosteriorProbabilitiesForASite(size_t site) const
std::vector< std::vector< double > > dLogLikelihood_
The DLogLikelihood arrays.
LogsumHmmLikelihood & operator=(const LogsumHmmLikelihood &lik)
double getValue() const
Get the value of the function at the current point.
void computeDLikelihood_() const
std::vector< size_t > breakPoints_
HmmTransitionMatrix & getHmmTransitionMatrix()
void computeDForward_() const
Describe the transition probabilities between hidden states of a Hidden Markov Model.
std::auto_ptr< HmmEmissionProbabilities > emissionProbabilities_
LogsumHmmLikelihood(const LogsumHmmLikelihood &lik)