root/doc/html/classitpp_1_1MOG__diag.html @ 353

Revision 353, 100.1 kB (checked in by smidl, 16 years ago)

doc

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: itpp::MOG_diag Class Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1MOG__diag.html">MOG_diag</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::MOG_diag Class Reference<br>
72<small>
73[<a class="el" href="group__MOG.html">Mixture of Gaussians (MOG)</a>]</small>
74</h1><!-- doxytag: class="itpp::MOG_diag" --><!-- doxytag: inherits="itpp::MOG_generic" -->Diagonal Mixture of Gaussians (MOG) class. 
75<a href="#_details">More...</a>
76<p>
77<code>#include &lt;<a class="el" href="mog__diag_8h-source.html">mog_diag.h</a>&gt;</code>
78<p>
79
80<p>
81<a href="classitpp_1_1MOG__diag-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
82<tr><td></td></tr>
83<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#1482b9cf97d70dec7d464397abfb746c">MOG_diag</a> ()</td></tr>
85
86<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#1482b9cf97d70dec7d464397abfb746c"></a><br></td></tr>
87<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#8938e294ab0280484dffd7d1e969ccff">MOG_diag</a> (const std::string &amp;name)</td></tr>
88
89<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct the <a class="el" href="classitpp_1_1MOG__diag.html" title="Diagonal Mixture of Gaussians (MOG) class.">MOG_diag</a> object by loading the parameters from a model file.  <a href="#8938e294ab0280484dffd7d1e969ccff"></a><br></td></tr>
90<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d7c6aa327b506c130059ca32d4cf4118">MOG_diag</a> (const int &amp;K_in, const int &amp;D_in, bool full_in=false)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">construct a default model (all Gaussians have zero mean and unit variance for all dimensions)  <a href="#d7c6aa327b506c130059ca32d4cf4118"></a><br></td></tr>
93<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#4a01243572dc4dd3d599ce2c6a6b2b11">MOG_diag</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, bool)</td></tr>
94
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a model using user supplied mean vectors.  <a href="#4a01243572dc4dd3d599ce2c6a6b2b11"></a><br></td></tr>
96<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#0dc932131e6b3ce94b3f5d7ff50b5019">MOG_diag</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;diag_covs_in, vec &amp;weights_in)</td></tr>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a model using user supplied parameters (diagonal covariance version).  <a href="#0dc932131e6b3ce94b3f5d7ff50b5019"></a><br></td></tr>
99<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#09da7ec63d9d025d452369a6f7b6e48d">MOG_diag</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;full_covs_in, vec &amp;weights_in)</td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a model using user supplied parameters (full covariance version).  <a href="#09da7ec63d9d025d452369a6f7b6e48d"></a><br></td></tr>
102<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0819b23dfbee0451223fbc21ad20fa02"></a><!-- doxytag: member="itpp::MOG_diag::~MOG_diag" ref="0819b23dfbee0451223fbc21ad20fa02" args="()" -->
103&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#0819b23dfbee0451223fbc21ad20fa02">~MOG_diag</a> ()</td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <br></td></tr>
106<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d22e7816dfb21d6e557d9ab3285f6a82">cleanup</a> ()</td></tr>
107
108<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release memory used by the model. The model will be empty.  <a href="#d22e7816dfb21d6e557d9ab3285f6a82"></a><br></td></tr>
109<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#655176beb0593c93853c25cbe889ab4d">load</a> (const std::string &amp;name_in)</td></tr>
110
111<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model by loading the parameters from a model file.  <a href="#655176beb0593c93853c25cbe889ab4d"></a><br></td></tr>
112<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d9e508bc4d26eee3c198748ea78530a"></a><!-- doxytag: member="itpp::MOG_diag::convert_to_full" ref="8d9e508bc4d26eee3c198748ea78530a" args="()" -->
113void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#8d9e508bc4d26eee3c198748ea78530a">convert_to_full</a> ()</td></tr>
114
115<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do nothing. Present for compatability with the <a class="el" href="classitpp_1_1MOG__generic.html" title="Generic Mixture of Gaussians (MOG) class. Used as a base for other MOG classes.">MOG_generic</a> class. <br></td></tr>
116<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba1e16ff70ebd9ebcfc8a8579a63b488"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus" ref="ba1e16ff70ebd9ebcfc8a8579a63b488" args="(const double *c_x_in, const int k) const " -->
117double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#ba1e16ff70ebd9ebcfc8a8579a63b488">log_lhood_single_gaus</a> (const double *c_x_in, const int k) const </td></tr>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of C vector <code>c_x_in</code> using only Gaussian <code>k</code> <br></td></tr>
120<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1c3baa837242367f8cf9e15011c0c06"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus" ref="b1c3baa837242367f8cf9e15011c0c06" args="(const vec &amp;x_in, const int k) const " -->
121double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#b1c3baa837242367f8cf9e15011c0c06">log_lhood_single_gaus</a> (const vec &amp;x_in, const int k) const </td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of IT++ vector <code>x_in</code> using only Gaussian <code>k</code> <br></td></tr>
124<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c98a5a5d5f26dab36eaf19c2359fc5"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood" ref="39c98a5a5d5f26dab36eaf19c2359fc5" args="(const double *c_x_in)" -->
125double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#39c98a5a5d5f26dab36eaf19c2359fc5">log_lhood</a> (const double *c_x_in)</td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of C vector <code>c_x_in</code> <br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b969344846d405fdbc444b76050e395"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood" ref="9b969344846d405fdbc444b76050e395" args="(const vec &amp;x_in)" -->
129double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#9b969344846d405fdbc444b76050e395">log_lhood</a> (const vec &amp;x_in)</td></tr>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of IT++ vector <code>x_in</code> <br></td></tr>
132<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e09fa2a5703892481688342d8d91fb7e"></a><!-- doxytag: member="itpp::MOG_diag::lhood" ref="e09fa2a5703892481688342d8d91fb7e" args="(const double *c_x_in)" -->
133double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#e09fa2a5703892481688342d8d91fb7e">lhood</a> (const double *c_x_in)</td></tr>
134
135<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the likelihood of C vector <code>c_x_in</code> <br></td></tr>
136<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dcab9c724600247545728575dad09fe"></a><!-- doxytag: member="itpp::MOG_diag::lhood" ref="7dcab9c724600247545728575dad09fe" args="(const vec &amp;x_in)" -->
137double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#7dcab9c724600247545728575dad09fe">lhood</a> (const vec &amp;x_in)</td></tr>
138
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the likelihood of IT++ vector <code>x_in</code> <br></td></tr>
140<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79cd26f7bb9c6503c939fe4d000e0fd9"></a><!-- doxytag: member="itpp::MOG_diag::avg_log_lhood" ref="79cd26f7bb9c6503c939fe4d000e0fd9" args="(const double **c_x_in, int N)" -->
141double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#79cd26f7bb9c6503c939fe4d000e0fd9">avg_log_lhood</a> (const double **c_x_in, int N)</td></tr>
142
143<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the average log likelihood of an array of C vectors ( <code>c_x_in</code> ) <br></td></tr>
144<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b892301061b8d1b418eb3ff058633da3"></a><!-- doxytag: member="itpp::MOG_diag::avg_log_lhood" ref="b892301061b8d1b418eb3ff058633da3" args="(const Array&lt; vec &gt; &amp;X_in)" -->
145double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#b892301061b8d1b418eb3ff058633da3">avg_log_lhood</a> (const <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;X_in)</td></tr>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the average log likelihood of an array of IT++ vectors ( <code>X_in</code> ) <br></td></tr>
148<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#331210d0a4ebfbab47d1ba64c8033879">init</a> ()</td></tr>
149
150<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model to be empty.  <a href="#331210d0a4ebfbab47d1ba64c8033879"></a><br></td></tr>
151<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#3b73c4ad6feeb3588b7e379fca6eae3c">init</a> (const int &amp;K_in, const int &amp;D_in, bool full_in=false)</td></tr>
152
153<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialise the model so that all Gaussians have zero mean and unit variance for all dimensions  <a href="#3b73c4ad6feeb3588b7e379fca6eae3c"></a><br></td></tr>
154<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#1373b38028afae89ac7566adbb2a2ab5">init</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, bool full_in=false)</td></tr>
155
156<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model using user supplied mean vectors.  <a href="#1373b38028afae89ac7566adbb2a2ab5"></a><br></td></tr>
157<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#7e016be79a1e1a2f3e25b1b27713cf91">init</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;diag_covs_in, vec &amp;weights_in)</td></tr>
158
159<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model using user supplied parameters (diagonal covariance version).  <a href="#7e016be79a1e1a2f3e25b1b27713cf91"></a><br></td></tr>
160<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#3fdd538826fedfe7fc9ee4f198ef1a89">init</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in, <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;full_covs_in, vec &amp;weights_in)</td></tr>
161
162<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model using user supplied parameters (full covariance version).  <a href="#3fdd538826fedfe7fc9ee4f198ef1a89"></a><br></td></tr>
163<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b39d42cafa3b08a3595d35b12e564198"></a><!-- doxytag: member="itpp::MOG_diag::is_valid" ref="b39d42cafa3b08a3595d35b12e564198" args="() const " -->
164bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#b39d42cafa3b08a3595d35b12e564198">is_valid</a> () const </td></tr>
165
166<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the model's parameters are valid. <br></td></tr>
167<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c27623ea75a58f8335e13c0675183faa"></a><!-- doxytag: member="itpp::MOG_diag::is_full" ref="c27623ea75a58f8335e13c0675183faa" args="() const " -->
168bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c27623ea75a58f8335e13c0675183faa">is_full</a> () const </td></tr>
169
170<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the model has full covariance matrices. <br></td></tr>
171<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="217c1ba5bf096f693a64fb30e701448f"></a><!-- doxytag: member="itpp::MOG_diag::get_K" ref="217c1ba5bf096f693a64fb30e701448f" args="() const " -->
172int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#217c1ba5bf096f693a64fb30e701448f">get_K</a> () const </td></tr>
173
174<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of Gaussians. <br></td></tr>
175<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8606d3aec30d2a97bbea289adee66aa"></a><!-- doxytag: member="itpp::MOG_diag::get_D" ref="a8606d3aec30d2a97bbea289adee66aa" args="() const " -->
176int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#a8606d3aec30d2a97bbea289adee66aa">get_D</a> () const </td></tr>
177
178<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimensionality. <br></td></tr>
179<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49266cd7de7805438cf94e6804620974"></a><!-- doxytag: member="itpp::MOG_diag::get_weights" ref="49266cd7de7805438cf94e6804620974" args="() const " -->
180vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#49266cd7de7805438cf94e6804620974">get_weights</a> () const </td></tr>
181
182<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the weight vector. <br></td></tr>
183<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ba7dde83d6377b05c8604a6e5bc222d"></a><!-- doxytag: member="itpp::MOG_diag::get_means" ref="8ba7dde83d6377b05c8604a6e5bc222d" args="() const " -->
184<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#8ba7dde83d6377b05c8604a6e5bc222d">get_means</a> () const </td></tr>
185
186<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of mean vectors. <br></td></tr>
187<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fb44dc53203033b810eb997add5a9ca"></a><!-- doxytag: member="itpp::MOG_diag::get_diag_covs" ref="0fb44dc53203033b810eb997add5a9ca" args="() const " -->
188<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#0fb44dc53203033b810eb997add5a9ca">get_diag_covs</a> () const </td></tr>
189
190<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of diagonal covariance vectors. <br></td></tr>
191<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff62148d59ffa1fb40a07259546f0afd"></a><!-- doxytag: member="itpp::MOG_diag::get_full_covs" ref="ff62148d59ffa1fb40a07259546f0afd" args="() const " -->
192<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#ff62148d59ffa1fb40a07259546f0afd">get_full_covs</a> () const </td></tr>
193
194<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of full covariance matrices. <br></td></tr>
195<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#7cecfa0184f63f928381103dcff050ff">set_means</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in)</td></tr>
196
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the means of the model.  <a href="#7cecfa0184f63f928381103dcff050ff"></a><br></td></tr>
198<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#bb90adbcf6e3963dc63ce7fdc409faff">set_diag_covs</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;diag_covs_in)</td></tr>
199
200<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the diagonal covariance vectors of the model.  <a href="#bb90adbcf6e3963dc63ce7fdc409faff"></a><br></td></tr>
201<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#7582399d9bdbfa90eb1fe2381af6b5fb">set_full_covs</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;full_covs_in)</td></tr>
202
203<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the full covariance matrices of the model.  <a href="#7582399d9bdbfa90eb1fe2381af6b5fb"></a><br></td></tr>
204<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#f208b278df2f6334099b246c156094e0">set_weights</a> (vec &amp;weights_in)</td></tr>
205
206<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the weight vector of the model.  <a href="#f208b278df2f6334099b246c156094e0"></a><br></td></tr>
207<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="648a73469fc824517e35e43d78795296"></a><!-- doxytag: member="itpp::MOG_diag::set_means_zero" ref="648a73469fc824517e35e43d78795296" args="()" -->
208void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#648a73469fc824517e35e43d78795296">set_means_zero</a> ()</td></tr>
209
210<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the means in the model to be zero. <br></td></tr>
211<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e28ac0f40c8b95a3449e9aba38ed141"></a><!-- doxytag: member="itpp::MOG_diag::set_diag_covs_unity" ref="0e28ac0f40c8b95a3449e9aba38ed141" args="()" -->
212void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#0e28ac0f40c8b95a3449e9aba38ed141">set_diag_covs_unity</a> ()</td></tr>
213
214<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the diagonal covariance vectors to be unity. <br></td></tr>
215<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d8c1cd740bca3a8ab5538ed634506ba"></a><!-- doxytag: member="itpp::MOG_diag::set_full_covs_unity" ref="2d8c1cd740bca3a8ab5538ed634506ba" args="()" -->
216void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#2d8c1cd740bca3a8ab5538ed634506ba">set_full_covs_unity</a> ()</td></tr>
217
218<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the full covariance matrices to be unity. <br></td></tr>
219<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1292c3480c3260a7813fa7d30a6de01a"></a><!-- doxytag: member="itpp::MOG_diag::set_weights_uniform" ref="1292c3480c3260a7813fa7d30a6de01a" args="()" -->
220void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#1292c3480c3260a7813fa7d30a6de01a">set_weights_uniform</a> ()</td></tr>
221
222<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all the weights to 1/K, where K is the number of Gaussians. <br></td></tr>
223<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#1fdbb97943bbb5bd634b062750f17f67">set_checks</a> (bool do_checks_in)</td></tr>
224
225<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable internal checks for likelihood functions.  <a href="#1fdbb97943bbb5bd634b062750f17f67"></a><br></td></tr>
226<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#edd93bdbe6f111a6f49e3b7176fa7c08">set_paranoid</a> (bool paranoid_in)</td></tr>
227
228<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable paranoia about numerical stability.  <a href="#edd93bdbe6f111a6f49e3b7176fa7c08"></a><br></td></tr>
229<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c9446a81ab2227128e8a4180a082c809">save</a> (const std::string &amp;name_in) const </td></tr>
230
231<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save the model's parameters to a model file.  <a href="#c9446a81ab2227128e8a4180a082c809"></a><br></td></tr>
232<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#bccd9353a67e9bda9f1db8872487ec30">join</a> (const <a class="el" href="classitpp_1_1MOG__generic.html">MOG_generic</a> &amp;B_in)</td></tr>
233
234<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mathematically join the model with a user supplied model.  <a href="#bccd9353a67e9bda9f1db8872487ec30"></a><br></td></tr>
235<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#3bf2b05e3069a3d0082e372dc455bd9d">convert_to_diag</a> ()</td></tr>
236
237<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the model to use diagonal covariances.  <a href="#3bf2b05e3069a3d0082e372dc455bd9d"></a><br></td></tr>
238<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a1924e02e2946294e7ba90ff95c4724"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus" ref="8a1924e02e2946294e7ba90ff95c4724" args="(const vec &amp;x_in, const int k)" -->
239virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#8a1924e02e2946294e7ba90ff95c4724">log_lhood_single_gaus</a> (const vec &amp;x_in, const int k)</td></tr>
240
241<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of vector <code>x_in</code> using only Gaussian <code>k</code> <br></td></tr>
242<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
243<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06a0cc706fe1edb31dda4c4dd81a9808"></a><!-- doxytag: member="itpp::MOG_diag::setup_means" ref="06a0cc706fe1edb31dda4c4dd81a9808" args="()" -->
244void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#06a0cc706fe1edb31dda4c4dd81a9808">setup_means</a> ()</td></tr>
245
246<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">additional processing of mean vectors, done as the last step of mean initialisation <br></td></tr>
247<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d26c089ab1b0c3f8c74e1118c0e3e8ca"></a><!-- doxytag: member="itpp::MOG_diag::setup_covs" ref="d26c089ab1b0c3f8c74e1118c0e3e8ca" args="()" -->
248void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d26c089ab1b0c3f8c74e1118c0e3e8ca">setup_covs</a> ()</td></tr>
249
250<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">additional processing of covariance vectors/matrices, done as the last step of covariance initialisation <br></td></tr>
251<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bcf27e15f218d0392c36f67746a5edc"></a><!-- doxytag: member="itpp::MOG_diag::setup_weights" ref="1bcf27e15f218d0392c36f67746a5edc" args="()" -->
252void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#1bcf27e15f218d0392c36f67746a5edc">setup_weights</a> ()</td></tr>
253
254<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">additional processing of the weight vector, done as the last step of weight initialisation <br></td></tr>
255<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10c139e8d57e71b6cfc33e01927c6a9c"></a><!-- doxytag: member="itpp::MOG_diag::setup_misc" ref="10c139e8d57e71b6cfc33e01927c6a9c" args="()" -->
256void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#10c139e8d57e71b6cfc33e01927c6a9c">setup_misc</a> ()</td></tr>
257
258<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">additional processing of miscellaneous parameters, done as the last step of overall initialisation <br></td></tr>
259<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="738f0d6e45ce40b867193df296276873"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus_internal" ref="738f0d6e45ce40b867193df296276873" args="(const double *c_x_in, const int k) const " -->
260double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#738f0d6e45ce40b867193df296276873">log_lhood_single_gaus_internal</a> (const double *c_x_in, const int k) const </td></tr>
261
262<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
263<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82dcf04df4dfbabe9eb4be4840d46f87"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus_internal" ref="82dcf04df4dfbabe9eb4be4840d46f87" args="(const vec &amp;x_in, const int k) const " -->
264double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#82dcf04df4dfbabe9eb4be4840d46f87">log_lhood_single_gaus_internal</a> (const vec &amp;x_in, const int k) const </td></tr>
265
266<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
267<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98e2cb2f4a34cf120eb64d5451b2fb68"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_internal" ref="98e2cb2f4a34cf120eb64d5451b2fb68" args="(const double *c_x_in)" -->
268double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#98e2cb2f4a34cf120eb64d5451b2fb68">log_lhood_internal</a> (const double *c_x_in)</td></tr>
269
270<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
271<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c5be5d84900566c5376bf0693b213d4"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_internal" ref="2c5be5d84900566c5376bf0693b213d4" args="(const vec &amp;x_in)" -->
272double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#2c5be5d84900566c5376bf0693b213d4">log_lhood_internal</a> (const vec &amp;x_in)</td></tr>
273
274<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
275<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92d78e87ed23ab978dfda2ad497634f3"></a><!-- doxytag: member="itpp::MOG_diag::lhood_internal" ref="92d78e87ed23ab978dfda2ad497634f3" args="(const double *c_x_in)" -->
276double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#92d78e87ed23ab978dfda2ad497634f3">lhood_internal</a> (const double *c_x_in)</td></tr>
277
278<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
279<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bbc11aec8077a4de6a663375db13849"></a><!-- doxytag: member="itpp::MOG_diag::lhood_internal" ref="8bbc11aec8077a4de6a663375db13849" args="(const vec &amp;x_in)" -->
280double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#8bbc11aec8077a4de6a663375db13849">lhood_internal</a> (const vec &amp;x_in)</td></tr>
281
282<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
283<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cae6c63ae036a9f0ecc3dae5b2507841"></a><!-- doxytag: member="itpp::MOG_diag::enable_c_access" ref="cae6c63ae036a9f0ecc3dae5b2507841" args="(Array&lt; vec &gt; &amp;A_in)" -->
284double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#cae6c63ae036a9f0ecc3dae5b2507841">enable_c_access</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;A_in)</td></tr>
285
286<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to an <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors (vec). <br></td></tr>
287<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="499409f431c085b02803aa3ab651297d"></a><!-- doxytag: member="itpp::MOG_diag::enable_c_access" ref="499409f431c085b02803aa3ab651297d" args="(Array&lt; ivec &gt; &amp;A_in)" -->
288int **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#499409f431c085b02803aa3ab651297d">enable_c_access</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; ivec &gt; &amp;A_in)</td></tr>
289
290<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to an <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors (ivec). <br></td></tr>
291<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b92e5a096ed509e2c41fca5021b61b9"></a><!-- doxytag: member="itpp::MOG_diag::enable_c_access" ref="9b92e5a096ed509e2c41fca5021b61b9" args="(vec &amp;v_in)" -->
292double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#9b92e5a096ed509e2c41fca5021b61b9">enable_c_access</a> (vec &amp;v_in)</td></tr>
293
294<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to a vector (vec). <br></td></tr>
295<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="370f9fbff146d65a8f426d21db855072"></a><!-- doxytag: member="itpp::MOG_diag::enable_c_access" ref="370f9fbff146d65a8f426d21db855072" args="(ivec &amp;v_in)" -->
296int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#370f9fbff146d65a8f426d21db855072">enable_c_access</a> (ivec &amp;v_in)</td></tr>
297
298<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to a vector (ivec). <br></td></tr>
299<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3955e3d8697217f1eb85d11c0aad88d"></a><!-- doxytag: member="itpp::MOG_diag::disable_c_access" ref="c3955e3d8697217f1eb85d11c0aad88d" args="(double **A_in)" -->
300double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#c3955e3d8697217f1eb85d11c0aad88d">disable_c_access</a> (double **A_in)</td></tr>
301
302<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to an <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors (vec). <br></td></tr>
303<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dafbf61c7737369c822f40cf3002a61a"></a><!-- doxytag: member="itpp::MOG_diag::disable_c_access" ref="dafbf61c7737369c822f40cf3002a61a" args="(int **A_in)" -->
304int **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#dafbf61c7737369c822f40cf3002a61a">disable_c_access</a> (int **A_in)</td></tr>
305
306<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to an <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors (ivec). <br></td></tr>
307<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cdc719f036bd0408980907d6bc1c71b"></a><!-- doxytag: member="itpp::MOG_diag::disable_c_access" ref="5cdc719f036bd0408980907d6bc1c71b" args="(double *v_in)" -->
308double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#5cdc719f036bd0408980907d6bc1c71b">disable_c_access</a> (double *v_in)</td></tr>
309
310<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to a vector (vec). <br></td></tr>
311<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bd342b59ca5845ba92a1e615b6a6efa"></a><!-- doxytag: member="itpp::MOG_diag::disable_c_access" ref="1bd342b59ca5845ba92a1e615b6a6efa" args="(int *v_in)" -->
312int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#1bd342b59ca5845ba92a1e615b6a6efa">disable_c_access</a> (int *v_in)</td></tr>
313
314<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to a vector (ivec). <br></td></tr>
315<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb3ff3e8b580c619b78a52912547095f"></a><!-- doxytag: member="itpp::MOG_diag::zero_all_ptrs" ref="bb3ff3e8b580c619b78a52912547095f" args="()" -->
316void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#bb3ff3e8b580c619b78a52912547095f">zero_all_ptrs</a> ()</td></tr>
317
318<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
319<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de7b331ff27b48d5cc1545466b201236"></a><!-- doxytag: member="itpp::MOG_diag::free_all_ptrs" ref="de7b331ff27b48d5cc1545466b201236" args="()" -->
320void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#de7b331ff27b48d5cc1545466b201236">free_all_ptrs</a> ()</td></tr>
321
322<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
323<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c236fd20912f9cfc8930594a0a2d0a0"></a><!-- doxytag: member="itpp::MOG_diag::check_size" ref="3c236fd20912f9cfc8930594a0a2d0a0" args="(const vec &amp;x_in) const " -->
324bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#3c236fd20912f9cfc8930594a0a2d0a0">check_size</a> (const vec &amp;x_in) const </td></tr>
325
326<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if vector <code>x_in</code> has the same dimensionality as the model. <br></td></tr>
327<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="069335b9885c057440599fb0cfbfc288"></a><!-- doxytag: member="itpp::MOG_diag::check_size" ref="069335b9885c057440599fb0cfbfc288" args="(const Array&lt; vec &gt; &amp;X_in) const " -->
328bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#069335b9885c057440599fb0cfbfc288">check_size</a> (const <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;X_in) const </td></tr>
329
330<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if all vectors in <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> <code>X_in</code> have the same dimensionality as the model. <br></td></tr>
331<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b0f071e9a73256b5170c5d92430922"></a><!-- doxytag: member="itpp::MOG_diag::check_array_uniformity" ref="68b0f071e9a73256b5170c5d92430922" args="(const Array&lt; vec &gt; &amp;A) const " -->
332bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#68b0f071e9a73256b5170c5d92430922">check_array_uniformity</a> (const <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;A) const </td></tr>
333
334<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if all vectors in <a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> <code>X_in</code> have the same dimensionality. <br></td></tr>
335<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ad3115741081ee1137e1d9cb0a86728"></a><!-- doxytag: member="itpp::MOG_diag::set_means_internal" ref="9ad3115741081ee1137e1d9cb0a86728" args="(Array&lt; vec &gt; &amp;means_in)" -->
336void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#9ad3115741081ee1137e1d9cb0a86728">set_means_internal</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;means_in)</td></tr>
337
338<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
339<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20f6a520b2fae8e792086ab1187dcdc1"></a><!-- doxytag: member="itpp::MOG_diag::set_diag_covs_internal" ref="20f6a520b2fae8e792086ab1187dcdc1" args="(Array&lt; vec &gt; &amp;diag_covs_in)" -->
340void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#20f6a520b2fae8e792086ab1187dcdc1">set_diag_covs_internal</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;diag_covs_in)</td></tr>
341
342<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
343<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="495c868950c9c1d6a1c14f4ee8f46d64"></a><!-- doxytag: member="itpp::MOG_diag::set_full_covs_internal" ref="495c868950c9c1d6a1c14f4ee8f46d64" args="(Array&lt; mat &gt; &amp;full_covs_in)" -->
344void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#495c868950c9c1d6a1c14f4ee8f46d64">set_full_covs_internal</a> (<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;full_covs_in)</td></tr>
345
346<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
347<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40ef85a6ef1e2d0bb551f8244517053b"></a><!-- doxytag: member="itpp::MOG_diag::set_weights_internal" ref="40ef85a6ef1e2d0bb551f8244517053b" args="(vec &amp;_weigths)" -->
348void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#40ef85a6ef1e2d0bb551f8244517053b">set_weights_internal</a> (vec &amp;_weigths)</td></tr>
349
350<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
351<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d17a84c168993aebb36de7643d77e99d"></a><!-- doxytag: member="itpp::MOG_diag::set_means_zero_internal" ref="d17a84c168993aebb36de7643d77e99d" args="()" -->
352void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#d17a84c168993aebb36de7643d77e99d">set_means_zero_internal</a> ()</td></tr>
353
354<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
355<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9600f1d0f410b2e950f89b567436d36"></a><!-- doxytag: member="itpp::MOG_diag::set_diag_covs_unity_internal" ref="c9600f1d0f410b2e950f89b567436d36" args="()" -->
356void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c9600f1d0f410b2e950f89b567436d36">set_diag_covs_unity_internal</a> ()</td></tr>
357
358<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
359<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b83aa9cd884301793f9d73b4f4520031"></a><!-- doxytag: member="itpp::MOG_diag::set_full_covs_unity_internal" ref="b83aa9cd884301793f9d73b4f4520031" args="()" -->
360void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#b83aa9cd884301793f9d73b4f4520031">set_full_covs_unity_internal</a> ()</td></tr>
361
362<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
363<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25fae21ec832ab27fa5a1adb95162156"></a><!-- doxytag: member="itpp::MOG_diag::set_weights_uniform_internal" ref="25fae21ec832ab27fa5a1adb95162156" args="()" -->
364void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#25fae21ec832ab27fa5a1adb95162156">set_weights_uniform_internal</a> ()</td></tr>
365
366<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
367<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e4d8f80dc4ebac8ac5775431d756fe5"></a><!-- doxytag: member="itpp::MOG_diag::convert_to_diag_internal" ref="0e4d8f80dc4ebac8ac5775431d756fe5" args="()" -->
368void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#0e4d8f80dc4ebac8ac5775431d756fe5">convert_to_diag_internal</a> ()</td></tr>
369
370<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
371<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cfaccadb8f737d94478d407803cb801"></a><!-- doxytag: member="itpp::MOG_diag::convert_to_full_internal" ref="5cfaccadb8f737d94478d407803cb801" args="()" -->
372void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#5cfaccadb8f737d94478d407803cb801">convert_to_full_internal</a> ()</td></tr>
373
374<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
375<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be79ca91efff04dc1162ee889acc3475"></a><!-- doxytag: member="itpp::MOG_diag::log_lhood_single_gaus_internal" ref="be79ca91efff04dc1162ee889acc3475" args="(const vec &amp;x_in, const int k)" -->
376virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#be79ca91efff04dc1162ee889acc3475">log_lhood_single_gaus_internal</a> (const vec &amp;x_in, const int k)</td></tr>
377
378<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
379<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
380<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb8a22b9ee02908b00bb4030966d1158"></a><!-- doxytag: member="itpp::MOG_diag::c_means" ref="bb8a22b9ee02908b00bb4030966d1158" args="" -->
381double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#bb8a22b9ee02908b00bb4030966d1158">c_means</a></td></tr>
382
383<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the mean vectors <br></td></tr>
384<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f03b14c3cd71023eecdba1a3e4da29e3"></a><!-- doxytag: member="itpp::MOG_diag::c_diag_covs" ref="f03b14c3cd71023eecdba1a3e4da29e3" args="" -->
385double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#f03b14c3cd71023eecdba1a3e4da29e3">c_diag_covs</a></td></tr>
386
387<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the covariance vectors <br></td></tr>
388<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5587dc049fa3102add1301ac62cb2ddc"></a><!-- doxytag: member="itpp::MOG_diag::c_diag_covs_inv_etc" ref="5587dc049fa3102add1301ac62cb2ddc" args="" -->
389double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#5587dc049fa3102add1301ac62cb2ddc">c_diag_covs_inv_etc</a></td></tr>
390
391<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the inverted covariance vectors <br></td></tr>
392<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed5fc4b4a09d2b122f68e16a819ad9cf"></a><!-- doxytag: member="itpp::MOG_diag::c_weights" ref="ed5fc4b4a09d2b122f68e16a819ad9cf" args="" -->
393double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#ed5fc4b4a09d2b122f68e16a819ad9cf">c_weights</a></td></tr>
394
395<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the weight vector <br></td></tr>
396<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc7e67571386bd6975eccc937498c275"></a><!-- doxytag: member="itpp::MOG_diag::c_log_weights" ref="dc7e67571386bd6975eccc937498c275" args="" -->
397double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#dc7e67571386bd6975eccc937498c275">c_log_weights</a></td></tr>
398
399<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the log version of the weight vector <br></td></tr>
400<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4b45af4a5552a31a97956f08c972bbe"></a><!-- doxytag: member="itpp::MOG_diag::c_log_det_etc" ref="d4b45af4a5552a31a97956f08c972bbe" args="" -->
401double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d4b45af4a5552a31a97956f08c972bbe">c_log_det_etc</a></td></tr>
402
403<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the log_det_etc vector <br></td></tr>
404<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b30c5c34e3503df8378b043a8a7776b"></a><!-- doxytag: member="itpp::MOG_diag::do_checks" ref="4b30c5c34e3503df8378b043a8a7776b" args="" -->
405bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#4b30c5c34e3503df8378b043a8a7776b">do_checks</a></td></tr>
406
407<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether checks on input data are done <br></td></tr>
408<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e0bfdbd0726a10128c5cab0ee121061"></a><!-- doxytag: member="itpp::MOG_diag::valid" ref="6e0bfdbd0726a10128c5cab0ee121061" args="" -->
409bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#6e0bfdbd0726a10128c5cab0ee121061">valid</a></td></tr>
410
411<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether the parameters are valid <br></td></tr>
412<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2285742cd7425f18a97e461a0e6ec82"></a><!-- doxytag: member="itpp::MOG_diag::full" ref="d2285742cd7425f18a97e461a0e6ec82" args="" -->
413bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#d2285742cd7425f18a97e461a0e6ec82">full</a></td></tr>
414
415<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether we are using full or diagonal covariance matrices <br></td></tr>
416<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9483049eadafc782080888da20ce9dd"></a><!-- doxytag: member="itpp::MOG_diag::paranoid" ref="f9483049eadafc782080888da20ce9dd" args="" -->
417bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#f9483049eadafc782080888da20ce9dd">paranoid</a></td></tr>
418
419<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether we are paranoid about numerical stability <br></td></tr>
420<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51e3fd88ae69555151a939a7361e1762"></a><!-- doxytag: member="itpp::MOG_diag::K" ref="51e3fd88ae69555151a939a7361e1762" args="" -->
421int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#51e3fd88ae69555151a939a7361e1762">K</a></td></tr>
422
423<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of gaussians <br></td></tr>
424<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c03e7ca34817d33ecb3ec87f54e07cd7"></a><!-- doxytag: member="itpp::MOG_diag::D" ref="c03e7ca34817d33ecb3ec87f54e07cd7" args="" -->
425int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c03e7ca34817d33ecb3ec87f54e07cd7">D</a></td></tr>
426
427<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimensionality <br></td></tr>
428<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce3f0974dc90c7616a76088500e1cbea"></a><!-- doxytag: member="itpp::MOG_diag::means" ref="ce3f0974dc90c7616a76088500e1cbea" args="" -->
429<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#ce3f0974dc90c7616a76088500e1cbea">means</a></td></tr>
430
431<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">means <br></td></tr>
432<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b15093a04bd84221c44b794831ebecd0"></a><!-- doxytag: member="itpp::MOG_diag::diag_covs" ref="b15093a04bd84221c44b794831ebecd0" args="" -->
433<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#b15093a04bd84221c44b794831ebecd0">diag_covs</a></td></tr>
434
435<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">diagonal covariance matrices, stored as vectors <br></td></tr>
436<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25212d7e9406dd32620cd1f191562d8f"></a><!-- doxytag: member="itpp::MOG_diag::full_covs" ref="25212d7e9406dd32620cd1f191562d8f" args="" -->
437<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#25212d7e9406dd32620cd1f191562d8f">full_covs</a></td></tr>
438
439<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">full covariance matrices <br></td></tr>
440<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="903961e6632638e3d91e1b0b8a5f4817"></a><!-- doxytag: member="itpp::MOG_diag::weights" ref="903961e6632638e3d91e1b0b8a5f4817" args="" -->
441vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#903961e6632638e3d91e1b0b8a5f4817">weights</a></td></tr>
442
443<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">weights <br></td></tr>
444<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e63c0eb25aa38f9ee948e2566e239a2e"></a><!-- doxytag: member="itpp::MOG_diag::log_max_K" ref="e63c0eb25aa38f9ee948e2566e239a2e" args="" -->
445double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#e63c0eb25aa38f9ee948e2566e239a2e">log_max_K</a></td></tr>
446
447<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calcualted std::log(<a class="el" href="group__miscfunc.html#g343007ee24cfd630e8addeddd1d08e7d" title="Maximum value of vector.">std::numeric_limits&lt;double&gt;::max()</a> / K), where K is the number of Gaussians. <br></td></tr>
448<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c950e3b9cb8f9b1d71b93131455de32b">log_det_etc</a></td></tr>
449
450<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gaussian specific pre-calcualted constants.  <a href="#c950e3b9cb8f9b1d71b93131455de32b"></a><br></td></tr>
451<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8e7908f52565160667da80c03fcc0be"></a><!-- doxytag: member="itpp::MOG_diag::log_weights" ref="c8e7908f52565160667da80c03fcc0be" args="" -->
452vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c8e7908f52565160667da80c03fcc0be">log_weights</a></td></tr>
453
454<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calculated log versions of the weights. <br></td></tr>
455<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1324a33e5a5b5f9a75168415acc8a561"></a><!-- doxytag: member="itpp::MOG_diag::full_covs_inv" ref="1324a33e5a5b5f9a75168415acc8a561" args="" -->
456<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#1324a33e5a5b5f9a75168415acc8a561">full_covs_inv</a></td></tr>
457
458<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calcuated inverted version of each full covariance matrix. <br></td></tr>
459<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c74ddce5d7899b0fa8c28b4f6aeb731b"></a><!-- doxytag: member="itpp::MOG_diag::diag_covs_inv_etc" ref="c74ddce5d7899b0fa8c28b4f6aeb731b" args="" -->
460<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c74ddce5d7899b0fa8c28b4f6aeb731b">diag_covs_inv_etc</a></td></tr>
461
462<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calcuated inverted version of each diagonal covariance vector, where the covariance elements are first multiplied by two. <br></td></tr>
463</table>
464<hr><a name="_details"></a><h2>Detailed Description</h2>
465Diagonal Mixture of Gaussians (MOG) class.
466<p>
467<dl class="author" compact><dt><b>Author:</b></dt><dd>Conrad Sanderson</dd></dl>
468Used for representing a statistical distribution as a convex combination of multi-variate Gaussian functions. Also known as a Gaussian Mixture Model. This class allows loading and saving of the MOG's parameters, as well as calculation of likelihoods. The parameters are set by the user or an optimisation algorithm (for example, see the MOG_diag_EM class).<p>
469<dl class="note" compact><dt><b>Note:</b></dt><dd>This class is optimised for diagonal covariance matrices. For speed reasons it uses C style arrays for direct access to memory. </dd></dl>
470<hr><h2>Constructor &amp; Destructor Documentation</h2>
471<a class="anchor" name="1482b9cf97d70dec7d464397abfb746c"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="1482b9cf97d70dec7d464397abfb746c" args="()" -->
472<div class="memitem">
473<div class="memproto">
474      <table class="memname">
475        <tr>
476          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
477          <td>(</td>
478          <td class="paramname">          </td>
479          <td>&nbsp;)&nbsp;</td>
480          <td><code> [inline]</code></td>
481        </tr>
482      </table>
483</div>
484<div class="memdoc">
485
486<p>
487Default constructor.
488<p>
489<dl class="note" compact><dt><b>Note:</b></dt><dd>An empty model is created. The likelihood functions are not useable until the model's parameters are set </dd></dl>
490
491<p>References <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
492
493</div>
494</div><p>
495<a class="anchor" name="8938e294ab0280484dffd7d1e969ccff"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="8938e294ab0280484dffd7d1e969ccff" args="(const std::string &amp;name)" -->
496<div class="memitem">
497<div class="memproto">
498      <table class="memname">
499        <tr>
500          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
501          <td>(</td>
502          <td class="paramtype">const std::string &amp;&nbsp;</td>
503          <td class="paramname"> <em>name</em>          </td>
504          <td>&nbsp;)&nbsp;</td>
505          <td><code> [inline]</code></td>
506        </tr>
507      </table>
508</div>
509<div class="memdoc">
510
511<p>
512Construct the <a class="el" href="classitpp_1_1MOG__diag.html" title="Diagonal Mixture of Gaussians (MOG) class.">MOG_diag</a> object by loading the parameters from a model file.
513<p>
514<dl compact><dt><b>Parameters:</b></dt><dd>
515  <table border="0" cellspacing="2" cellpadding="0">
516    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The model's filename </td></tr>
517  </table>
518</dl>
519
520<p>References <a class="el" href="mog__diag_8cpp-source.html#l00277">load()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
521
522</div>
523</div><p>
524<a class="anchor" name="d7c6aa327b506c130059ca32d4cf4118"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="d7c6aa327b506c130059ca32d4cf4118" args="(const int &amp;K_in, const int &amp;D_in, bool full_in=false)" -->
525<div class="memitem">
526<div class="memproto">
527      <table class="memname">
528        <tr>
529          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
530          <td>(</td>
531          <td class="paramtype">const int &amp;&nbsp;</td>
532          <td class="paramname"> <em>K_in</em>, </td>
533        </tr>
534        <tr>
535          <td class="paramkey"></td>
536          <td></td>
537          <td class="paramtype">const int &amp;&nbsp;</td>
538          <td class="paramname"> <em>D_in</em>, </td>
539        </tr>
540        <tr>
541          <td class="paramkey"></td>
542          <td></td>
543          <td class="paramtype">bool&nbsp;</td>
544          <td class="paramname"> <em>full_in</em> = <code>false</code></td><td>&nbsp;</td>
545        </tr>
546        <tr>
547          <td></td>
548          <td>)</td>
549          <td></td><td></td><td><code> [inline]</code></td>
550        </tr>
551      </table>
552</div>
553<div class="memdoc">
554
555<p>
556construct a default model (all Gaussians have zero mean and unit variance for all dimensions)
557<p>
558<dl compact><dt><b>Parameters:</b></dt><dd>
559  <table border="0" cellspacing="2" cellpadding="0">
560    <tr><td valign="top"></td><td valign="top"><em>K_in</em>&nbsp;</td><td>Number of Gaussians </td></tr>
561    <tr><td valign="top"></td><td valign="top"><em>D_in</em>&nbsp;</td><td>Dimensionality </td></tr>
562    <tr><td valign="top"></td><td valign="top"><em>full_in</em>&nbsp;</td><td>Ignored. Present for compatability with the <a class="el" href="classitpp_1_1MOG__generic.html" title="Generic Mixture of Gaussians (MOG) class. Used as a base for other MOG classes.">MOG_generic</a> class </td></tr>
563  </table>
564</dl>
565
566<p>References <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
567
568</div>
569</div><p>
570<a class="anchor" name="4a01243572dc4dd3d599ce2c6a6b2b11"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="4a01243572dc4dd3d599ce2c6a6b2b11" args="(Array&lt; vec &gt; &amp;means_in, bool)" -->
571<div class="memitem">
572<div class="memproto">
573      <table class="memname">
574        <tr>
575          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
576          <td>(</td>
577          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
578          <td class="paramname"> <em>means_in</em>, </td>
579        </tr>
580        <tr>
581          <td class="paramkey"></td>
582          <td></td>
583          <td class="paramtype">bool&nbsp;</td>
584          <td class="paramname"></td><td>&nbsp;</td>
585        </tr>
586        <tr>
587          <td></td>
588          <td>)</td>
589          <td></td><td></td><td><code> [inline]</code></td>
590        </tr>
591      </table>
592</div>
593<div class="memdoc">
594
595<p>
596Construct a model using user supplied mean vectors.
597<p>
598<dl compact><dt><b>Parameters:</b></dt><dd>
599  <table border="0" cellspacing="2" cellpadding="0">
600    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
601  </table>
602</dl>
603<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of mean vectors specifies the number of Gaussians. The covariance matrices are in effect set equal to the identity matrix. The weights for all Gaussians are the same, equal to 1/K, where K is the number of Gaussians </dd></dl>
604
605<p>References <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
606
607</div>
608</div><p>
609<a class="anchor" name="0dc932131e6b3ce94b3f5d7ff50b5019"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="0dc932131e6b3ce94b3f5d7ff50b5019" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; vec &gt; &amp;diag_covs_in, vec &amp;weights_in)" -->
610<div class="memitem">
611<div class="memproto">
612      <table class="memname">
613        <tr>
614          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
615          <td>(</td>
616          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
617          <td class="paramname"> <em>means_in</em>, </td>
618        </tr>
619        <tr>
620          <td class="paramkey"></td>
621          <td></td>
622          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
623          <td class="paramname"> <em>diag_covs_in</em>, </td>
624        </tr>
625        <tr>
626          <td class="paramkey"></td>
627          <td></td>
628          <td class="paramtype">vec &amp;&nbsp;</td>
629          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
630        </tr>
631        <tr>
632          <td></td>
633          <td>)</td>
634          <td></td><td></td><td><code> [inline]</code></td>
635        </tr>
636      </table>
637</div>
638<div class="memdoc">
639
640<p>
641Construct a model using user supplied parameters (diagonal covariance version).
642<p>
643<dl compact><dt><b>Parameters:</b></dt><dd>
644  <table border="0" cellspacing="2" cellpadding="0">
645    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
646    <tr><td valign="top"></td><td valign="top"><em>diag_covs_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors representing diagonal covariances </td></tr>
647    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
648  </table>
649</dl>
650<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of mean vectors, covariance vectors and weights must be the same </dd></dl>
651
652<p>References <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
653
654</div>
655</div><p>
656<a class="anchor" name="09da7ec63d9d025d452369a6f7b6e48d"></a><!-- doxytag: member="itpp::MOG_diag::MOG_diag" ref="09da7ec63d9d025d452369a6f7b6e48d" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; mat &gt; &amp;full_covs_in, vec &amp;weights_in)" -->
657<div class="memitem">
658<div class="memproto">
659      <table class="memname">
660        <tr>
661          <td class="memname">itpp::MOG_diag::MOG_diag           </td>
662          <td>(</td>
663          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
664          <td class="paramname"> <em>means_in</em>, </td>
665        </tr>
666        <tr>
667          <td class="paramkey"></td>
668          <td></td>
669          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;&nbsp;</td>
670          <td class="paramname"> <em>full_covs_in</em>, </td>
671        </tr>
672        <tr>
673          <td class="paramkey"></td>
674          <td></td>
675          <td class="paramtype">vec &amp;&nbsp;</td>
676          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
677        </tr>
678        <tr>
679          <td></td>
680          <td>)</td>
681          <td></td><td></td><td><code> [inline]</code></td>
682        </tr>
683      </table>
684</div>
685<div class="memdoc">
686
687<p>
688Construct a model using user supplied parameters (full covariance version).
689<p>
690<dl compact><dt><b>Parameters:</b></dt><dd>
691  <table border="0" cellspacing="2" cellpadding="0">
692    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
693    <tr><td valign="top"></td><td valign="top"><em>full_covs_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of full covariance matrices </td></tr>
694    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
695  </table>
696</dl>
697<dl class="note" compact><dt><b>Note:</b></dt><dd>The full covariance matrices are converted to be diagonal. The number of mean vectors, covariance matrices and weights must be the same. </dd></dl>
698
699<p>References <a class="el" href="mog__generic_8cpp-source.html#l00499">itpp::MOG_generic::convert_to_diag()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00207">zero_all_ptrs()</a>.</p>
700
701</div>
702</div><p>
703<hr><h2>Member Function Documentation</h2>
704<a class="anchor" name="d22e7816dfb21d6e557d9ab3285f6a82"></a><!-- doxytag: member="itpp::MOG_diag::cleanup" ref="d22e7816dfb21d6e557d9ab3285f6a82" args="()" -->
705<div class="memitem">
706<div class="memproto">
707      <table class="memname">
708        <tr>
709          <td class="memname">void itpp::MOG_diag::cleanup           </td>
710          <td>(</td>
711          <td class="paramname">          </td>
712          <td>&nbsp;)&nbsp;</td>
713          <td><code> [inline, virtual]</code></td>
714        </tr>
715      </table>
716</div>
717<div class="memdoc">
718
719<p>
720Release memory used by the model. The model will be empty.
721<p>
722<dl class="note" compact><dt><b>Note:</b></dt><dd>The likelihood functions are not useable until the model's parameters are re-initialised </dd></dl>
723
724<p>Reimplemented from <a class="el" href="classitpp_1_1MOG__generic.html#2954f4c30d0f58197d18a886bd17bcee">itpp::MOG_generic</a>.</p>
725
726<p>References <a class="el" href="mog__diag_8cpp-source.html#l00219">free_all_ptrs()</a>.</p>
727
728<p>Referenced by <a class="el" href="mog__diag__em_8cpp-source.html#l00228">itpp::MOG_diag_EM_sup::ml()</a>, <a class="el" href="mog__diag__kmeans_8cpp-source.html#l00264">itpp::MOG_diag_kmeans_sup::run()</a>, and <a class="el" href="mog__diag_8h-source.html#l00104">~MOG_diag()</a>.</p>
729
730</div>
731</div><p>
732<a class="anchor" name="3bf2b05e3069a3d0082e372dc455bd9d"></a><!-- doxytag: member="itpp::MOG_diag::convert_to_diag" ref="3bf2b05e3069a3d0082e372dc455bd9d" args="()" -->
733<div class="memitem">
734<div class="memproto">
735      <table class="memname">
736        <tr>
737          <td class="memname">void itpp::MOG_generic::convert_to_diag           </td>
738          <td>(</td>
739          <td class="paramname">          </td>
740          <td>&nbsp;)&nbsp;</td>
741          <td><code> [virtual, inherited]</code></td>
742        </tr>
743      </table>
744</div>
745<div class="memdoc">
746
747<p>
748Convert the model to use diagonal covariances.
749<p>
750<dl class="note" compact><dt><b>Note:</b></dt><dd>If the model is already diagonal, nothing is done. If the model has full covariance matrices, this results in irreversible information loss (in effect the off-diagonal covariance elements are now zero) </dd></dl>
751
752<p>References <a class="el" href="mog__generic_8cpp-source.html#l00486">itpp::MOG_generic::convert_to_diag_internal()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
753
754<p>Referenced by <a class="el" href="mog__diag_8cpp-source.html#l00277">load()</a>, and <a class="el" href="mog__diag_8h-source.html#l00101">MOG_diag()</a>.</p>
755
756</div>
757</div><p>
758<a class="anchor" name="3fdd538826fedfe7fc9ee4f198ef1a89"></a><!-- doxytag: member="itpp::MOG_diag::init" ref="3fdd538826fedfe7fc9ee4f198ef1a89" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; mat &gt; &amp;full_covs_in, vec &amp;weights_in)" -->
759<div class="memitem">
760<div class="memproto">
761      <table class="memname">
762        <tr>
763          <td class="memname">void itpp::MOG_generic::init           </td>
764          <td>(</td>
765          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
766          <td class="paramname"> <em>means_in</em>, </td>
767        </tr>
768        <tr>
769          <td class="paramkey"></td>
770          <td></td>
771          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;&nbsp;</td>
772          <td class="paramname"> <em>full_covs_in</em>, </td>
773        </tr>
774        <tr>
775          <td class="paramkey"></td>
776          <td></td>
777          <td class="paramtype">vec &amp;&nbsp;</td>
778          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
779        </tr>
780        <tr>
781          <td></td>
782          <td>)</td>
783          <td></td><td></td><td><code> [inherited]</code></td>
784        </tr>
785      </table>
786</div>
787<div class="memdoc">
788
789<p>
790Initialise the model using user supplied parameters (full covariance version).
791<p>
792<dl compact><dt><b>Parameters:</b></dt><dd>
793  <table border="0" cellspacing="2" cellpadding="0">
794    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
795    <tr><td valign="top"></td><td valign="top"><em>full_covs_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of covariance matrices </td></tr>
796    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
797  </table>
798</dl>
799<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of mean vectors, covariance matrices and weights must be the same </dd></dl>
800
801<p>References <a class="el" href="mog__generic_8cpp-source.html#l00144">itpp::MOG_generic::check_array_uniformity()</a>, <a class="el" href="mog__generic_8h-source.html#l00294">itpp::MOG_generic::D</a>, <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="itassert_8h-source.html#l00094">it_assert</a>, <a class="el" href="mog__generic_8h-source.html#l00291">itpp::MOG_generic::K</a>, <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>, <a class="el" href="mog__generic_8cpp-source.html#l00200">itpp::MOG_generic::set_full_covs_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00164">itpp::MOG_generic::set_means_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00225">itpp::MOG_generic::set_weights_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00321">itpp::MOG_generic::setup_misc()</a>, <a class="el" href="array_8h-source.html#l00155">itpp::Array&lt; T &gt;::size()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
802
803</div>
804</div><p>
805<a class="anchor" name="7e016be79a1e1a2f3e25b1b27713cf91"></a><!-- doxytag: member="itpp::MOG_diag::init" ref="7e016be79a1e1a2f3e25b1b27713cf91" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; vec &gt; &amp;diag_covs_in, vec &amp;weights_in)" -->
806<div class="memitem">
807<div class="memproto">
808      <table class="memname">
809        <tr>
810          <td class="memname">void itpp::MOG_generic::init           </td>
811          <td>(</td>
812          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
813          <td class="paramname"> <em>means_in</em>, </td>
814        </tr>
815        <tr>
816          <td class="paramkey"></td>
817          <td></td>
818          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
819          <td class="paramname"> <em>diag_covs_in</em>, </td>
820        </tr>
821        <tr>
822          <td class="paramkey"></td>
823          <td></td>
824          <td class="paramtype">vec &amp;&nbsp;</td>
825          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
826        </tr>
827        <tr>
828          <td></td>
829          <td>)</td>
830          <td></td><td></td><td><code> [inherited]</code></td>
831        </tr>
832      </table>
833</div>
834<div class="memdoc">
835
836<p>
837Initialise the model using user supplied parameters (diagonal covariance version).
838<p>
839<dl compact><dt><b>Parameters:</b></dt><dd>
840  <table border="0" cellspacing="2" cellpadding="0">
841    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
842    <tr><td valign="top"></td><td valign="top"><em>diag_covs_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of vectors representing diagonal covariances </td></tr>
843    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
844  </table>
845</dl>
846<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of mean vectors, covariance vectors and weights must be the same </dd></dl>
847
848<p>References <a class="el" href="mog__generic_8cpp-source.html#l00144">itpp::MOG_generic::check_array_uniformity()</a>, <a class="el" href="mog__generic_8h-source.html#l00294">itpp::MOG_generic::D</a>, <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="itassert_8h-source.html#l00094">it_assert</a>, <a class="el" href="mog__generic_8h-source.html#l00291">itpp::MOG_generic::K</a>, <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>, <a class="el" href="mog__generic_8cpp-source.html#l00180">itpp::MOG_generic::set_diag_covs_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00164">itpp::MOG_generic::set_means_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00225">itpp::MOG_generic::set_weights_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00321">itpp::MOG_generic::setup_misc()</a>, <a class="el" href="array_8h-source.html#l00155">itpp::Array&lt; T &gt;::size()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
849
850</div>
851</div><p>
852<a class="anchor" name="1373b38028afae89ac7566adbb2a2ab5"></a><!-- doxytag: member="itpp::MOG_diag::init" ref="1373b38028afae89ac7566adbb2a2ab5" args="(Array&lt; vec &gt; &amp;means_in, bool full_in=false)" -->
853<div class="memitem">
854<div class="memproto">
855      <table class="memname">
856        <tr>
857          <td class="memname">void itpp::MOG_generic::init           </td>
858          <td>(</td>
859          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
860          <td class="paramname"> <em>means_in</em>, </td>
861        </tr>
862        <tr>
863          <td class="paramkey"></td>
864          <td></td>
865          <td class="paramtype">bool&nbsp;</td>
866          <td class="paramname"> <em>full_in</em> = <code>false</code></td><td>&nbsp;</td>
867        </tr>
868        <tr>
869          <td></td>
870          <td>)</td>
871          <td></td><td></td><td><code> [inherited]</code></td>
872        </tr>
873      </table>
874</div>
875<div class="memdoc">
876
877<p>
878Initialise the model using user supplied mean vectors.
879<p>
880<dl compact><dt><b>Parameters:</b></dt><dd>
881  <table border="0" cellspacing="2" cellpadding="0">
882    <tr><td valign="top"></td><td valign="top"><em>means_in</em>&nbsp;</td><td><a class="el" href="classitpp_1_1Array.html" title="General array class.">Array</a> of mean vectors </td></tr>
883    <tr><td valign="top"></td><td valign="top"><em>full_in</em>&nbsp;</td><td>If true, use full covariance matrices; if false, use diagonal covariance matrices. Default = false. </td></tr>
884  </table>
885</dl>
886<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of mean vectors specifies the number of Gaussians. The covariance matrices are set to the identity matrix. The weights for all Gaussians are the same, equal to 1/K, where K is the number of Gaussians </dd></dl>
887
888<p>References <a class="el" href="mog__generic_8cpp-source.html#l00144">itpp::MOG_generic::check_array_uniformity()</a>, <a class="el" href="mog__generic_8h-source.html#l00294">itpp::MOG_generic::D</a>, <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="itassert_8h-source.html#l00094">it_assert</a>, <a class="el" href="mog__generic_8h-source.html#l00291">itpp::MOG_generic::K</a>, <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>, <a class="el" href="mog__generic_8cpp-source.html#l00241">itpp::MOG_generic::set_diag_covs_unity_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00253">itpp::MOG_generic::set_full_covs_unity_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00351">itpp::MOG_generic::set_means()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00269">itpp::MOG_generic::set_weights_uniform_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00321">itpp::MOG_generic::setup_misc()</a>, <a class="el" href="array_8h-source.html#l00155">itpp::Array&lt; T &gt;::size()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
889
890</div>
891</div><p>
892<a class="anchor" name="3b73c4ad6feeb3588b7e379fca6eae3c"></a><!-- doxytag: member="itpp::MOG_diag::init" ref="3b73c4ad6feeb3588b7e379fca6eae3c" args="(const int &amp;K_in, const int &amp;D_in, bool full_in=false)" -->
893<div class="memitem">
894<div class="memproto">
895      <table class="memname">
896        <tr>
897          <td class="memname">void itpp::MOG_generic::init           </td>
898          <td>(</td>
899          <td class="paramtype">const int &amp;&nbsp;</td>
900          <td class="paramname"> <em>K_in</em>, </td>
901        </tr>
902        <tr>
903          <td class="paramkey"></td>
904          <td></td>
905          <td class="paramtype">const int &amp;&nbsp;</td>
906          <td class="paramname"> <em>D_in</em>, </td>
907        </tr>
908        <tr>
909          <td class="paramkey"></td>
910          <td></td>
911          <td class="paramtype">bool&nbsp;</td>
912          <td class="paramname"> <em>full_in</em> = <code>false</code></td><td>&nbsp;</td>
913        </tr>
914        <tr>
915          <td></td>
916          <td>)</td>
917          <td></td><td></td><td><code> [inherited]</code></td>
918        </tr>
919      </table>
920</div>
921<div class="memdoc">
922
923<p>
924initialise the model so that all Gaussians have zero mean and unit variance for all dimensions
925<p>
926<dl compact><dt><b>Parameters:</b></dt><dd>
927  <table border="0" cellspacing="2" cellpadding="0">
928    <tr><td valign="top"></td><td valign="top"><em>K_in</em>&nbsp;</td><td>Number of Gaussians </td></tr>
929    <tr><td valign="top"></td><td valign="top"><em>D_in</em>&nbsp;</td><td>Dimensionality </td></tr>
930    <tr><td valign="top"></td><td valign="top"><em>full_in</em>&nbsp;</td><td>If true, use full covariance matrices; if false, use diagonal covariance matrices. Default = false. </td></tr>
931  </table>
932</dl>
933
934<p>References <a class="el" href="mog__generic_8h-source.html#l00294">itpp::MOG_generic::D</a>, <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="itassert_8h-source.html#l00094">it_assert</a>, <a class="el" href="mog__generic_8h-source.html#l00291">itpp::MOG_generic::K</a>, <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>, <a class="el" href="mog__generic_8cpp-source.html#l00241">itpp::MOG_generic::set_diag_covs_unity_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00253">itpp::MOG_generic::set_full_covs_unity_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00156">itpp::MOG_generic::set_means_zero_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00269">itpp::MOG_generic::set_weights_uniform_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00321">itpp::MOG_generic::setup_misc()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
935
936</div>
937</div><p>
938<a class="anchor" name="331210d0a4ebfbab47d1ba64c8033879"></a><!-- doxytag: member="itpp::MOG_diag::init" ref="331210d0a4ebfbab47d1ba64c8033879" args="()" -->
939<div class="memitem">
940<div class="memproto">
941      <table class="memname">
942        <tr>
943          <td class="memname">void itpp::MOG_generic::init           </td>
944          <td>(</td>
945          <td class="paramname">          </td>
946          <td>&nbsp;)&nbsp;</td>
947          <td><code> [inherited]</code></td>
948        </tr>
949      </table>
950</div>
951<div class="memdoc">
952
953<p>
954Initialise the model to be empty.
955<p>
956<dl class="note" compact><dt><b>Note:</b></dt><dd>The likelihood functions are not useable until the model's parameters are set </dd></dl>
957
958<p>References <a class="el" href="mog__generic_8cpp-source.html#l00329">itpp::MOG_generic::cleanup()</a>.</p>
959
960<p>Referenced by <a class="el" href="mog__generic_8cpp-source.html#l00453">itpp::MOG_generic::join()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00407">itpp::MOG_generic::load()</a>, <a class="el" href="mog__diag__em_8cpp-source.html#l00228">itpp::MOG_diag_EM_sup::ml()</a>, <a class="el" href="mog__diag_8h-source.html#l00064">MOG_diag()</a>, <a class="el" href="mog__generic_8h-source.html#l00066">itpp::MOG_generic::MOG_generic()</a>, and <a class="el" href="mog__diag__kmeans_8cpp-source.html#l00264">itpp::MOG_diag_kmeans_sup::run()</a>.</p>
961
962</div>
963</div><p>
964<a class="anchor" name="bccd9353a67e9bda9f1db8872487ec30"></a><!-- doxytag: member="itpp::MOG_diag::join" ref="bccd9353a67e9bda9f1db8872487ec30" args="(const MOG_generic &amp;B_in)" -->
965<div class="memitem">
966<div class="memproto">
967      <table class="memname">
968        <tr>
969          <td class="memname">void itpp::MOG_generic::join           </td>
970          <td>(</td>
971          <td class="paramtype">const <a class="el" href="classitpp_1_1MOG__generic.html">MOG_generic</a> &amp;&nbsp;</td>
972          <td class="paramname"> <em>B_in</em>          </td>
973          <td>&nbsp;)&nbsp;</td>
974          <td><code> [virtual, inherited]</code></td>
975        </tr>
976      </table>
977</div>
978<div class="memdoc">
979
980<p>
981Mathematically join the model with a user supplied model.
982<p>
983<dl compact><dt><b>Parameters:</b></dt><dd>
984  <table border="0" cellspacing="2" cellpadding="0">
985    <tr><td valign="top"></td><td valign="top"><em>B_in</em>&nbsp;</td><td>user supplied model </td></tr>
986  </table>
987</dl>
988<dl class="note" compact><dt><b>Note:</b></dt><dd>The Arrays of mean vectors and covariance vectors/matrices from the two models are simply concatenated, while the weights of the resultant model are a function of the original weights and numbers of Gaussians from both models. Specifically, <img class="formulaInl" alt="$ w_{new} = [ \alpha \cdot w_{A} ~~~ \beta \cdot w_{B} ]^T $" src="form_388.png">, where <img class="formulaInl" alt="$ w_{new} $" src="form_389.png"> is the new weight vector, <img class="formulaInl" alt="$ w_{A} $" src="form_390.png"> and <img class="formulaInl" alt="$ w_{B} $" src="form_391.png"> are the weight vectors from model A and B, while <img class="formulaInl" alt="$ \alpha = K_A / (K_A + KB_in) $" src="form_392.png"> and <img class="formulaInl" alt="$ \beta = 1-\alpha $" src="form_393.png">. In turn, <img class="formulaInl" alt="$ K_A $" src="form_394.png"> and <img class="formulaInl" alt="$ KB_in $" src="form_395.png"> are the numbers of Gaussians in model A and B, respectively.</dd></dl>
989See <a href="http://dx.doi.org/10.1016/j.patcog.2005.07.001">On transforming statistical models...</a> for more information.
990<p>References <a class="el" href="mog__generic_8h-source.html#l00294">itpp::MOG_generic::D</a>, <a class="el" href="mog__generic_8h-source.html#l00300">itpp::MOG_generic::diag_covs</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="mog__generic_8h-source.html#l00303">itpp::MOG_generic::full_covs</a>, <a class="el" href="mog__generic_8h-source.html#l00162">itpp::MOG_generic::get_D()</a>, <a class="el" href="mog__generic_8h-source.html#l00171">itpp::MOG_generic::get_diag_covs()</a>, <a class="el" href="mog__generic_8h-source.html#l00174">itpp::MOG_generic::get_full_covs()</a>, <a class="el" href="mog__generic_8h-source.html#l00159">itpp::MOG_generic::get_K()</a>, <a class="el" href="mog__generic_8h-source.html#l00168">itpp::MOG_generic::get_means()</a>, <a class="el" href="mog__generic_8h-source.html#l00165">itpp::MOG_generic::get_weights()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00043">itpp::MOG_generic::init()</a>, <a class="el" href="mog__generic_8h-source.html#l00156">itpp::MOG_generic::is_full()</a>, <a class="el" href="mog__generic_8h-source.html#l00153">itpp::MOG_generic::is_valid()</a>, <a class="el" href="itassert_8h-source.html#l00094">it_assert</a>, <a class="el" href="mog__generic_8h-source.html#l00291">itpp::MOG_generic::K</a>, <a class="el" href="mog__generic_8h-source.html#l00297">itpp::MOG_generic::means</a>, <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>, and <a class="el" href="mog__generic_8h-source.html#l00306">itpp::MOG_generic::weights</a>.</p>
991
992</div>
993</div><p>
994<a class="anchor" name="655176beb0593c93853c25cbe889ab4d"></a><!-- doxytag: member="itpp::MOG_diag::load" ref="655176beb0593c93853c25cbe889ab4d" args="(const std::string &amp;name_in)" -->
995<div class="memitem">
996<div class="memproto">
997      <table class="memname">
998        <tr>
999          <td class="memname">void itpp::MOG_diag::load           </td>
1000          <td>(</td>
1001          <td class="paramtype">const std::string &amp;&nbsp;</td>
1002          <td class="paramname"> <em>name_in</em>          </td>
1003          <td>&nbsp;)&nbsp;</td>
1004          <td><code> [virtual]</code></td>
1005        </tr>
1006      </table>
1007</div>
1008<div class="memdoc">
1009
1010<p>
1011Initialise the model by loading the parameters from a model file.
1012<p>
1013<dl compact><dt><b>Parameters:</b></dt><dd>
1014  <table border="0" cellspacing="2" cellpadding="0">
1015    <tr><td valign="top"></td><td valign="top"><em>name_in</em>&nbsp;</td><td>The model's filename </td></tr>
1016  </table>
1017</dl>
1018<dl class="note" compact><dt><b>Note:</b></dt><dd>If the model file contains a full covariance matrix model, the covariance matrices will be converted to be diagonal after loading. </dd></dl>
1019
1020<p>Reimplemented from <a class="el" href="classitpp_1_1MOG__generic.html#e6601e39373de56c23a52ca7eaabfbed">itpp::MOG_generic</a>.</p>
1021
1022<p>References <a class="el" href="mog__generic_8cpp-source.html#l00499">itpp::MOG_generic::convert_to_diag()</a>, and <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>.</p>
1023
1024<p>Referenced by <a class="el" href="mog__diag_8h-source.html#l00069">MOG_diag()</a>.</p>
1025
1026</div>
1027</div><p>
1028<a class="anchor" name="c9446a81ab2227128e8a4180a082c809"></a><!-- doxytag: member="itpp::MOG_diag::save" ref="c9446a81ab2227128e8a4180a082c809" args="(const std::string &amp;name_in) const " -->
1029<div class="memitem">
1030<div class="memproto">
1031      <table class="memname">
1032        <tr>
1033          <td class="memname">void itpp::MOG_generic::save           </td>
1034          <td>(</td>
1035          <td class="paramtype">const std::string &amp;&nbsp;</td>
1036          <td class="paramname"> <em>name_in</em>          </td>
1037          <td>&nbsp;)&nbsp;</td>
1038          <td> const<code> [virtual, inherited]</code></td>
1039        </tr>
1040      </table>
1041</div>
1042<div class="memdoc">
1043
1044<p>
1045Save the model's parameters to a model file.
1046<p>
1047<dl compact><dt><b>Parameters:</b></dt><dd>
1048  <table border="0" cellspacing="2" cellpadding="0">
1049    <tr><td valign="top"></td><td valign="top"><em>name_in</em>&nbsp;</td><td>The model's filename </td></tr>
1050  </table>
1051</dl>
1052
1053<p>References <a class="el" href="itfile_8cpp-source.html#l00532">itpp::it_file::close()</a>, <a class="el" href="mog__generic_8h-source.html#l00300">itpp::MOG_generic::diag_covs</a>, <a class="el" href="mog__generic_8h-source.html#l00285">itpp::MOG_generic::full</a>, <a class="el" href="mog__generic_8h-source.html#l00303">itpp::MOG_generic::full_covs</a>, <a class="el" href="mog__generic_8h-source.html#l00297">itpp::MOG_generic::means</a>, <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>, and <a class="el" href="mog__generic_8h-source.html#l00306">itpp::MOG_generic::weights</a>.</p>
1054
1055</div>
1056</div><p>
1057<a class="anchor" name="1fdbb97943bbb5bd634b062750f17f67"></a><!-- doxytag: member="itpp::MOG_diag::set_checks" ref="1fdbb97943bbb5bd634b062750f17f67" args="(bool do_checks_in)" -->
1058<div class="memitem">
1059<div class="memproto">
1060      <table class="memname">
1061        <tr>
1062          <td class="memname">void itpp::MOG_generic::set_checks           </td>
1063          <td>(</td>
1064          <td class="paramtype">bool&nbsp;</td>
1065          <td class="paramname"> <em>do_checks_in</em>          </td>
1066          <td>&nbsp;)&nbsp;</td>
1067          <td><code> [inline, inherited]</code></td>
1068        </tr>
1069      </table>
1070</div>
1071<div class="memdoc">
1072
1073<p>
1074Enable/disable internal checks for likelihood functions.
1075<p>
1076<dl compact><dt><b>Parameters:</b></dt><dd>
1077  <table border="0" cellspacing="2" cellpadding="0">
1078    <tr><td valign="top"></td><td valign="top"><em>do_checks_in</em>&nbsp;</td><td>If true, checks are enabled; if false, checks are disabled </td></tr>
1079  </table>
1080</dl>
1081<dl class="note" compact><dt><b>Note:</b></dt><dd>Disabling checks will provide a speedup in the likelihood functions. Disable them only when you're happy that everything is working correctly. </dd></dl>
1082
1083<p>References <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>.</p>
1084
1085</div>
1086</div><p>
1087<a class="anchor" name="bb90adbcf6e3963dc63ce7fdc409faff"></a><!-- doxytag: member="itpp::MOG_diag::set_diag_covs" ref="bb90adbcf6e3963dc63ce7fdc409faff" args="(Array&lt; vec &gt; &amp;diag_covs_in)" -->
1088<div class="memitem">
1089<div class="memproto">
1090      <table class="memname">
1091        <tr>
1092          <td class="memname">void itpp::MOG_generic::set_diag_covs           </td>
1093          <td>(</td>
1094          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
1095          <td class="paramname"> <em>diag_covs_in</em>          </td>
1096          <td>&nbsp;)&nbsp;</td>
1097          <td><code> [inherited]</code></td>
1098        </tr>
1099      </table>
1100</div>
1101<div class="memdoc">
1102
1103<p>
1104Set the diagonal covariance vectors of the model.
1105<p>
1106<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of diagonal covariance vectors must match the number of Gaussians in the model </dd></dl>
1107
1108<p>References <a class="el" href="mog__generic_8cpp-source.html#l00180">itpp::MOG_generic::set_diag_covs_internal()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
1109
1110</div>
1111</div><p>
1112<a class="anchor" name="7582399d9bdbfa90eb1fe2381af6b5fb"></a><!-- doxytag: member="itpp::MOG_diag::set_full_covs" ref="7582399d9bdbfa90eb1fe2381af6b5fb" args="(Array&lt; mat &gt; &amp;full_covs_in)" -->
1113<div class="memitem">
1114<div class="memproto">
1115      <table class="memname">
1116        <tr>
1117          <td class="memname">void itpp::MOG_generic::set_full_covs           </td>
1118          <td>(</td>
1119          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;&nbsp;</td>
1120          <td class="paramname"> <em>full_covs_in</em>          </td>
1121          <td>&nbsp;)&nbsp;</td>
1122          <td><code> [inherited]</code></td>
1123        </tr>
1124      </table>
1125</div>
1126<div class="memdoc">
1127
1128<p>
1129Set the full covariance matrices of the model.
1130<p>
1131<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of covariance matrices must match the number of Gaussians in the model </dd></dl>
1132
1133<p>References <a class="el" href="mog__generic_8cpp-source.html#l00200">itpp::MOG_generic::set_full_covs_internal()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
1134
1135</div>
1136</div><p>
1137<a class="anchor" name="7cecfa0184f63f928381103dcff050ff"></a><!-- doxytag: member="itpp::MOG_diag::set_means" ref="7cecfa0184f63f928381103dcff050ff" args="(Array&lt; vec &gt; &amp;means_in)" -->
1138<div class="memitem">
1139<div class="memproto">
1140      <table class="memname">
1141        <tr>
1142          <td class="memname">void itpp::MOG_generic::set_means           </td>
1143          <td>(</td>
1144          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
1145          <td class="paramname"> <em>means_in</em>          </td>
1146          <td>&nbsp;)&nbsp;</td>
1147          <td><code> [inherited]</code></td>
1148        </tr>
1149      </table>
1150</div>
1151<div class="memdoc">
1152
1153<p>
1154Set the means of the model.
1155<p>
1156<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of means must match the number of Gaussians in the model </dd></dl>
1157
1158<p>References <a class="el" href="mog__generic_8cpp-source.html#l00164">itpp::MOG_generic::set_means_internal()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
1159
1160<p>Referenced by <a class="el" href="mog__generic_8cpp-source.html#l00069">itpp::MOG_generic::init()</a>.</p>
1161
1162</div>
1163</div><p>
1164<a class="anchor" name="edd93bdbe6f111a6f49e3b7176fa7c08"></a><!-- doxytag: member="itpp::MOG_diag::set_paranoid" ref="edd93bdbe6f111a6f49e3b7176fa7c08" args="(bool paranoid_in)" -->
1165<div class="memitem">
1166<div class="memproto">
1167      <table class="memname">
1168        <tr>
1169          <td class="memname">void itpp::MOG_generic::set_paranoid           </td>
1170          <td>(</td>
1171          <td class="paramtype">bool&nbsp;</td>
1172          <td class="paramname"> <em>paranoid_in</em>          </td>
1173          <td>&nbsp;)&nbsp;</td>
1174          <td><code> [inline, inherited]</code></td>
1175        </tr>
1176      </table>
1177</div>
1178<div class="memdoc">
1179
1180<p>
1181Enable/disable paranoia about numerical stability.
1182<p>
1183<dl compact><dt><b>Parameters:</b></dt><dd>
1184  <table border="0" cellspacing="2" cellpadding="0">
1185    <tr><td valign="top"></td><td valign="top"><em>paranoid_in</em>&nbsp;</td><td>If true, calculate likelihoods using a safer, but slower method. </td></tr>
1186  </table>
1187</dl>
1188
1189<p>References <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>.</p>
1190
1191</div>
1192</div><p>
1193<a class="anchor" name="f208b278df2f6334099b246c156094e0"></a><!-- doxytag: member="itpp::MOG_diag::set_weights" ref="f208b278df2f6334099b246c156094e0" args="(vec &amp;weights_in)" -->
1194<div class="memitem">
1195<div class="memproto">
1196      <table class="memname">
1197        <tr>
1198          <td class="memname">void itpp::MOG_generic::set_weights           </td>
1199          <td>(</td>
1200          <td class="paramtype">vec &amp;&nbsp;</td>
1201          <td class="paramname"> <em>weights_in</em>          </td>
1202          <td>&nbsp;)&nbsp;</td>
1203          <td><code> [inherited]</code></td>
1204        </tr>
1205      </table>
1206</div>
1207<div class="memdoc">
1208
1209<p>
1210Set the weight vector of the model.
1211<p>
1212<dl class="note" compact><dt><b>Note:</b></dt><dd>The number of elements in the weight vector must match the number of Gaussians in the model </dd></dl>
1213
1214<p>References <a class="el" href="mog__generic_8cpp-source.html#l00225">itpp::MOG_generic::set_weights_internal()</a>, and <a class="el" href="mog__generic_8h-source.html#l00282">itpp::MOG_generic::valid</a>.</p>
1215
1216</div>
1217</div><p>
1218<hr><h2>Member Data Documentation</h2>
1219<a class="anchor" name="c950e3b9cb8f9b1d71b93131455de32b"></a><!-- doxytag: member="itpp::MOG_diag::log_det_etc" ref="c950e3b9cb8f9b1d71b93131455de32b" args="" -->
1220<div class="memitem">
1221<div class="memproto">
1222      <table class="memname">
1223        <tr>
1224          <td class="memname">vec <a class="el" href="classitpp_1_1MOG__generic.html#c950e3b9cb8f9b1d71b93131455de32b">itpp::MOG_generic::log_det_etc</a><code> [protected, inherited]</code>          </td>
1225        </tr>
1226      </table>
1227</div>
1228<div class="memdoc">
1229
1230<p>
1231Gaussian specific pre-calcualted constants.
1232<p>
1233<dl class="note" compact><dt><b>Note:</b></dt><dd>Vector of pre-calculated <img class="formulaInl" alt="$ -\frac{D}{2}\log(2\pi) -\frac{1}{2}\log(|\Sigma|) $" src="form_396.png"> for each Gaussian, where <img class="formulaInl" alt="$ D $" src="form_397.png"> is the dimensionality and <img class="formulaInl" alt="$ |\Sigma| $" src="form_398.png"> is the determinant for the Gaussian's covariance matrix <img class="formulaInl" alt="$ \Sigma $" src="form_399.png">. </dd></dl>
1234
1235<p>Referenced by <a class="el" href="mog__generic_8cpp-source.html#l00329">itpp::MOG_generic::cleanup()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00526">itpp::MOG_generic::log_lhood_single_gaus_internal()</a>, <a class="el" href="mog__generic_8cpp-source.html#l00279">itpp::MOG_generic::setup_covs()</a>, and <a class="el" href="mog__diag_8cpp-source.html#l00239">setup_covs()</a>.</p>
1236
1237</div>
1238</div><p>
1239<hr>The documentation for this class was generated from the following files:<ul>
1240<li><a class="el" href="mog__diag_8h-source.html">mog_diag.h</a><li><a class="el" href="mog__diag_8cpp.html">mog_diag.cpp</a></ul>
1241</div>
1242<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
1243<a href="http://www.doxygen.org/index.html">
1244<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1245</body>
1246</html>
Note: See TracBrowser for help on using the browser.