Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

alize::Mixture Class Reference

#include <Mixture.h>

Inheritance diagram for alize::Mixture:
Inheritance graph
[legend]
Collaboration diagram for alize::Mixture:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Mixture (const String &id, unsigned long distribCount, unsigned long vectSize)
virtual bool operator== (const Mixture &) const =0
bool operator!= (const Mixture &) const
virtual ~Mixture ()
Mixtureduplicate (const K &, DuplDistrib) const
virtual void reset ()
virtual Mixtureoperator= (const Mixture &m)=0
virtual void addDistrib (const K &, Distrib &d, weight_t w=0.0)
virtual void setDistrib (const K &, Distrib &d, unsigned long index)
DistribgetDistrib (unsigned long index) const
 Returns a distribution.
weight_tweight (unsigned long index)
weight_t weight (unsigned long index) const
String getId () const
unsigned long getVectSize () const
void save (const String &n, const Config &c) const
unsigned long getDistribCount () const
void equalizeWeights ()
void computeAll ()
DoubleVectorgetTabWeight ()
const DoubleVectorgetTabWeight () const
Distrib ** getTabDistrib () const
void setId (const K &, const String &id)
void setId (const String &id)
virtual DistribType getType () const =0
virtual MixtureStatcreateNewMixtureStatObject (const K &, StatServer &ss, const Config &) const =0
void removeAllDistrib (const K &)
virtual String toString () const
virtual String getClassName () const =0

Static Public Member Functions

static Mixturecreate (const K &, const unsigned long dc, const DistribType, const String &id, const unsigned long vectSize)

Protected Member Functions

virtual void assign (const Mixture &)
virtual Mixtureclone (DuplDistrib) const =0

Protected Attributes

unsigned long _vectSize
DoubleVector _weightVect
DistribRefVector _distribVect
String _id

Detailed Description

Abstract class for a mixture of distributions.

Author:
Frederic Wils frederic.wils@lia.univ-avignon.fr
Version:
1.0
Date:
2003
Warning:
The mixtures server is responsible for creating and deleting mixtures. Do not create mixtures by yourself.

Definition at line 87 of file Mixture.h.


Constructor & Destructor Documentation

alize::Mixture::Mixture ( const String id,
unsigned long  distribCount,
unsigned long  vectSize 
) [explicit]
virtual alize::Mixture::~Mixture (  ) [virtual]

Member Function Documentation

virtual void alize::Mixture::addDistrib ( const K ,
Distrib d,
weight_t  w = 0.0 
) [virtual]

Adds a distribution to this mixture

Parameters:
dDistrib object to add
wweight of the distribution

Reimplemented in alize::MixtureGD, and alize::MixtureGF.

virtual void alize::Mixture::assign ( const Mixture  ) [protected, virtual]
virtual Mixture& alize::Mixture::clone ( DuplDistrib   ) const [protected, pure virtual]

Implemented in alize::MixtureGD, and alize::MixtureGF.

void alize::Mixture::computeAll (  )

Computes distributions internal data (determinant of the matrix, inverse covariance and a constante used for likelihood computation)

static Mixture& alize::Mixture::create ( const K ,
const unsigned long  dc,
const   DistribType,
const String id,
const unsigned long  vectSize 
) [static]
virtual MixtureStat& alize::Mixture::createNewMixtureStatObject ( const K ,
StatServer ss,
const Config  
) const [pure virtual]

Internal usage

Implemented in alize::MixtureGD, and alize::MixtureGF.

Mixture& alize::Mixture::duplicate ( const K ,
DuplDistrib   
) const

Reimplemented in alize::MixtureGD, and alize::MixtureGF.

void alize::Mixture::equalizeWeights (  )

Set the weights of all distributions to the same value. Sum of the weights equals 1.

Referenced by alize::MixtureGD::MixtureGD(), and alize::MixtureGF::MixtureGF().

virtual String alize::Mixture::getClassName (  ) const [pure virtual]

Returns the name of the class

Returns:
the name of the class of the object as a String

Implements alize::Object.

Implemented in alize::MixtureGD, and alize::MixtureGF.

Distrib& alize::Mixture::getDistrib ( unsigned long  index ) const

Returns a distribution.

