root/doc/html/classitpp_1_1MOG__diag__kmeans__sup.html @ 354

Revision 353, 102.0 kB (checked in by smidl, 15 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_kmeans_sup 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__kmeans__sup.html">MOG_diag_kmeans_sup</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::MOG_diag_kmeans_sup Class Reference</h1><!-- doxytag: class="itpp::MOG_diag_kmeans_sup" --><!-- doxytag: inherits="itpp::MOG_diag" -->support class for <a class="el" href="group__MOG.html#gdeb91bf337a38234135d6d402e3143b3">MOG_diag_kmeans()</a> 
72<a href="#_details">More...</a>
73<p>
74<code>#include &lt;<a class="el" href="mog__diag__kmeans_8h-source.html">mog_diag_kmeans.h</a>&gt;</code>
75<p>
76
77<p>
78<a href="classitpp_1_1MOG__diag__kmeans__sup-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
79<tr><td></td></tr>
80<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
81<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c39d71b74197769332e6a6faaa2d6b3"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::MOG_diag_kmeans_sup" ref="7c39d71b74197769332e6a6faaa2d6b3" args="()" -->
82&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#7c39d71b74197769332e6a6faaa2d6b3">MOG_diag_kmeans_sup</a> ()</td></tr>
83
84<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
85<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="50fb4b3bcdd392fefef740ee27e3f23a"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::~MOG_diag_kmeans_sup" ref="50fb4b3bcdd392fefef740ee27e3f23a" args="()" -->
86&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#50fb4b3bcdd392fefef740ee27e3f23a">~MOG_diag_kmeans_sup</a> ()</td></tr>
87
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <br></td></tr>
89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04cf54ca4326b599f0efa5765a442cc8"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::run" ref="04cf54ca4326b599f0efa5765a442cc8" args="(MOG_diag &amp;model_in, Array&lt; vec &gt; &amp;X_in, int max_iter_in=10, double trust_in=0.5, bool normalise_in=true, bool verbose_in=false)" -->
90void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#04cf54ca4326b599f0efa5765a442cc8">run</a> (<a class="el" href="classitpp_1_1MOG__diag.html">MOG_diag</a> &amp;model_in, <a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;X_in, int max_iter_in=10, double trust_in=0.5, bool normalise_in=true, bool verbose_in=false)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
93<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>
94
95<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>
96<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>
97
98<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>
99<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d9e508bc4d26eee3c198748ea78530a"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::convert_to_full" ref="8d9e508bc4d26eee3c198748ea78530a" args="()" -->
100void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#8d9e508bc4d26eee3c198748ea78530a">convert_to_full</a> ()</td></tr>
101
102<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>
103<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba1e16ff70ebd9ebcfc8a8579a63b488"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus" ref="ba1e16ff70ebd9ebcfc8a8579a63b488" args="(const double *c_x_in, const int k) const " -->
104double&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>
105
106<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>
107<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1c3baa837242367f8cf9e15011c0c06"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus" ref="b1c3baa837242367f8cf9e15011c0c06" args="(const vec &amp;x_in, const int k) const " -->
108double&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>
109
110<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>
111<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a1924e02e2946294e7ba90ff95c4724"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus" ref="8a1924e02e2946294e7ba90ff95c4724" args="(const vec &amp;x_in, const int k)" -->
112virtual 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>
113
114<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>
115<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c98a5a5d5f26dab36eaf19c2359fc5"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood" ref="39c98a5a5d5f26dab36eaf19c2359fc5" args="(const double *c_x_in)" -->
116double&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>
117
118<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of C vector <code>c_x_in</code> <br></td></tr>
119<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b969344846d405fdbc444b76050e395"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood" ref="9b969344846d405fdbc444b76050e395" args="(const vec &amp;x_in)" -->
120double&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>
121
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the log likelihood of IT++ vector <code>x_in</code> <br></td></tr>
123<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e09fa2a5703892481688342d8d91fb7e"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::lhood" ref="e09fa2a5703892481688342d8d91fb7e" args="(const double *c_x_in)" -->
124double&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>
125
126<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the likelihood of C vector <code>c_x_in</code> <br></td></tr>
127<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dcab9c724600247545728575dad09fe"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::lhood" ref="7dcab9c724600247545728575dad09fe" args="(const vec &amp;x_in)" -->
128double&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>
129
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">calculate the likelihood of IT++ vector <code>x_in</code> <br></td></tr>
131<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79cd26f7bb9c6503c939fe4d000e0fd9"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::avg_log_lhood" ref="79cd26f7bb9c6503c939fe4d000e0fd9" args="(const double **c_x_in, int N)" -->
132double&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 <a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#26dd35e29b50372e26acb24a439e20cc">N</a>)</td></tr>
133
134<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>
135<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b892301061b8d1b418eb3ff058633da3"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::avg_log_lhood" ref="b892301061b8d1b418eb3ff058633da3" args="(const Array&lt; vec &gt; &amp;X_in)" -->
136double&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>
137
138<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>
139<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>
140
141<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model to be empty.  <a href="#331210d0a4ebfbab47d1ba64c8033879"></a><br></td></tr>
142<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>
143
144<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>
145<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>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the model using user supplied mean vectors.  <a href="#1373b38028afae89ac7566adbb2a2ab5"></a><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#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>
149
150<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>
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#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>
152
153<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>
154<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b39d42cafa3b08a3595d35b12e564198"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::is_valid" ref="b39d42cafa3b08a3595d35b12e564198" args="() const " -->
155bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#b39d42cafa3b08a3595d35b12e564198">is_valid</a> () const </td></tr>
156
157<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the model's parameters are valid. <br></td></tr>
158<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c27623ea75a58f8335e13c0675183faa"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::is_full" ref="c27623ea75a58f8335e13c0675183faa" args="() const " -->
159bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c27623ea75a58f8335e13c0675183faa">is_full</a> () const </td></tr>
160
161<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the model has full covariance matrices. <br></td></tr>
162<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="217c1ba5bf096f693a64fb30e701448f"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_K" ref="217c1ba5bf096f693a64fb30e701448f" args="() const " -->
163int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#217c1ba5bf096f693a64fb30e701448f">get_K</a> () const </td></tr>
164
165<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of Gaussians. <br></td></tr>
166<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8606d3aec30d2a97bbea289adee66aa"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_D" ref="a8606d3aec30d2a97bbea289adee66aa" args="() const " -->
167int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#a8606d3aec30d2a97bbea289adee66aa">get_D</a> () const </td></tr>
168
169<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimensionality. <br></td></tr>
170<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49266cd7de7805438cf94e6804620974"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_weights" ref="49266cd7de7805438cf94e6804620974" args="() const " -->
171vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#49266cd7de7805438cf94e6804620974">get_weights</a> () const </td></tr>
172
173<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the weight vector. <br></td></tr>
174<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ba7dde83d6377b05c8604a6e5bc222d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_means" ref="8ba7dde83d6377b05c8604a6e5bc222d" args="() const " -->
175<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>
176
177<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of mean vectors. <br></td></tr>
178<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fb44dc53203033b810eb997add5a9ca"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_diag_covs" ref="0fb44dc53203033b810eb997add5a9ca" args="() const " -->
179<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>
180
181<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of diagonal covariance vectors. <br></td></tr>
182<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff62148d59ffa1fb40a07259546f0afd"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::get_full_covs" ref="ff62148d59ffa1fb40a07259546f0afd" args="() const " -->
183<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>
184
185<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain a copy of the array of full covariance matrices. <br></td></tr>
186<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>
187
188<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the means of the model.  <a href="#7cecfa0184f63f928381103dcff050ff"></a><br></td></tr>
189<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>
190
191<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the diagonal covariance vectors of the model.  <a href="#bb90adbcf6e3963dc63ce7fdc409faff"></a><br></td></tr>
192<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>
193
194<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the full covariance matrices of the model.  <a href="#7582399d9bdbfa90eb1fe2381af6b5fb"></a><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#f208b278df2f6334099b246c156094e0">set_weights</a> (vec &amp;weights_in)</td></tr>
196
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the weight vector of the model.  <a href="#f208b278df2f6334099b246c156094e0"></a><br></td></tr>
198<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="648a73469fc824517e35e43d78795296"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_means_zero" ref="648a73469fc824517e35e43d78795296" args="()" -->
199void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#648a73469fc824517e35e43d78795296">set_means_zero</a> ()</td></tr>
200
201<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the means in the model to be zero. <br></td></tr>
202<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e28ac0f40c8b95a3449e9aba38ed141"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_diag_covs_unity" ref="0e28ac0f40c8b95a3449e9aba38ed141" args="()" -->
203void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#0e28ac0f40c8b95a3449e9aba38ed141">set_diag_covs_unity</a> ()</td></tr>
204
205<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the diagonal covariance vectors to be unity. <br></td></tr>
206<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d8c1cd740bca3a8ab5538ed634506ba"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_full_covs_unity" ref="2d8c1cd740bca3a8ab5538ed634506ba" args="()" -->
207void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#2d8c1cd740bca3a8ab5538ed634506ba">set_full_covs_unity</a> ()</td></tr>
208
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the full covariance matrices to be unity. <br></td></tr>
210<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1292c3480c3260a7813fa7d30a6de01a"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_weights_uniform" ref="1292c3480c3260a7813fa7d30a6de01a" args="()" -->
211void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#1292c3480c3260a7813fa7d30a6de01a">set_weights_uniform</a> ()</td></tr>
212
213<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>
214<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>
215
216<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable internal checks for likelihood functions.  <a href="#1fdbb97943bbb5bd634b062750f17f67"></a><br></td></tr>
217<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>
218
219<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable/disable paranoia about numerical stability.  <a href="#edd93bdbe6f111a6f49e3b7176fa7c08"></a><br></td></tr>
220<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>
221
222<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>
223<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>
224
225<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>
226<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>
227
228<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the model to use diagonal covariances.  <a href="#3bf2b05e3069a3d0082e372dc455bd9d"></a><br></td></tr>
229<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
230<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e24981c4d249702fa35585d22845bbb"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::dist" ref="3e24981c4d249702fa35585d22845bbb" args="(const double *x, const double *y) const " -->
231double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#3e24981c4d249702fa35585d22845bbb">dist</a> (const double *x, const double *y) const </td></tr>
232
233<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
234<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a626a8e78484aac6bca5e9b936ae24a"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::assign_to_means" ref="7a626a8e78484aac6bca5e9b936ae24a" args="()" -->
235void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#7a626a8e78484aac6bca5e9b936ae24a">assign_to_means</a> ()</td></tr>
236
237<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
238<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ebd6357516c76408a33a32ee49fd97b9"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::recalculate_means" ref="ebd6357516c76408a33a32ee49fd97b9" args="()" -->
239void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#ebd6357516c76408a33a32ee49fd97b9">recalculate_means</a> ()</td></tr>
240
241<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
242<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="213dbe1d954604685d2f1732d24de4bf"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::dezombify_means" ref="213dbe1d954604685d2f1732d24de4bf" args="()" -->
243bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#213dbe1d954604685d2f1732d24de4bf">dezombify_means</a> ()</td></tr>
244
245<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
246<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c86f312889770d04fb6d350f803ef027"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::measure_change" ref="c86f312889770d04fb6d350f803ef027" args="() const " -->
247double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#c86f312889770d04fb6d350f803ef027">measure_change</a> () const </td></tr>
248
249<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
250<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2eee033b5ac020add5694087485742f3"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::initial_means" ref="2eee033b5ac020add5694087485742f3" args="()" -->
251void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#2eee033b5ac020add5694087485742f3">initial_means</a> ()</td></tr>
252
253<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
254<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b12a40a78db6ef6f81eb4d1ae9d14081"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::iterate" ref="b12a40a78db6ef6f81eb4d1ae9d14081" args="()" -->
255void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#b12a40a78db6ef6f81eb4d1ae9d14081">iterate</a> ()</td></tr>
256
257<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
258<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f48294377f23e0a68613c6132acf7dd"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::calc_means" ref="1f48294377f23e0a68613c6132acf7dd" args="()" -->
259void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#1f48294377f23e0a68613c6132acf7dd">calc_means</a> ()</td></tr>
260
261<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
262<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ef6c0b7586032fabb725ff383c9a6b9"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::calc_covs" ref="3ef6c0b7586032fabb725ff383c9a6b9" args="()" -->
263void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#3ef6c0b7586032fabb725ff383c9a6b9">calc_covs</a> ()</td></tr>
264
265<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
266<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa84d148cc4fa5fd56de3271a46377ca"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::calc_weights" ref="fa84d148cc4fa5fd56de3271a46377ca" args="()" -->
267void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#fa84d148cc4fa5fd56de3271a46377ca">calc_weights</a> ()</td></tr>
268
269<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
270<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="316734b9f6fb0969c4803de55a76138c"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::normalise_vectors" ref="316734b9f6fb0969c4803de55a76138c" args="()" -->
271void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#316734b9f6fb0969c4803de55a76138c">normalise_vectors</a> ()</td></tr>
272
273<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
274<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0632d9a1a0483efd7c712a9e16fecf0b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::unnormalise_vectors" ref="0632d9a1a0483efd7c712a9e16fecf0b" args="()" -->
275void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#0632d9a1a0483efd7c712a9e16fecf0b">unnormalise_vectors</a> ()</td></tr>
276
277<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
278<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ac02f645e9f0dab6c44de8da361a80e"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::unnormalise_means" ref="9ac02f645e9f0dab6c44de8da361a80e" args="()" -->
279void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#9ac02f645e9f0dab6c44de8da361a80e">unnormalise_means</a> ()</td></tr>
280
281<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
282<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06a0cc706fe1edb31dda4c4dd81a9808"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::setup_means" ref="06a0cc706fe1edb31dda4c4dd81a9808" args="()" -->
283void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#06a0cc706fe1edb31dda4c4dd81a9808">setup_means</a> ()</td></tr>
284
285<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>
286<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d26c089ab1b0c3f8c74e1118c0e3e8ca"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::setup_covs" ref="d26c089ab1b0c3f8c74e1118c0e3e8ca" args="()" -->
287void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d26c089ab1b0c3f8c74e1118c0e3e8ca">setup_covs</a> ()</td></tr>
288
289<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>
290<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bcf27e15f218d0392c36f67746a5edc"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::setup_weights" ref="1bcf27e15f218d0392c36f67746a5edc" args="()" -->
291void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#1bcf27e15f218d0392c36f67746a5edc">setup_weights</a> ()</td></tr>
292
293<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>
294<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10c139e8d57e71b6cfc33e01927c6a9c"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::setup_misc" ref="10c139e8d57e71b6cfc33e01927c6a9c" args="()" -->
295void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#10c139e8d57e71b6cfc33e01927c6a9c">setup_misc</a> ()</td></tr>
296
297<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>
298<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="738f0d6e45ce40b867193df296276873"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus_internal" ref="738f0d6e45ce40b867193df296276873" args="(const double *c_x_in, const int k) const " -->
299double&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>
300
301<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
302<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82dcf04df4dfbabe9eb4be4840d46f87"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus_internal" ref="82dcf04df4dfbabe9eb4be4840d46f87" args="(const vec &amp;x_in, const int k) const " -->
303double&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>
304
305<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
306<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be79ca91efff04dc1162ee889acc3475"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_single_gaus_internal" ref="be79ca91efff04dc1162ee889acc3475" args="(const vec &amp;x_in, const int k)" -->
307virtual 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>
308
309<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
310<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98e2cb2f4a34cf120eb64d5451b2fb68"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_internal" ref="98e2cb2f4a34cf120eb64d5451b2fb68" args="(const double *c_x_in)" -->
311double&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>
312
313<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
314<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c5be5d84900566c5376bf0693b213d4"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_lhood_internal" ref="2c5be5d84900566c5376bf0693b213d4" args="(const vec &amp;x_in)" -->
315double&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>
316
317<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
318<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92d78e87ed23ab978dfda2ad497634f3"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::lhood_internal" ref="92d78e87ed23ab978dfda2ad497634f3" args="(const double *c_x_in)" -->
319double&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>
320
321<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
322<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bbc11aec8077a4de6a663375db13849"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::lhood_internal" ref="8bbc11aec8077a4de6a663375db13849" args="(const vec &amp;x_in)" -->
323double&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>
324
325<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
326<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cae6c63ae036a9f0ecc3dae5b2507841"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::enable_c_access" ref="cae6c63ae036a9f0ecc3dae5b2507841" args="(Array&lt; vec &gt; &amp;A_in)" -->
327double **&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>
328
329<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>
330<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="499409f431c085b02803aa3ab651297d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::enable_c_access" ref="499409f431c085b02803aa3ab651297d" args="(Array&lt; ivec &gt; &amp;A_in)" -->
331int **&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>
332
333<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>
334<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b92e5a096ed509e2c41fca5021b61b9"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::enable_c_access" ref="9b92e5a096ed509e2c41fca5021b61b9" args="(vec &amp;v_in)" -->
335double *&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>
336
337<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to a vector (vec). <br></td></tr>
338<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="370f9fbff146d65a8f426d21db855072"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::enable_c_access" ref="370f9fbff146d65a8f426d21db855072" args="(ivec &amp;v_in)" -->
339int *&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>
340
341<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable C style access to a vector (ivec). <br></td></tr>
342<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3955e3d8697217f1eb85d11c0aad88d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::disable_c_access" ref="c3955e3d8697217f1eb85d11c0aad88d" args="(double **A_in)" -->
343double **&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>
344
345<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>
346<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dafbf61c7737369c822f40cf3002a61a"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::disable_c_access" ref="dafbf61c7737369c822f40cf3002a61a" args="(int **A_in)" -->
347int **&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>
348
349<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>
350<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cdc719f036bd0408980907d6bc1c71b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::disable_c_access" ref="5cdc719f036bd0408980907d6bc1c71b" args="(double *v_in)" -->
351double *&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>
352
353<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to a vector (vec). <br></td></tr>
354<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bd342b59ca5845ba92a1e615b6a6efa"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::disable_c_access" ref="1bd342b59ca5845ba92a1e615b6a6efa" args="(int *v_in)" -->
355int *&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>
356
357<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable C style access to a vector (ivec). <br></td></tr>
358<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb3ff3e8b580c619b78a52912547095f"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::zero_all_ptrs" ref="bb3ff3e8b580c619b78a52912547095f" args="()" -->
359void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#bb3ff3e8b580c619b78a52912547095f">zero_all_ptrs</a> ()</td></tr>
360
361<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
362<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de7b331ff27b48d5cc1545466b201236"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::free_all_ptrs" ref="de7b331ff27b48d5cc1545466b201236" args="()" -->
363void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#de7b331ff27b48d5cc1545466b201236">free_all_ptrs</a> ()</td></tr>
364
365<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
366<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c236fd20912f9cfc8930594a0a2d0a0"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::check_size" ref="3c236fd20912f9cfc8930594a0a2d0a0" args="(const vec &amp;x_in) const " -->
367bool&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>
368
369<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>
370<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="069335b9885c057440599fb0cfbfc288"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::check_size" ref="069335b9885c057440599fb0cfbfc288" args="(const Array&lt; vec &gt; &amp;X_in) const " -->
371bool&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>
372
373<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>
374<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b0f071e9a73256b5170c5d92430922"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::check_array_uniformity" ref="68b0f071e9a73256b5170c5d92430922" args="(const Array&lt; vec &gt; &amp;A) const " -->
375bool&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>
376
377<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>
378<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ad3115741081ee1137e1d9cb0a86728"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_means_internal" ref="9ad3115741081ee1137e1d9cb0a86728" args="(Array&lt; vec &gt; &amp;means_in)" -->
379void&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>
380
381<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
382<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20f6a520b2fae8e792086ab1187dcdc1"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_diag_covs_internal" ref="20f6a520b2fae8e792086ab1187dcdc1" args="(Array&lt; vec &gt; &amp;diag_covs_in)" -->
383void&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>
384
385<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
386<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="495c868950c9c1d6a1c14f4ee8f46d64"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_full_covs_internal" ref="495c868950c9c1d6a1c14f4ee8f46d64" args="(Array&lt; mat &gt; &amp;full_covs_in)" -->
387void&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>
388
389<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
390<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40ef85a6ef1e2d0bb551f8244517053b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_weights_internal" ref="40ef85a6ef1e2d0bb551f8244517053b" args="(vec &amp;_weigths)" -->
391void&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>
392
393<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
394<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d17a84c168993aebb36de7643d77e99d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_means_zero_internal" ref="d17a84c168993aebb36de7643d77e99d" args="()" -->
395void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#d17a84c168993aebb36de7643d77e99d">set_means_zero_internal</a> ()</td></tr>
396
397<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
398<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9600f1d0f410b2e950f89b567436d36"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_diag_covs_unity_internal" ref="c9600f1d0f410b2e950f89b567436d36" args="()" -->
399void&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>
400
401<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
402<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b83aa9cd884301793f9d73b4f4520031"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_full_covs_unity_internal" ref="b83aa9cd884301793f9d73b4f4520031" args="()" -->
403void&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>
404
405<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
406<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25fae21ec832ab27fa5a1adb95162156"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_weights_uniform_internal" ref="25fae21ec832ab27fa5a1adb95162156" args="()" -->
407void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#25fae21ec832ab27fa5a1adb95162156">set_weights_uniform_internal</a> ()</td></tr>
408
409<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
410<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e4d8f80dc4ebac8ac5775431d756fe5"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::convert_to_diag_internal" ref="0e4d8f80dc4ebac8ac5775431d756fe5" args="()" -->
411void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#0e4d8f80dc4ebac8ac5775431d756fe5">convert_to_diag_internal</a> ()</td></tr>
412
413<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
414<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cfaccadb8f737d94478d407803cb801"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::convert_to_full_internal" ref="5cfaccadb8f737d94478d407803cb801" args="()" -->
415void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#5cfaccadb8f737d94478d407803cb801">convert_to_full_internal</a> ()</td></tr>
416
417<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ADD DOCUMENTATION HERE. <br></td></tr>
418<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
419<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcf0a96ce42fe4b396fa85d61a387408"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::max_iter" ref="bcf0a96ce42fe4b396fa85d61a387408" args="" -->
420int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#bcf0a96ce42fe4b396fa85d61a387408">max_iter</a></td></tr>
421
422<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of iterations. <br></td></tr>
423<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#c95783a3432e07a655769f0ae7fd2b1e">trust</a></td></tr>
424
425<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">trust factor, where 0 &lt;= trust &lt;= 1.  <a href="#c95783a3432e07a655769f0ae7fd2b1e"></a><br></td></tr>
426<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec4092a206d719bb09388e7329069b87"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::verbose" ref="ec4092a206d719bb09388e7329069b87" args="" -->
427bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#ec4092a206d719bb09388e7329069b87">verbose</a></td></tr>
428
429<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether we print the progress. <br></td></tr>
430<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26dd35e29b50372e26acb24a439e20cc"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::N" ref="26dd35e29b50372e26acb24a439e20cc" args="" -->
431int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#26dd35e29b50372e26acb24a439e20cc">N</a></td></tr>
432
433<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of training vectors <br></td></tr>
434<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28eae984b466fe137e3ee50e8c7dae64"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_X" ref="28eae984b466fe137e3ee50e8c7dae64" args="" -->
435double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#28eae984b466fe137e3ee50e8c7dae64">c_X</a></td></tr>
436
437<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'C' pointers to training vectors <br></td></tr>
438<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33cc1342d365ecbb7b12742086de15ad"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::means_old" ref="33cc1342d365ecbb7b12742086de15ad" args="" -->
439<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__diag__kmeans__sup.html#33cc1342d365ecbb7b12742086de15ad">means_old</a></td></tr>
440
441<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">means from the previous iteration, used to measure progress <br></td></tr>
442<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4569601b2ba5ab8783bc128837d4a4f"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_means_old" ref="a4569601b2ba5ab8783bc128837d4a4f" args="" -->
443double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#a4569601b2ba5ab8783bc128837d4a4f">c_means_old</a></td></tr>
444
445<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'C' pointers to old means <br></td></tr>
446<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9e93615d3daae2f20ae9c6eb5ae7f94"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::partitions" ref="e9e93615d3daae2f20ae9c6eb5ae7f94" args="" -->
447<a class="el" href="classitpp_1_1Array.html">Array</a>&lt; ivec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#e9e93615d3daae2f20ae9c6eb5ae7f94">partitions</a></td></tr>
448
449<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">contains indices of vectors assigned to each mean <br></td></tr>
450<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e4913f1be0c42b22f0677e1c82c73fc"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_partitions" ref="6e4913f1be0c42b22f0677e1c82c73fc" args="" -->
451int **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#6e4913f1be0c42b22f0677e1c82c73fc">c_partitions</a></td></tr>
452
453<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'C' pointers to partition vectors <br></td></tr>
454<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d038e9cf1a0da0da4e03b1f8a7f4ee22"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::count" ref="d038e9cf1a0da0da4e03b1f8a7f4ee22" args="" -->
455ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#d038e9cf1a0da0da4e03b1f8a7f4ee22">count</a></td></tr>
456
457<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">keeps a count of the number of vectors assigned to each mean <br></td></tr>
458<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a878d1c832d4ac9ed82920ce4d9784"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_count" ref="25a878d1c832d4ac9ed82920ce4d9784" args="" -->
459int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#25a878d1c832d4ac9ed82920ce4d9784">c_count</a></td></tr>
460
461<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'C' pointer to the count vector <br></td></tr>
462<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb8a22b9ee02908b00bb4030966d1158"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_means" ref="bb8a22b9ee02908b00bb4030966d1158" args="" -->
463double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#bb8a22b9ee02908b00bb4030966d1158">c_means</a></td></tr>
464
465<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the mean vectors <br></td></tr>
466<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f03b14c3cd71023eecdba1a3e4da29e3"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_diag_covs" ref="f03b14c3cd71023eecdba1a3e4da29e3" args="" -->
467double **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#f03b14c3cd71023eecdba1a3e4da29e3">c_diag_covs</a></td></tr>
468
469<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the covariance vectors <br></td></tr>
470<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5587dc049fa3102add1301ac62cb2ddc"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_diag_covs_inv_etc" ref="5587dc049fa3102add1301ac62cb2ddc" args="" -->
471double **&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>
472
473<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to the inverted covariance vectors <br></td></tr>
474<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed5fc4b4a09d2b122f68e16a819ad9cf"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_weights" ref="ed5fc4b4a09d2b122f68e16a819ad9cf" args="" -->
475double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#ed5fc4b4a09d2b122f68e16a819ad9cf">c_weights</a></td></tr>
476
477<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the weight vector <br></td></tr>
478<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc7e67571386bd6975eccc937498c275"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_log_weights" ref="dc7e67571386bd6975eccc937498c275" args="" -->
479double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#dc7e67571386bd6975eccc937498c275">c_log_weights</a></td></tr>
480
481<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the log version of the weight vector <br></td></tr>
482<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4b45af4a5552a31a97956f08c972bbe"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::c_log_det_etc" ref="d4b45af4a5552a31a97956f08c972bbe" args="" -->
483double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__diag.html#d4b45af4a5552a31a97956f08c972bbe">c_log_det_etc</a></td></tr>
484
485<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the log_det_etc vector <br></td></tr>
486<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b30c5c34e3503df8378b043a8a7776b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::do_checks" ref="4b30c5c34e3503df8378b043a8a7776b" args="" -->
487bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#4b30c5c34e3503df8378b043a8a7776b">do_checks</a></td></tr>
488
489<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether checks on input data are done <br></td></tr>
490<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e0bfdbd0726a10128c5cab0ee121061"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::valid" ref="6e0bfdbd0726a10128c5cab0ee121061" args="" -->
491bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#6e0bfdbd0726a10128c5cab0ee121061">valid</a></td></tr>
492
493<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether the parameters are valid <br></td></tr>
494<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2285742cd7425f18a97e461a0e6ec82"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::full" ref="d2285742cd7425f18a97e461a0e6ec82" args="" -->
495bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#d2285742cd7425f18a97e461a0e6ec82">full</a></td></tr>
496
497<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether we are using full or diagonal covariance matrices <br></td></tr>
498<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9483049eadafc782080888da20ce9dd"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::paranoid" ref="f9483049eadafc782080888da20ce9dd" args="" -->
499bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#f9483049eadafc782080888da20ce9dd">paranoid</a></td></tr>
500
501<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicates whether we are paranoid about numerical stability <br></td></tr>
502<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51e3fd88ae69555151a939a7361e1762"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::K" ref="51e3fd88ae69555151a939a7361e1762" args="" -->
503int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#51e3fd88ae69555151a939a7361e1762">K</a></td></tr>
504
505<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of gaussians <br></td></tr>
506<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c03e7ca34817d33ecb3ec87f54e07cd7"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::D" ref="c03e7ca34817d33ecb3ec87f54e07cd7" args="" -->
507int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c03e7ca34817d33ecb3ec87f54e07cd7">D</a></td></tr>
508
509<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimensionality <br></td></tr>
510<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce3f0974dc90c7616a76088500e1cbea"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::means" ref="ce3f0974dc90c7616a76088500e1cbea" args="" -->
511<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>
512
513<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">means <br></td></tr>
514<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b15093a04bd84221c44b794831ebecd0"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::diag_covs" ref="b15093a04bd84221c44b794831ebecd0" args="" -->
515<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>
516
517<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">diagonal covariance matrices, stored as vectors <br></td></tr>
518<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25212d7e9406dd32620cd1f191562d8f"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::full_covs" ref="25212d7e9406dd32620cd1f191562d8f" args="" -->
519<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>
520
521<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">full covariance matrices <br></td></tr>
522<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="903961e6632638e3d91e1b0b8a5f4817"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::weights" ref="903961e6632638e3d91e1b0b8a5f4817" args="" -->
523vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#903961e6632638e3d91e1b0b8a5f4817">weights</a></td></tr>
524
525<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">weights <br></td></tr>
526<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e63c0eb25aa38f9ee948e2566e239a2e"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_max_K" ref="e63c0eb25aa38f9ee948e2566e239a2e" args="" -->
527double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#e63c0eb25aa38f9ee948e2566e239a2e">log_max_K</a></td></tr>
528
529<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>
530<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>
531
532<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gaussian specific pre-calcualted constants.  <a href="#c950e3b9cb8f9b1d71b93131455de32b"></a><br></td></tr>
533<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8e7908f52565160667da80c03fcc0be"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_weights" ref="c8e7908f52565160667da80c03fcc0be" args="" -->
534vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1MOG__generic.html#c8e7908f52565160667da80c03fcc0be">log_weights</a></td></tr>
535
536<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calculated log versions of the weights. <br></td></tr>
537<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1324a33e5a5b5f9a75168415acc8a561"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::full_covs_inv" ref="1324a33e5a5b5f9a75168415acc8a561" args="" -->
538<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>
539
540<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-calcuated inverted version of each full covariance matrix. <br></td></tr>
541<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c74ddce5d7899b0fa8c28b4f6aeb731b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::diag_covs_inv_etc" ref="c74ddce5d7899b0fa8c28b4f6aeb731b" args="" -->
542<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>
543
544<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>
545</table>
546<hr><a name="_details"></a><h2>Detailed Description</h2>
547support class for <a class="el" href="group__MOG.html#gdeb91bf337a38234135d6d402e3143b3">MOG_diag_kmeans()</a> 
548<p>
549<dl class="author" compact><dt><b>Author:</b></dt><dd>Conrad Sanderson </dd></dl>
550<hr><h2>Member Function Documentation</h2>
551<a class="anchor" name="d22e7816dfb21d6e557d9ab3285f6a82"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::cleanup" ref="d22e7816dfb21d6e557d9ab3285f6a82" args="()" -->
552<div class="memitem">
553<div class="memproto">
554      <table class="memname">
555        <tr>
556          <td class="memname">void itpp::MOG_diag::cleanup           </td>
557          <td>(</td>
558          <td class="paramname">          </td>
559          <td>&nbsp;)&nbsp;</td>
560          <td><code> [inline, virtual, inherited]</code></td>
561        </tr>
562      </table>
563</div>
564<div class="memdoc">
565
566<p>
567Release memory used by the model. The model will be empty.
568<p>
569<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>
570
571<p>Reimplemented from <a class="el" href="classitpp_1_1MOG__generic.html#2954f4c30d0f58197d18a886bd17bcee">itpp::MOG_generic</a>.</p>
572
573<p>References <a class="el" href="mog__diag_8cpp-source.html#l00219">itpp::MOG_diag::free_all_ptrs()</a>.</p>
574
575<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">run()</a>, and <a class="el" href="mog__diag_8h-source.html#l00104">itpp::MOG_diag::~MOG_diag()</a>.</p>
576
577</div>
578</div><p>
579<a class="anchor" name="3bf2b05e3069a3d0082e372dc455bd9d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::convert_to_diag" ref="3bf2b05e3069a3d0082e372dc455bd9d" args="()" -->
580<div class="memitem">
581<div class="memproto">
582      <table class="memname">
583        <tr>
584          <td class="memname">void itpp::MOG_generic::convert_to_diag           </td>
585          <td>(</td>
586          <td class="paramname">          </td>
587          <td>&nbsp;)&nbsp;</td>
588          <td><code> [virtual, inherited]</code></td>
589        </tr>
590      </table>
591</div>
592<div class="memdoc">
593
594<p>
595Convert the model to use diagonal covariances.
596<p>
597<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>
598
599<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>
600
601<p>Referenced by <a class="el" href="mog__diag_8cpp-source.html#l00277">itpp::MOG_diag::load()</a>, and <a class="el" href="mog__diag_8h-source.html#l00101">itpp::MOG_diag::MOG_diag()</a>.</p>
602
603</div>
604</div><p>
605<a class="anchor" name="3fdd538826fedfe7fc9ee4f198ef1a89"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::init" ref="3fdd538826fedfe7fc9ee4f198ef1a89" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; mat &gt; &amp;full_covs_in, vec &amp;weights_in)" -->
606<div class="memitem">
607<div class="memproto">
608      <table class="memname">
609        <tr>
610          <td class="memname">void itpp::MOG_generic::init           </td>
611          <td>(</td>
612          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
613          <td class="paramname"> <em>means_in</em>, </td>
614        </tr>
615        <tr>
616          <td class="paramkey"></td>
617          <td></td>
618          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;&nbsp;</td>
619          <td class="paramname"> <em>full_covs_in</em>, </td>
620        </tr>
621        <tr>
622          <td class="paramkey"></td>
623          <td></td>
624          <td class="paramtype">vec &amp;&nbsp;</td>
625          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
626        </tr>
627        <tr>
628          <td></td>
629          <td>)</td>
630          <td></td><td></td><td><code> [inherited]</code></td>
631        </tr>
632      </table>
633</div>
634<div class="memdoc">
635
636<p>
637Initialise the model using user supplied parameters (full covariance version).
638<p>
639<dl compact><dt><b>Parameters:</b></dt><dd>
640  <table border="0" cellspacing="2" cellpadding="0">
641    <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>
642    <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>
643    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
644  </table>
645</dl>
646<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>
647
648<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>
649
650</div>
651</div><p>
652<a class="anchor" name="7e016be79a1e1a2f3e25b1b27713cf91"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::init" ref="7e016be79a1e1a2f3e25b1b27713cf91" args="(Array&lt; vec &gt; &amp;means_in, Array&lt; vec &gt; &amp;diag_covs_in, vec &amp;weights_in)" -->
653<div class="memitem">
654<div class="memproto">
655      <table class="memname">
656        <tr>
657          <td class="memname">void itpp::MOG_generic::init           </td>
658          <td>(</td>
659          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
660          <td class="paramname"> <em>means_in</em>, </td>
661        </tr>
662        <tr>
663          <td class="paramkey"></td>
664          <td></td>
665          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
666          <td class="paramname"> <em>diag_covs_in</em>, </td>
667        </tr>
668        <tr>
669          <td class="paramkey"></td>
670          <td></td>
671          <td class="paramtype">vec &amp;&nbsp;</td>
672          <td class="paramname"> <em>weights_in</em></td><td>&nbsp;</td>
673        </tr>
674        <tr>
675          <td></td>
676          <td>)</td>
677          <td></td><td></td><td><code> [inherited]</code></td>
678        </tr>
679      </table>
680</div>
681<div class="memdoc">
682
683<p>
684Initialise the model using user supplied parameters (diagonal covariance version).
685<p>
686<dl compact><dt><b>Parameters:</b></dt><dd>
687  <table border="0" cellspacing="2" cellpadding="0">
688    <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>
689    <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>
690    <tr><td valign="top"></td><td valign="top"><em>weights_in</em>&nbsp;</td><td>vector of weights </td></tr>
691  </table>
692</dl>
693<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>
694
695<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>
696
697</div>
698</div><p>
699<a class="anchor" name="1373b38028afae89ac7566adbb2a2ab5"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::init" ref="1373b38028afae89ac7566adbb2a2ab5" args="(Array&lt; vec &gt; &amp;means_in, bool full_in=false)" -->
700<div class="memitem">
701<div class="memproto">
702      <table class="memname">
703        <tr>
704          <td class="memname">void itpp::MOG_generic::init           </td>
705          <td>(</td>
706          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
707          <td class="paramname"> <em>means_in</em>, </td>
708        </tr>
709        <tr>
710          <td class="paramkey"></td>
711          <td></td>
712          <td class="paramtype">bool&nbsp;</td>
713          <td class="paramname"> <em>full_in</em> = <code>false</code></td><td>&nbsp;</td>
714        </tr>
715        <tr>
716          <td></td>
717          <td>)</td>
718          <td></td><td></td><td><code> [inherited]</code></td>
719        </tr>
720      </table>
721</div>
722<div class="memdoc">
723
724<p>
725Initialise the model using user supplied mean vectors.
726<p>
727<dl compact><dt><b>Parameters:</b></dt><dd>
728  <table border="0" cellspacing="2" cellpadding="0">
729    <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>
730    <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>
731  </table>
732</dl>
733<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>
734
735<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>
736
737</div>
738</div><p>
739<a class="anchor" name="3b73c4ad6feeb3588b7e379fca6eae3c"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::init" ref="3b73c4ad6feeb3588b7e379fca6eae3c" args="(const int &amp;K_in, const int &amp;D_in, bool full_in=false)" -->
740<div class="memitem">
741<div class="memproto">
742      <table class="memname">
743        <tr>
744          <td class="memname">void itpp::MOG_generic::init           </td>
745          <td>(</td>
746          <td class="paramtype">const int &amp;&nbsp;</td>
747          <td class="paramname"> <em>K_in</em>, </td>
748        </tr>
749        <tr>
750          <td class="paramkey"></td>
751          <td></td>
752          <td class="paramtype">const int &amp;&nbsp;</td>
753          <td class="paramname"> <em>D_in</em>, </td>
754        </tr>
755        <tr>
756          <td class="paramkey"></td>
757          <td></td>
758          <td class="paramtype">bool&nbsp;</td>
759          <td class="paramname"> <em>full_in</em> = <code>false</code></td><td>&nbsp;</td>
760        </tr>
761        <tr>
762          <td></td>
763          <td>)</td>
764          <td></td><td></td><td><code> [inherited]</code></td>
765        </tr>
766      </table>
767</div>
768<div class="memdoc">
769
770<p>
771initialise the model so that all Gaussians have zero mean and unit variance for all dimensions
772<p>
773<dl compact><dt><b>Parameters:</b></dt><dd>
774  <table border="0" cellspacing="2" cellpadding="0">
775    <tr><td valign="top"></td><td valign="top"><em>K_in</em>&nbsp;</td><td>Number of Gaussians </td></tr>
776    <tr><td valign="top"></td><td valign="top"><em>D_in</em>&nbsp;</td><td>Dimensionality </td></tr>
777    <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>
778  </table>
779</dl>
780
781<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>
782
783</div>
784</div><p>
785<a class="anchor" name="331210d0a4ebfbab47d1ba64c8033879"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::init" ref="331210d0a4ebfbab47d1ba64c8033879" args="()" -->
786<div class="memitem">
787<div class="memproto">
788      <table class="memname">
789        <tr>
790          <td class="memname">void itpp::MOG_generic::init           </td>
791          <td>(</td>
792          <td class="paramname">          </td>
793          <td>&nbsp;)&nbsp;</td>
794          <td><code> [inherited]</code></td>
795        </tr>
796      </table>
797</div>
798<div class="memdoc">
799
800<p>
801Initialise the model to be empty.
802<p>
803<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>
804
805<p>References <a class="el" href="mog__generic_8cpp-source.html#l00329">itpp::MOG_generic::cleanup()</a>.</p>
806
807<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">itpp::MOG_diag::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">run()</a>.</p>
808
809</div>
810</div><p>
811<a class="anchor" name="bccd9353a67e9bda9f1db8872487ec30"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::join" ref="bccd9353a67e9bda9f1db8872487ec30" args="(const MOG_generic &amp;B_in)" -->
812<div class="memitem">
813<div class="memproto">
814      <table class="memname">
815        <tr>
816          <td class="memname">void itpp::MOG_generic::join           </td>
817          <td>(</td>
818          <td class="paramtype">const <a class="el" href="classitpp_1_1MOG__generic.html">MOG_generic</a> &amp;&nbsp;</td>
819          <td class="paramname"> <em>B_in</em>          </td>
820          <td>&nbsp;)&nbsp;</td>
821          <td><code> [virtual, inherited]</code></td>
822        </tr>
823      </table>
824</div>
825<div class="memdoc">
826
827<p>
828Mathematically join the model with a user supplied model.
829<p>
830<dl compact><dt><b>Parameters:</b></dt><dd>
831  <table border="0" cellspacing="2" cellpadding="0">
832    <tr><td valign="top"></td><td valign="top"><em>B_in</em>&nbsp;</td><td>user supplied model </td></tr>
833  </table>
834</dl>
835<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>
836See <a href="http://dx.doi.org/10.1016/j.patcog.2005.07.001">On transforming statistical models...</a> for more information.
837<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>
838
839</div>
840</div><p>
841<a class="anchor" name="655176beb0593c93853c25cbe889ab4d"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::load" ref="655176beb0593c93853c25cbe889ab4d" args="(const std::string &amp;name_in)" -->
842<div class="memitem">
843<div class="memproto">
844      <table class="memname">
845        <tr>
846          <td class="memname">void itpp::MOG_diag::load           </td>
847          <td>(</td>
848          <td class="paramtype">const std::string &amp;&nbsp;</td>
849          <td class="paramname"> <em>name_in</em>          </td>
850          <td>&nbsp;)&nbsp;</td>
851          <td><code> [virtual, inherited]</code></td>
852        </tr>
853      </table>
854</div>
855<div class="memdoc">
856
857<p>
858Initialise the model by loading the parameters from a model file.
859<p>
860<dl compact><dt><b>Parameters:</b></dt><dd>
861  <table border="0" cellspacing="2" cellpadding="0">
862    <tr><td valign="top"></td><td valign="top"><em>name_in</em>&nbsp;</td><td>The model's filename </td></tr>
863  </table>
864</dl>
865<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>
866
867<p>Reimplemented from <a class="el" href="classitpp_1_1MOG__generic.html#e6601e39373de56c23a52ca7eaabfbed">itpp::MOG_generic</a>.</p>
868
869<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>
870
871<p>Referenced by <a class="el" href="mog__diag_8h-source.html#l00069">itpp::MOG_diag::MOG_diag()</a>.</p>
872
873</div>
874</div><p>
875<a class="anchor" name="c9446a81ab2227128e8a4180a082c809"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::save" ref="c9446a81ab2227128e8a4180a082c809" args="(const std::string &amp;name_in) const " -->
876<div class="memitem">
877<div class="memproto">
878      <table class="memname">
879        <tr>
880          <td class="memname">void itpp::MOG_generic::save           </td>
881          <td>(</td>
882          <td class="paramtype">const std::string &amp;&nbsp;</td>
883          <td class="paramname"> <em>name_in</em>          </td>
884          <td>&nbsp;)&nbsp;</td>
885          <td> const<code> [virtual, inherited]</code></td>
886        </tr>
887      </table>
888</div>
889<div class="memdoc">
890
891<p>
892Save the model's parameters to a model file.
893<p>
894<dl compact><dt><b>Parameters:</b></dt><dd>
895  <table border="0" cellspacing="2" cellpadding="0">
896    <tr><td valign="top"></td><td valign="top"><em>name_in</em>&nbsp;</td><td>The model's filename </td></tr>
897  </table>
898</dl>
899
900<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>
901
902</div>
903</div><p>
904<a class="anchor" name="1fdbb97943bbb5bd634b062750f17f67"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_checks" ref="1fdbb97943bbb5bd634b062750f17f67" args="(bool do_checks_in)" -->
905<div class="memitem">
906<div class="memproto">
907      <table class="memname">
908        <tr>
909          <td class="memname">void itpp::MOG_generic::set_checks           </td>
910          <td>(</td>
911          <td class="paramtype">bool&nbsp;</td>
912          <td class="paramname"> <em>do_checks_in</em>          </td>
913          <td>&nbsp;)&nbsp;</td>
914          <td><code> [inline, inherited]</code></td>
915        </tr>
916      </table>
917</div>
918<div class="memdoc">
919
920<p>
921Enable/disable internal checks for likelihood functions.
922<p>
923<dl compact><dt><b>Parameters:</b></dt><dd>
924  <table border="0" cellspacing="2" cellpadding="0">
925    <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>
926  </table>
927</dl>
928<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>
929
930<p>References <a class="el" href="mog__generic_8h-source.html#l00279">itpp::MOG_generic::do_checks</a>.</p>
931
932</div>
933</div><p>
934<a class="anchor" name="bb90adbcf6e3963dc63ce7fdc409faff"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_diag_covs" ref="bb90adbcf6e3963dc63ce7fdc409faff" args="(Array&lt; vec &gt; &amp;diag_covs_in)" -->
935<div class="memitem">
936<div class="memproto">
937      <table class="memname">
938        <tr>
939          <td class="memname">void itpp::MOG_generic::set_diag_covs           </td>
940          <td>(</td>
941          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
942          <td class="paramname"> <em>diag_covs_in</em>          </td>
943          <td>&nbsp;)&nbsp;</td>
944          <td><code> [inherited]</code></td>
945        </tr>
946      </table>
947</div>
948<div class="memdoc">
949
950<p>
951Set the diagonal covariance vectors of the model.
952<p>
953<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>
954
955<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>
956
957</div>
958</div><p>
959<a class="anchor" name="7582399d9bdbfa90eb1fe2381af6b5fb"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_full_covs" ref="7582399d9bdbfa90eb1fe2381af6b5fb" args="(Array&lt; mat &gt; &amp;full_covs_in)" -->
960<div class="memitem">
961<div class="memproto">
962      <table class="memname">
963        <tr>
964          <td class="memname">void itpp::MOG_generic::set_full_covs           </td>
965          <td>(</td>
966          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; mat &gt; &amp;&nbsp;</td>
967          <td class="paramname"> <em>full_covs_in</em>          </td>
968          <td>&nbsp;)&nbsp;</td>
969          <td><code> [inherited]</code></td>
970        </tr>
971      </table>
972</div>
973<div class="memdoc">
974
975<p>
976Set the full covariance matrices of the model.
977<p>
978<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>
979
980<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>
981
982</div>
983</div><p>
984<a class="anchor" name="7cecfa0184f63f928381103dcff050ff"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_means" ref="7cecfa0184f63f928381103dcff050ff" args="(Array&lt; vec &gt; &amp;means_in)" -->
985<div class="memitem">
986<div class="memproto">
987      <table class="memname">
988        <tr>
989          <td class="memname">void itpp::MOG_generic::set_means           </td>
990          <td>(</td>
991          <td class="paramtype"><a class="el" href="classitpp_1_1Array.html">Array</a>&lt; vec &gt; &amp;&nbsp;</td>
992          <td class="paramname"> <em>means_in</em>          </td>
993          <td>&nbsp;)&nbsp;</td>
994          <td><code> [inherited]</code></td>
995        </tr>
996      </table>
997</div>
998<div class="memdoc">
999
1000<p>
1001Set the means of the model.
1002<p>
1003<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>
1004
1005<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>
1006
1007<p>Referenced by <a class="el" href="mog__generic_8cpp-source.html#l00069">itpp::MOG_generic::init()</a>.</p>
1008
1009</div>
1010</div><p>
1011<a class="anchor" name="edd93bdbe6f111a6f49e3b7176fa7c08"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_paranoid" ref="edd93bdbe6f111a6f49e3b7176fa7c08" args="(bool paranoid_in)" -->
1012<div class="memitem">
1013<div class="memproto">
1014      <table class="memname">
1015        <tr>
1016          <td class="memname">void itpp::MOG_generic::set_paranoid           </td>
1017          <td>(</td>
1018          <td class="paramtype">bool&nbsp;</td>
1019          <td class="paramname"> <em>paranoid_in</em>          </td>
1020          <td>&nbsp;)&nbsp;</td>
1021          <td><code> [inline, inherited]</code></td>
1022        </tr>
1023      </table>
1024</div>
1025<div class="memdoc">
1026
1027<p>
1028Enable/disable paranoia about numerical stability.
1029<p>
1030<dl compact><dt><b>Parameters:</b></dt><dd>
1031  <table border="0" cellspacing="2" cellpadding="0">
1032    <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>
1033  </table>
1034</dl>
1035
1036<p>References <a class="el" href="mog__generic_8h-source.html#l00288">itpp::MOG_generic::paranoid</a>.</p>
1037
1038</div>
1039</div><p>
1040<a class="anchor" name="f208b278df2f6334099b246c156094e0"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::set_weights" ref="f208b278df2f6334099b246c156094e0" args="(vec &amp;weights_in)" -->
1041<div class="memitem">
1042<div class="memproto">
1043      <table class="memname">
1044        <tr>
1045          <td class="memname">void itpp::MOG_generic::set_weights           </td>
1046          <td>(</td>
1047          <td class="paramtype">vec &amp;&nbsp;</td>
1048          <td class="paramname"> <em>weights_in</em>          </td>
1049          <td>&nbsp;)&nbsp;</td>
1050          <td><code> [inherited]</code></td>
1051        </tr>
1052      </table>
1053</div>
1054<div class="memdoc">
1055
1056<p>
1057Set the weight vector of the model.
1058<p>
1059<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>
1060
1061<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>
1062
1063</div>
1064</div><p>
1065<hr><h2>Member Data Documentation</h2>
1066<a class="anchor" name="c950e3b9cb8f9b1d71b93131455de32b"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::log_det_etc" ref="c950e3b9cb8f9b1d71b93131455de32b" args="" -->
1067<div class="memitem">
1068<div class="memproto">
1069      <table class="memname">
1070        <tr>
1071          <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>
1072        </tr>
1073      </table>
1074</div>
1075<div class="memdoc">
1076
1077<p>
1078Gaussian specific pre-calcualted constants.
1079<p>
1080<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>
1081
1082<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">itpp::MOG_diag::setup_covs()</a>.</p>
1083
1084</div>
1085</div><p>
1086<a class="anchor" name="c95783a3432e07a655769f0ae7fd2b1e"></a><!-- doxytag: member="itpp::MOG_diag_kmeans_sup::trust" ref="c95783a3432e07a655769f0ae7fd2b1e" args="" -->
1087<div class="memitem">
1088<div class="memproto">
1089      <table class="memname">
1090        <tr>
1091          <td class="memname">double <a class="el" href="classitpp_1_1MOG__diag__kmeans__sup.html#c95783a3432e07a655769f0ae7fd2b1e">itpp::MOG_diag_kmeans_sup::trust</a><code> [protected]</code>          </td>
1092        </tr>
1093      </table>
1094</div>
1095<div class="memdoc">
1096
1097<p>
1098trust factor, where 0 &lt;= trust &lt;= 1.
1099<p>
1100<dl class="note" compact><dt><b>Note:</b></dt><dd>The higher the trust factor, the more we trust the estimates of covariance matrices and weights. </dd></dl>
1101
1102<p>Referenced by <a class="el" href="mog__diag__kmeans_8cpp-source.html#l00190">calc_covs()</a>, <a class="el" href="mog__diag__kmeans_8cpp-source.html#l00216">calc_weights()</a>, and <a class="el" href="mog__diag__kmeans_8cpp-source.html#l00264">run()</a>.</p>
1103
1104</div>
1105</div><p>
1106<hr>The documentation for this class was generated from the following files:<ul>
1107<li><a class="el" href="mog__diag__kmeans_8h-source.html">mog_diag_kmeans.h</a><li><a class="el" href="mog__diag__kmeans_8cpp.html">mog_diag_kmeans.cpp</a></ul>
1108</div>
1109<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
1110<a href="http://www.doxygen.org/index.html">
1111<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1112</body>
1113</html>
Note: See TracBrowser for help on using the browser.