root/doc/html/classitpp_1_1MOG__diag__EM__sup.html @ 353

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