Parameters:
indexposition of the distribution
Returns:
a reference to the distribution
Exceptions:
IndexOutOfBoundsException

Reimplemented in alize::MixtureGD, and alize::MixtureGF.

Referenced by alize::MixtureGF::operator==(), and alize::MixtureGD::operator==().

unsigned long alize::Mixture::getDistribCount (  ) const
String alize::Mixture::getId (  ) const

Returns the identifier of the mixture

Returns:
a string that identify the mixture

Referenced by alize::Distrib::toString().

Distrib** alize::Mixture::getTabDistrib (  ) const

Returns a pointer to the vector of distribution pointers

Returns:
a pointer to the first value of the internal vector
Warning:
Fast but dangerous ! Use preferably getDistrib() and setDistrib()
DoubleVector& alize::Mixture::getTabWeight (  )

Returns a reference to the weight vector

Returns:
a reference to the weight vector
const DoubleVector& alize::Mixture::getTabWeight (  ) const
virtual DistribType alize::Mixture::getType (  ) const [pure virtual]

Implemented in alize::MixtureGD, and alize::MixtureGF.

unsigned long alize::Mixture::getVectSize (  ) const

Returns the dimension of the distributions

Returns:
the dimension of the distributions
bool alize::Mixture::operator!= ( const Mixture  ) const
virtual Mixture& alize::Mixture::operator= ( const Mixture m ) [pure virtual]

Copy data members of a mixture in this mixture. Does not copy the identifier.

Exceptions:
Exceptionif the dimensions or the numbers of distributions does not match or if the types are not the same or other reasons

Implemented in alize::MixtureGD, and alize::MixtureGF.

virtual bool alize::Mixture::operator== ( const Mixture  ) const [pure virtual]

Implemented in alize::MixtureGD, and alize::MixtureGF.

void alize::Mixture::removeAllDistrib ( const K  )
virtual void alize::Mixture::reset (  ) [virtual]

Reset the mixture : set all distribution weights to 0.0 and call the method reset() of each distribution.
See Distrib::reset()

void alize::Mixture::save ( const String n,
const Config c 
) const

Saves a mixture to a file

Parameters:
nthe name of the file
cthe configuration to use
Exceptions:
IOExceptionif an I/O error occurs
FileNotFoundException
InvalidDataException
virtual void alize::Mixture::setDistrib ( const K ,
Distrib d,
unsigned long  index 
) [virtual]

Replace a distribution by an other one

Parameters:
dDistrib object to add
indexposition of the distribution to be replaced
Exceptions:
IndexOutOfBoundsException

Reimplemented in alize::MixtureGD, and alize::MixtureGF.

void alize::Mixture::setId ( const K ,
const String id 
)

Sets the identifier of the mixture. Internal usage

Parameters:
idthe identifier
void alize::Mixture::setId ( const String id )
virtual String alize::Mixture::toString (  ) const [virtual]

This method is frequently overridden in the derived classes. If it is not, it returns the name of the class of the object and the address of the object

Returns:
a description of the object

Reimplemented from alize::Object.

Reimplemented in alize::MixtureGD, and alize::MixtureGF.

weight_t& alize::Mixture::weight ( unsigned long  index )

Returns a reference to the weight of a distribution

Parameters:
indexposition of the distribution
Returns:
a reference to the weight
Exceptions:
IndexOutOfBoundsException

Referenced by alize::MixtureGD::MixtureGD(), alize::MixtureGF::MixtureGF(), alize::MixtureGF::operator==(), alize::MixtureGD::operator==(), alize::MixtureGF::toString(), and alize::MixtureGD::toString().

weight_t alize::Mixture::weight ( unsigned long  index ) const

Returns the weight of a distribution

Parameters:
indexposition of the distribution
Returns:
the weight
Exceptions:
IndexOutOfBoundsException

Member Data Documentation

Definition at line 230 of file Mixture.h.

Definition at line 231 of file Mixture.h.

Referenced by alize::MixtureGF::toString(), and alize::MixtureGD::toString().

unsigned long alize::Mixture::_vectSize [protected]

dimension of the distributions

Definition at line 229 of file Mixture.h.


The documentation for this class was generated from the following file: