root/library/doc/html/classbdm_1_1egiwmix.html @ 651

Revision 651, 33.7 kB (checked in by mido, 15 years ago)

\doc directory cleaned a bit

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: bdm::egiwmix 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.9 -->
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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
55      <li><a href="files.html"><span>Files</span></a></li>
56    </ul>
57  </div>
58  <div class="tabs">
59    <ul>
60      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
61      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
62      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
63      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
64    </ul>
65  </div>
66  <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1egiwmix.html">egiwmix</a>
67  </div>
68</div>
69<div class="contents">
70<h1>bdm::egiwmix Class Reference</h1><!-- doxytag: class="bdm::egiwmix" --><!-- doxytag: inherits="bdm::egiw" -->Mixture of egiws. 
71<a href="#_details">More...</a>
72<p>
73<code>#include &lt;<a class="el" href="emix_8h_source.html">emix.h</a>&gt;</code>
74<p>
75
76<p>
77<a href="classbdm_1_1egiwmix-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
78<tr><td></td></tr>
79<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41f4cf7baf554e0a70bf495457179dbb"></a><!-- doxytag: member="bdm::egiwmix::egiwmix" ref="41f4cf7baf554e0a70bf495457179dbb" args="()" -->
81&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#41f4cf7baf554e0a70bf495457179dbb">egiwmix</a> ()</td></tr>
82
83<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#c4627222e22df6e14f8f1496e13c4975">set_parameters</a> (const vec &amp;<a class="el" href="classbdm_1_1egiwmix.html#2deb6d7cd689949b92450227de98afa4">w</a>, const Array&lt; <a class="el" href="classbdm_1_1egiw.html">egiw</a> * &gt; &amp;<a class="el" href="classbdm_1_1egiwmix.html#8d0a3acd6ced68349b8f9950f4658280">Coms</a>, bool copy=false)</td></tr>
85
86<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74e7c77bd89a454a7fd984945c58df1c"></a><!-- doxytag: member="bdm::egiwmix::mean" ref="74e7c77bd89a454a7fd984945c58df1c" args="() const " -->
87vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#74e7c77bd89a454a7fd984945c58df1c">mean</a> () const </td></tr>
88
89<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
90<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bd92fb4c94a46220e84d9a39ddd2e28"></a><!-- doxytag: member="bdm::egiwmix::sample" ref="8bd92fb4c94a46220e84d9a39ddd2e28" args="() const " -->
91vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#8bd92fb4c94a46220e84d9a39ddd2e28">sample</a> () const </td></tr>
92
93<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return a sample from the density <br></td></tr>
94<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96e1cfb7157b87f04e2957ca4d883425"></a><!-- doxytag: member="bdm::egiwmix::variance" ref="96e1cfb7157b87f04e2957ca4d883425" args="() const " -->
95vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#96e1cfb7157b87f04e2957ca4d883425">variance</a> () const </td></tr>
96
97<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the expected variance <br></td></tr>
98<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="99962cd566fc4e6d59099dae6b7ecb8c"></a><!-- doxytag: member="bdm::egiwmix::mean_mat" ref="99962cd566fc4e6d59099dae6b7ecb8c" args="(mat &amp;M, mat &amp;R) const " -->
99void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#99962cd566fc4e6d59099dae6b7ecb8c">mean_mat</a> (mat &amp;M, mat &amp;R) const </td></tr>
100
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">expected values of the linear coefficient and the covariance matrix are written to <code>M</code> and <code>R</code> , respectively <br></td></tr>
102<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5713da45d66410382d6eca4e1b05a132"></a><!-- doxytag: member="bdm::egiwmix::evallog_nn" ref="5713da45d66410382d6eca4e1b05a132" args="(const vec &amp;val) const " -->
103double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#5713da45d66410382d6eca4e1b05a132">evallog_nn</a> (const vec &amp;val) const </td></tr>
104
105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">In this instance, val= [theta, r]. For multivariate instances, it is stored columnwise val = [theta_1 theta_2 ... r_1 r_2 ]. <br></td></tr>
106<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c9bc72ecea861dd2416f852905bf023"></a><!-- doxytag: member="bdm::egiwmix::lognc" ref="7c9bc72ecea861dd2416f852905bf023" args="() const " -->
107double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#7c9bc72ecea861dd2416f852905bf023">lognc</a> () const </td></tr>
108
109<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">logarithm of the normalizing constant, <img class="formulaInl" alt="$\mathcal{I}$" src="form_97.png"> <br></td></tr>
110<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab30611d0ca7cc718956548a42a1f67d"></a><!-- doxytag: member="bdm::egiwmix::marginal" ref="ab30611d0ca7cc718956548a42a1f67d" args="(const RV &amp;rv) const " -->
111<a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; <a class="el" href="classbdm_1_1epdf.html">epdf</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#ab30611d0ca7cc718956548a42a1f67d">marginal</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>) const </td></tr>
112
113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return marginal density on the given <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>, the remainig rvs are intergrated out. <br></td></tr>
114<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f403bb5b09d5855b7098665290434bf"></a><!-- doxytag: member="bdm::egiwmix::marginal" ref="0f403bb5b09d5855b7098665290434bf" args="(const RV &amp;rv, emix &amp;target) const " -->
115void&nbsp;</td><td class="memItemRight" valign="bottom"><b>marginal</b> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>, <a class="el" href="classbdm_1_1emix.html">emix</a> &amp;target) const </td></tr>
116
117<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="884d203ca3994b9fba4c8bd440f355ea"></a><!-- doxytag: member="bdm::egiwmix::_w" ref="884d203ca3994b9fba4c8bd440f355ea" args="()" -->
118vec &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#884d203ca3994b9fba4c8bd440f355ea">_w</a> ()</td></tr>
119
120<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns a pointer to the internal mean value. Use with Care! <br></td></tr>
121<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="adc550fe74df25524c20867e89b5b096"></a><!-- doxytag: member="bdm::egiwmix::ownComs" ref="adc550fe74df25524c20867e89b5b096" args="()" -->
122void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#adc550fe74df25524c20867e89b5b096">ownComs</a> ()</td></tr>
123
124<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Auxiliary function for taking ownership of the <a class="el" href="classbdm_1_1egiwmix.html#8d0a3acd6ced68349b8f9950f4658280" title="Component (epdfs).">Coms()</a>. <br></td></tr>
125<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d20a56a7b129c1ea9f71725e15f8ad8c"></a><!-- doxytag: member="bdm::egiwmix::_Coms" ref="d20a56a7b129c1ea9f71725e15f8ad8c" args="(int i)" -->
126<a class="el" href="classbdm_1_1egiw.html">egiw</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#d20a56a7b129c1ea9f71725e15f8ad8c">_Coms</a> (int i)</td></tr>
127
128<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
129<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc999c5c1402c450200f22128db688b2"></a><!-- doxytag: member="bdm::egiwmix::set_rv" ref="dc999c5c1402c450200f22128db688b2" args="(const RV &amp;rv)" -->
130void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#dc999c5c1402c450200f22128db688b2">set_rv</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>)</td></tr>
131
132<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name its rv. <br></td></tr>
133<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="10894d50e82130cc5b93d3cbc30b2e4d"></a><!-- doxytag: member="bdm::egiwmix::approx" ref="10894d50e82130cc5b93d3cbc30b2e4d" args="()" -->
134<a class="el" href="classbdm_1_1egiw.html">egiw</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#10894d50e82130cc5b93d3cbc30b2e4d">approx</a> ()</td></tr>
135
136<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Approximation of a GiW mix by a single GiW pdf. <br></td></tr>
137<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66d2ba9295c306012b309efcc9e516f0"></a><!-- doxytag: member="bdm::egiwmix::est_theta" ref="66d2ba9295c306012b309efcc9e516f0" args="() const " -->
138vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#66d2ba9295c306012b309efcc9e516f0">est_theta</a> () const </td></tr>
139
140<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">LS estimate of <img class="formulaInl" alt="$\theta$" src="form_98.png">. <br></td></tr>
141<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88c321a2051d1afdbb31a098896a717b"></a><!-- doxytag: member="bdm::egiwmix::est_theta_cov" ref="88c321a2051d1afdbb31a098896a717b" args="() const " -->
142<a class="el" href="classbdm_1_1ldmat.html">ldmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#88c321a2051d1afdbb31a098896a717b">est_theta_cov</a> () const </td></tr>
143
144<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Covariance of the LS estimate. <br></td></tr>
145<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e610e95401a11baf34f65e16ecd87be"></a><!-- doxytag: member="bdm::egiwmix::pow" ref="8e610e95401a11baf34f65e16ecd87be" args="(double p)" -->
146void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#8e610e95401a11baf34f65e16ecd87be">pow</a> (double p)</td></tr>
147
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power of the density, used e.g. to flatten the density. <br></td></tr>
149<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36d06ecdd6f4c79dc122510eaccc692"></a><!-- doxytag: member="bdm::egiwmix::evallog" ref="a36d06ecdd6f4c79dc122510eaccc692" args="(const vec &amp;val) const " -->
150virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#a36d06ecdd6f4c79dc122510eaccc692">evallog</a> (const vec &amp;val) const </td></tr>
151
152<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate normalized log-probability. <br></td></tr>
153<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6886c60b6b690e503913240db5de0c6f"></a><!-- doxytag: member="bdm::egiwmix::evallog_m" ref="6886c60b6b690e503913240db5de0c6f" args="(const mat &amp;Val) const " -->
154virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#6886c60b6b690e503913240db5de0c6f">evallog_m</a> (const mat &amp;Val) const </td></tr>
155
156<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate normalized log-probability for many samples. <br></td></tr>
157<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d793f4fd6d0dcec5f16bff0ae45fc7d5"></a><!-- doxytag: member="bdm::egiwmix::evallog_m" ref="d793f4fd6d0dcec5f16bff0ae45fc7d5" args="(const Array&lt; vec &gt; &amp;Val) const " -->
158virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1eEF.html#d793f4fd6d0dcec5f16bff0ae45fc7d5">evallog_m</a> (const Array&lt; vec &gt; &amp;Val) const </td></tr>
159
160<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate normalized log-probability for many samples. <br></td></tr>
161<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af0e6941ba5919cae1bc530e2181b109"></a><!-- doxytag: member="bdm::egiwmix::to_string" ref="af0e6941ba5919cae1bc530e2181b109" args="()" -->
162virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#af0e6941ba5919cae1bc530e2181b109">to_string</a> ()</td></tr>
163
164<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns a basic info about the current instance. <br></td></tr>
165<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67d954d255ede776eade7334d4895790"></a><!-- doxytag: member="bdm::egiwmix::to_setting" ref="67d954d255ede776eade7334d4895790" args="(Setting &amp;set) const " -->
166virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#67d954d255ede776eade7334d4895790">to_setting</a> (Setting &amp;set) const </td></tr>
167
168<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method save all the instance properties into the Setting structure. <br></td></tr>
169<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c314bd6d6dacb8ba78ea5eb88fd9516"></a><!-- doxytag: member="bdm::egiwmix::validate" ref="1c314bd6d6dacb8ba78ea5eb88fd9516" args="()" -->
170virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#1c314bd6d6dacb8ba78ea5eb88fd9516">validate</a> ()</td></tr>
171
172<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method TODO. <br></td></tr>
173<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
174<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40b04f8ef133d089c4be2c7983e18b5c"></a><!-- doxytag: member="bdm::egiwmix::set_parameters" ref="40b04f8ef133d089c4be2c7983e18b5c" args="(int dimx0, ldmat V0, double nu0=&#45;1.0)" -->
175void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (int dimx0, <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> V0, double nu0=-1.0)</td></tr>
176
177<tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
178<tr><td colspan="2"><div class="groupText">Construction of each <a class="el" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> should support two types of constructors: <ul>
179<li>empty constructor, </li>
180<li>copy constructor,</li>
181</ul>
182The following constructors should be supported for convenience: <ul>
183<li>constructor followed by calling <code><a class="el" href="classbdm_1_1egiwmix.html#c4627222e22df6e14f8f1496e13c4975">set_parameters()</a></code> </li>
184<li>constructor accepting random variables calling <code><a class="el" href="classbdm_1_1egiwmix.html#dc999c5c1402c450200f22128db688b2" title="Name its rv.">set_rv()</a></code> </li>
185</ul>
186All internal data structures are constructed as empty. Their values (including sizes) will be set by method <code><a class="el" href="classbdm_1_1egiwmix.html#c4627222e22df6e14f8f1496e13c4975">set_parameters()</a></code>. This way references can be initialized in constructors. <br><br></div></td></tr>
187<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="840de94aa33cf4f2ebd2427f45a165d8"></a><!-- doxytag: member="bdm::egiwmix::set_parameters" ref="840de94aa33cf4f2ebd2427f45a165d8" args="(int dim0)" -->
188void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (int dim0)</td></tr>
189
190<tr><td colspan="2"><div class="groupHeader">Access attributes</div></td></tr>
191<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15792f3112e5cf67d572f491b09324c8"></a><!-- doxytag: member="bdm::egiwmix::_V" ref="15792f3112e5cf67d572f491b09324c8" args="()" -->
192<a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_V</b> ()</td></tr>
193
194<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad9c539a80a552e837245ddcebcbbba4"></a><!-- doxytag: member="bdm::egiwmix::_V" ref="ad9c539a80a552e837245ddcebcbbba4" args="() const " -->
195const <a class="el" href="classbdm_1_1ldmat.html">ldmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_V</b> () const </td></tr>
196
197<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a025ee710274ca142dd0ae978735ad4a"></a><!-- doxytag: member="bdm::egiwmix::_nu" ref="a025ee710274ca142dd0ae978735ad4a" args="()" -->
198double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_nu</b> ()</td></tr>
199
200<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf3b2bcb158c15c24788bba90e4154e4"></a><!-- doxytag: member="bdm::egiwmix::_nu" ref="cf3b2bcb158c15c24788bba90e4154e4" args="() const " -->
201const double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_nu</b> () const </td></tr>
202
203<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#55b76ec75bd2df5ef9cab3be20a33bbb">from_setting</a> (const Setting &amp;set)</td></tr>
204
205<tr><td colspan="2"><div class="groupHeader">Matematical Operations</div></td></tr>
206<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4cf45fd83cc7573ede9fe1215256058"></a><!-- doxytag: member="bdm::egiwmix::sample_m" ref="b4cf45fd83cc7573ede9fe1215256058" args="(int N) const " -->
207virtual mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#b4cf45fd83cc7573ede9fe1215256058">sample_m</a> (int N) const </td></tr>
208
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns N samples, <img class="formulaInl" alt="$ [x_1 , x_2 , \ldots \ $" src="form_14.png"> from density <img class="formulaInl" alt="$ f_x(rv)$" src="form_15.png">. <br></td></tr>
210<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1499d35b79bce0cfa64fc5cafb9c03b2"></a><!-- doxytag: member="bdm::egiwmix::condition" ref="1499d35b79bce0cfa64fc5cafb9c03b2" args="(const RV &amp;rv) const " -->
211virtual <a class="el" href="classbdm_1_1shared__ptr.html">shared_ptr</a>&lt; <a class="el" href="classbdm_1_1mpdf.html">mpdf</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#1499d35b79bce0cfa64fc5cafb9c03b2">condition</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;<a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a>) const </td></tr>
212
213<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return conditional density on the given <a class="el" href="classbdm_1_1RV.html" title="Class representing variables, most often random variables.">RV</a>, the remaining rvs will be in conditioning. <br></td></tr>
214<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a7705e80601957f7226d333a0a6d539"></a><!-- doxytag: member="bdm::egiwmix::qbounds" ref="0a7705e80601957f7226d333a0a6d539" args="(vec &amp;lb, vec &amp;ub, double percentage=0.95) const " -->
215virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#0a7705e80601957f7226d333a0a6d539">qbounds</a> (vec &amp;lb, vec &amp;ub, double percentage=0.95) const </td></tr>
216
217<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower and upper bounds of <code>percentage</code> % quantile, returns mean-2*sigma as default. <br></td></tr>
218<tr><td colspan="2"><div class="groupHeader">Connection to other classes</div></td></tr>
219<tr><td colspan="2"><div class="groupText">Description of the random quantity via attribute <code>rv</code> is optional. For operations such as sampling <code>rv</code> does not need to be set. However, for <code>marginalization</code> and <code>conditioning</code> <code>rv</code> has to be set. NB: <br><br></div></td></tr>
220<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c4b863ff84c7a4882fb3ad18556027f9"></a><!-- doxytag: member="bdm::egiwmix::isnamed" ref="c4b863ff84c7a4882fb3ad18556027f9" args="() const " -->
221bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#c4b863ff84c7a4882fb3ad18556027f9">isnamed</a> () const </td></tr>
222
223<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if rv is assigned. <br></td></tr>
224<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4ab378d5e004c3ff3e2d4e64f7bba21"></a><!-- doxytag: member="bdm::egiwmix::_rv" ref="a4ab378d5e004c3ff3e2d4e64f7bba21" args="() const " -->
225const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#a4ab378d5e004c3ff3e2d4e64f7bba21">_rv</a> () const </td></tr>
226
227<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return name (fails when isnamed is false). <br></td></tr>
228<tr><td colspan="2"><div class="groupHeader">Access to attributes</div></td></tr>
229<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7083a65f7b7a0d0d13b2c516bd2ec29c"></a><!-- doxytag: member="bdm::egiwmix::dimension" ref="7083a65f7b7a0d0d13b2c516bd2ec29c" args="() const " -->
230int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#7083a65f7b7a0d0d13b2c516bd2ec29c">dimension</a> () const </td></tr>
231
232<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the random variable. <br></td></tr>
233<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
234<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2deb6d7cd689949b92450227de98afa4"></a><!-- doxytag: member="bdm::egiwmix::w" ref="2deb6d7cd689949b92450227de98afa4" args="" -->
235vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#2deb6d7cd689949b92450227de98afa4">w</a></td></tr>
236
237<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">weights of the components <br></td></tr>
238<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d0a3acd6ced68349b8f9950f4658280"></a><!-- doxytag: member="bdm::egiwmix::Coms" ref="8d0a3acd6ced68349b8f9950f4658280" args="" -->
239Array&lt; <a class="el" href="classbdm_1_1egiw.html">egiw</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#8d0a3acd6ced68349b8f9950f4658280">Coms</a></td></tr>
240
241<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Component (epdfs). <br></td></tr>
242<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a363169e5aa6c7cad1f4d7647fe9eec"></a><!-- doxytag: member="bdm::egiwmix::destroyComs" ref="2a363169e5aa6c7cad1f4d7647fe9eec" args="" -->
243bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiwmix.html#2a363169e5aa6c7cad1f4d7647fe9eec">destroyComs</a></td></tr>
244
245<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flag if owning Coms. <br></td></tr>
246<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae56852845c6af176fd9017dbebbbd52"></a><!-- doxytag: member="bdm::egiwmix::V" ref="ae56852845c6af176fd9017dbebbbd52" args="" -->
247<a class="el" href="classbdm_1_1ldmat.html">ldmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#ae56852845c6af176fd9017dbebbbd52">V</a></td></tr>
248
249<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extended information matrix of sufficient statistics. <br></td></tr>
250<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="447eacf19d4f4083872686f044814dc4"></a><!-- doxytag: member="bdm::egiwmix::nu" ref="447eacf19d4f4083872686f044814dc4" args="" -->
251double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#447eacf19d4f4083872686f044814dc4">nu</a></td></tr>
252
253<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of data records (degrees of freedom) of sufficient statistics. <br></td></tr>
254<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23e4d78bea7e98840f3da30e76a2b57a"></a><!-- doxytag: member="bdm::egiwmix::dimx" ref="23e4d78bea7e98840f3da30e76a2b57a" args="" -->
255int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#23e4d78bea7e98840f3da30e76a2b57a">dimx</a></td></tr>
256
257<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimension of the output. <br></td></tr>
258<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="322414c32d9a21a006a5aab0311f64fd"></a><!-- doxytag: member="bdm::egiwmix::nPsi" ref="322414c32d9a21a006a5aab0311f64fd" args="" -->
259int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1egiw.html#322414c32d9a21a006a5aab0311f64fd">nPsi</a></td></tr>
260
261<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dimension of the regressor. <br></td></tr>
262<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16adac20ec7fe07e1ea0b27d917788ce"></a><!-- doxytag: member="bdm::egiwmix::dim" ref="16adac20ec7fe07e1ea0b27d917788ce" args="" -->
263int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#16adac20ec7fe07e1ea0b27d917788ce">dim</a></td></tr>
264
265<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimension of the random variable <br></td></tr>
266<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62c5b8ff71d9ebe6cd58d3c342eb1dc8"></a><!-- doxytag: member="bdm::egiwmix::rv" ref="62c5b8ff71d9ebe6cd58d3c342eb1dc8" args="" -->
267<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8">rv</a></td></tr>
268
269<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Description of the random variable. <br></td></tr>
270</table>
271<hr><a name="_details"></a><h2>Detailed Description</h2>
272Mixture of egiws. <hr><h2>Member Function Documentation</h2>
273<a class="anchor" name="55b76ec75bd2df5ef9cab3be20a33bbb"></a><!-- doxytag: member="bdm::egiwmix::from_setting" ref="55b76ec75bd2df5ef9cab3be20a33bbb" args="(const Setting &amp;set)" -->
274<div class="memitem">
275<div class="memproto">
276      <table class="memname">
277        <tr>
278          <td class="memname">void bdm::egiw::from_setting           </td>
279          <td>(</td>
280          <td class="paramtype">const Setting &amp;&nbsp;</td>
281          <td class="paramname"> <em>set</em>          </td>
282          <td>&nbsp;)&nbsp;</td>
283          <td><code> [inline, virtual, inherited]</code></td>
284        </tr>
285      </table>
286</div>
287<div class="memdoc">
288
289<p>
290Create Gauss-inverse-Wishart density <p class="formulaDsp">
291<img class="formulaDsp" alt="\[ f(rv) = GiW(V,\nu) \]" src="form_165.png">
292<p>
293 from structure <div class="fragment"><pre class="fragment">                <span class="keyword">class </span>= 'egiw';
294                <a class="code" href="classbdm_1_1egiw.html#ae56852845c6af176fd9017dbebbbd52" title="Extended information matrix of sufficient statistics.">V</a>     = [];               <span class="comment">// square matrix</span>
295                <a class="code" href="classbdm_1_1egiw.html#447eacf19d4f4083872686f044814dc4" title="Number of data records (degrees of freedom) of sufficient statistics.">nu</a>    = [];               <span class="comment">// scalar \nu ((almost) degrees of freedom)</span>
296                                                                  <span class="comment">// when missing, it will be computed to obtain proper pdf</span>
297                <a class="code" href="classbdm_1_1egiw.html#23e4d78bea7e98840f3da30e76a2b57a" title="Dimension of the output.">dimx</a>  = [];               <span class="comment">// dimension of the wishart part</span>
298                <a class="code" href="classbdm_1_1epdf.html#62c5b8ff71d9ebe6cd58d3c342eb1dc8" title="Description of the random variable.">rv</a> = RV({<span class="stringliteral">'name'</span>})         <span class="comment">// description of RV</span>
299                rvc = RV({<span class="stringliteral">'name'</span>})        <span class="comment">// description of RV in condition</span>
300</pre></div> 
301<p>Reimplemented from <a class="el" href="classbdm_1_1epdf.html#fa9efc98a065b31c630fe18cc418f725">bdm::epdf</a>.</p>
302
303<p>References <a class="el" href="exp__family_8h_source.html#l00210">bdm::egiw::dimx</a>, <a class="el" href="user__info_8h_source.html#l00451">bdm::UI::get()</a>, <a class="el" href="exp__family_8h_source.html#l00208">bdm::egiw::nu</a>, and <a class="el" href="exp__family_8h_source.html#l00206">bdm::egiw::V</a>.</p>
304
305</div>
306</div><p>
307<a class="anchor" name="c4627222e22df6e14f8f1496e13c4975"></a><!-- doxytag: member="bdm::egiwmix::set_parameters" ref="c4627222e22df6e14f8f1496e13c4975" args="(const vec &amp;w, const Array&lt; egiw * &gt; &amp;Coms, bool copy=false)" -->
308<div class="memitem">
309<div class="memproto">
310      <table class="memname">
311        <tr>
312          <td class="memname">void bdm::egiwmix::set_parameters           </td>
313          <td>(</td>
314          <td class="paramtype">const vec &amp;&nbsp;</td>
315          <td class="paramname"> <em>w</em>, </td>
316        </tr>
317        <tr>
318          <td class="paramkey"></td>
319          <td></td>
320          <td class="paramtype">const Array&lt; <a class="el" href="classbdm_1_1egiw.html">egiw</a> * &gt; &amp;&nbsp;</td>
321          <td class="paramname"> <em>Coms</em>, </td>
322        </tr>
323        <tr>
324          <td class="paramkey"></td>
325          <td></td>
326          <td class="paramtype">bool&nbsp;</td>
327          <td class="paramname"> <em>copy</em> = <code>false</code></td><td>&nbsp;</td>
328        </tr>
329        <tr>
330          <td></td>
331          <td>)</td>
332          <td></td><td></td><td></td>
333        </tr>
334      </table>
335</div>
336<div class="memdoc">
337
338<p>
339Set weights <code>w</code> and components <code>Coms</code> By default Coms are copied inside. Parameter <code>copy</code> can be set to false if Coms live externally. Use method <a class="el" href="classbdm_1_1egiwmix.html#adc550fe74df25524c20867e89b5b096" title="Auxiliary function for taking ownership of the Coms().">ownComs()</a> if Coms should be destroyed by the destructor.
340<p>References <a class="el" href="bdmerror_8h_source.html#l00047">bdm_assert_debug</a>, <a class="el" href="bdmerror_8h_source.html#l00051">bdm_error</a>, <a class="el" href="emix_8h_source.html#l00211">Coms</a>, <a class="el" href="emix_8h_source.html#l00213">destroyComs</a>, <a class="el" href="bdmbase_8h_source.html#l00329">bdm::epdf::dim</a>, <a class="el" href="bdmbase_8h_source.html#l00435">bdm::epdf::dimension()</a>, and <a class="el" href="emix_8h_source.html#l00209">w</a>.</p>
341
342</div>
343</div><p>
344<hr>The documentation for this class was generated from the following files:<ul>
345<li><a class="el" href="emix_8h_source.html">emix.h</a><li>emix.cpp</ul>
346</div>
347<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 17:34:48 2009 for mixpp by&nbsp;
348<a href="http://www.doxygen.org/index.html">
349<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
350</body>
351</html>
Note: See TracBrowser for help on using the browser.