root/doc/html/classitpp_1_1MOG__generic.html @ 353

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