Mercurial > hg > qm-dsp
diff maths/KLDivergence.h @ 31:dfe38135e4c7
* Add cosine distance and the self-similarity matrix used for SB rhythmic
similarity
* Pull out SB timbral similarity KL divergence into its own file
author | cannam |
---|---|
date | Fri, 18 Jan 2008 14:40:20 +0000 |
parents | |
children | 499d438b52ba |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maths/KLDivergence.h Fri Jan 18 14:40:20 2008 +0000 @@ -0,0 +1,37 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + QM DSP Library + + Centre for Digital Music, Queen Mary, University of London. + This file copyright 2008 QMUL + All rights reserved. +*/ + +#ifndef KLDIVERGENCE_H +#define KLDIVERGENCE_H + +#include <vector> + +using std::vector; + +/** + * Calculate a symmetrised Kullback-Leibler divergence of Gaussian + * models based on mean and variance vectors. All input vectors must + * be of equal size. + */ + +class KLDivergence +{ +public: + KLDivergence() { } + ~KLDivergence() { } + + double distance(const vector<double> &means1, + const vector<double> &variances1, + const vector<double> &means2, + const vector<double> &variances2); +}; + +#endif +