root/library/doc/html/classbdm_1_1mprod.html @ 396

Revision 396, 25.2 kB (checked in by mido, 15 years ago)

UI documentation almost finished; UIException redesigned and used instead of UI::ui_error function

RevLine 
[259]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::mprod Class Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
[290]5<link href="doxygen.css" rel="stylesheet" type="text/css">
[259]6</head><body>
[396]7<!-- Generated by Doxygen 1.5.9 -->
[271]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>
[259]49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
[271]52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
[259]53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
[290]55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
[259]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>
[290]62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
[259]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>
[271]67  <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1mprod.html">mprod</a>
[259]68  </div>
69</div>
70<div class="contents">
[290]71<h1>bdm::mprod Class Reference</h1><!-- doxytag: class="bdm::mprod" --><!-- doxytag: inherits="bdm::compositepdf,bdm::mpdf" -->Chain rule decomposition of <a class="el" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>
72<a href="#_details">More...</a>
[259]73<p>
[396]74<code>#include &lt;<a class="el" href="emix_8h_source.html">emix.h</a>&gt;</code>
[290]75<p>
[259]76
77<p>
[290]78<a href="classbdm_1_1mprod-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
[259]79<tr><td></td></tr>
80<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
[385]81<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fed864cdd0e724d9133e6c6bfcacf94b"></a><!-- doxytag: member="bdm::mprod::mprod" ref="fed864cdd0e724d9133e6c6bfcacf94b" args="()" -->
82&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#fed864cdd0e724d9133e6c6bfcacf94b">mprod</a> ()</td></tr>
83
84<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from list of mFacs,. <br></td></tr>
[259]85<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="680c3e2d95b116c7cfb227c7f2984525"></a><!-- doxytag: member="bdm::mprod::mprod" ref="680c3e2d95b116c7cfb227c7f2984525" args="(Array&lt; mpdf * &gt; mFacs)" -->
[385]86&nbsp;</td><td class="memItemRight" valign="bottom"><b>mprod</b> (Array&lt; <a class="el" href="classbdm_1_1mpdf.html">mpdf</a> * &gt; mFacs)</td></tr>
[259]87
[396]88<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8535540b53429e373f072ce1995bf79"></a><!-- doxytag: member="bdm::mprod::set_elements" ref="f8535540b53429e373f072ce1995bf79" args="(Array&lt; mpdf * &gt; mFacs, bool own=false)" -->
89void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_elements</b> (Array&lt; <a class="el" href="classbdm_1_1mpdf.html">mpdf</a> * &gt; mFacs, bool own=false)</td></tr>
[385]90
[259]91<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="800f21d94c919137608a2fd5c88719e2"></a><!-- doxytag: member="bdm::mprod::evallogcond" ref="800f21d94c919137608a2fd5c88719e2" args="(const vec &amp;val, const vec &amp;cond)" -->
92double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#800f21d94c919137608a2fd5c88719e2">evallogcond</a> (const vec &amp;val, const vec &amp;cond)</td></tr>
93
94<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut for conditioning and evaluation of the internal <a class="el" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. In some cases, this operation can be implemented efficiently. <br></td></tr>
[396]95<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e27b359d2572abfa4cc7d8f947848dab"></a><!-- doxytag: member="bdm::mprod::evallogcond_m" ref="e27b359d2572abfa4cc7d8f947848dab" args="(const mat &amp;Dt, const vec &amp;cond)" -->
96vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#e27b359d2572abfa4cc7d8f947848dab">evallogcond_m</a> (const mat &amp;Dt, const vec &amp;cond)</td></tr>
97
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix version of evallogcond. <br></td></tr>
99<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8cdde6056fe20551be1fa460841f5e2"></a><!-- doxytag: member="bdm::mprod::evallogcond_m" ref="e8cdde6056fe20551be1fa460841f5e2" args="(const Array&lt; vec &gt; &amp;Dt, const vec &amp;cond)" -->
100vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#e8cdde6056fe20551be1fa460841f5e2">evallogcond_m</a> (const Array&lt; vec &gt; &amp;Dt, const vec &amp;cond)</td></tr>
101
102<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array&lt;vec&gt; version of evallogcond. <br></td></tr>
[271]103<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#ee715a8013acf9892f6cb489db595555">samplecond</a> (const vec &amp;cond)</td></tr>
[259]104
[354]105<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a sample from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_49.png"><a href="#ee715a8013acf9892f6cb489db595555"></a><br></td></tr>
[271]106<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d193dcc89fbc6f21979e0ced6d84568c"></a><!-- doxytag: member="bdm::mprod::samplecond" ref="d193dcc89fbc6f21979e0ced6d84568c" args="(const vec &amp;cond, int N)" -->
107mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>samplecond</b> (const vec &amp;cond, int N)</td></tr>
[259]108
[396]109<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#bfa7478f8df1de6d8cd4c349db512831">from_setting</a> (const Setting &amp;set)</td></tr>
[385]110
[259]111<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1compositepdf.html#c73d39acc4378eee6a63155c3517d3c9">getrv</a> (bool checkoverlap=false)</td></tr>
112
113<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">find common rv, flag  <a href="#c73d39acc4378eee6a63155c3517d3c9"></a><br></td></tr>
114<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c71fc2c51f49d797e61f479f543c75ce"></a><!-- doxytag: member="bdm::mprod::setrvc" ref="c71fc2c51f49d797e61f479f543c75ce" args="(const RV &amp;rv, RV &amp;rvc)" -->
[270]115void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1compositepdf.html#c71fc2c51f49d797e61f479f543c75ce">setrvc</a> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv, <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;<a class="el" href="classbdm_1_1mpdf.html#5a5f08950daa08b85b01ddf4e1c36288">rvc</a>)</td></tr>
[259]116
117<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">common rvc of all mpdfs is written to rvc <br></td></tr>
[396]118<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af0e6941ba5919cae1bc530e2181b109"></a><!-- doxytag: member="bdm::mprod::to_string" ref="af0e6941ba5919cae1bc530e2181b109" args="()" -->
119virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#af0e6941ba5919cae1bc530e2181b109">to_string</a> ()</td></tr>
[353]120
121<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns a basic info about the current instance. <br></td></tr>
[396]122<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67d954d255ede776eade7334d4895790"></a><!-- doxytag: member="bdm::mprod::to_setting" ref="67d954d255ede776eade7334d4895790" args="(Setting &amp;set) const " -->
123virtual 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>
[353]124
125<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method save all the instance properties into the Setting structure. <br></td></tr>
[396]126<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c314bd6d6dacb8ba78ea5eb88fd9516"></a><!-- doxytag: member="bdm::mprod::validate" ref="1c314bd6d6dacb8ba78ea5eb88fd9516" args="()" -->
127virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1root.html#1c314bd6d6dacb8ba78ea5eb88fd9516">validate</a> ()</td></tr>
[368]128
129<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method TODO. <br></td></tr>
[270]130<tr><td colspan="2"><div class="groupHeader">Matematical operations</div></td></tr>
131<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#afe4185b26baeb03688202e254d3b005">samplecond_m</a> (const vec &amp;cond, int N)</td></tr>
[259]132
[270]133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns.  <a href="#afe4185b26baeb03688202e254d3b005"></a><br></td></tr>
[259]134<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db94784a9aacf74c65c5a014f6743530"></a><!-- doxytag: member="bdm::mprod::condition" ref="db94784a9aacf74c65c5a014f6743530" args="(const vec &amp;cond)" -->
135virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#db94784a9aacf74c65c5a014f6743530">condition</a> (const vec &amp;cond)</td></tr>
136
137<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update <code>ep</code> so that it represents this <a class="el" href="classbdm_1_1mpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> conditioned on <code>rvc</code> = cond. <br></td></tr>
[270]138<tr><td colspan="2"><div class="groupHeader">Access to attributes</div></td></tr>
139<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5571482d150fbcb72cc36f6694ce1a10"></a><!-- doxytag: member="bdm::mprod::_rv" ref="5571482d150fbcb72cc36f6694ce1a10" args="()" -->
140<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_rv</b> ()</td></tr>
[259]141
[270]142<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26001264236846897bd11e4baad47245"></a><!-- doxytag: member="bdm::mprod::_rvc" ref="26001264236846897bd11e4baad47245" args="()" -->
143<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_rvc</b> ()</td></tr>
[259]144
[270]145<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c2bae3e1e90874e72941863974ec0ed"></a><!-- doxytag: member="bdm::mprod::dimension" ref="1c2bae3e1e90874e72941863974ec0ed" args="()" -->
146int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimension</b> ()</td></tr>
147
148<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35e135910aed187b7290742f50e61bc8"></a><!-- doxytag: member="bdm::mprod::dimensionc" ref="35e135910aed187b7290742f50e61bc8" args="()" -->
149int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimensionc</b> ()</td></tr>
150
[259]151<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1892fe3933488942253679f068e9e7f6"></a><!-- doxytag: member="bdm::mprod::_epdf" ref="1892fe3933488942253679f068e9e7f6" args="()" -->
[270]152<a class="el" href="classbdm_1_1epdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_epdf</b> ()</td></tr>
[259]153
154<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05e843fd11c410a99dad2b88c55aca80"></a><!-- doxytag: member="bdm::mprod::_e" ref="05e843fd11c410a99dad2b88c55aca80" args="()" -->
[270]155<a class="el" href="classbdm_1_1epdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_e</b> ()</td></tr>
[259]156
[270]157<tr><td colspan="2"><div class="groupHeader">Connection to other objects</div></td></tr>
158<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7631a5570e4ade1420065e8df78f4401"></a><!-- doxytag: member="bdm::mprod::set_rvc" ref="7631a5570e4ade1420065e8df78f4401" args="(const RV &amp;rvc0)" -->
159void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_rvc</b> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rvc0)</td></tr>
160
161<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18ac26bc2f96ae01ef4eb06178abbd75"></a><!-- doxytag: member="bdm::mprod::set_rv" ref="18ac26bc2f96ae01ef4eb06178abbd75" args="(const RV &amp;rv0)" -->
162void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_rv</b> (const <a class="el" href="classbdm_1_1RV.html">RV</a> &amp;rv0)</td></tr>
163
164<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8e3798150b42fd1f3e16ddbbe0e7045"></a><!-- doxytag: member="bdm::mprod::isnamed" ref="f8e3798150b42fd1f3e16ddbbe0e7045" args="()" -->
165bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>isnamed</b> ()</td></tr>
166
[259]167<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
168<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eca722ed1b219727c6c0f8cbc6bf1e51"></a><!-- doxytag: member="bdm::mprod::epdfs" ref="eca722ed1b219727c6c0f8cbc6bf1e51" args="" -->
[354]169Array&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_1mprod.html#eca722ed1b219727c6c0f8cbc6bf1e51">epdfs</a></td></tr>
[259]170
[271]171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointers to epdfs - shortcut to <a class="el" href="classbdm_1_1compositepdf.html#23faf2debc4dde10836393b8c665914a" title="Elements of composition.">mpdfs()</a>.posterior() <br></td></tr>
[259]172<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acf679b3b1d48629c5a042d9ac0d973f"></a><!-- doxytag: member="bdm::mprod::dls" ref="acf679b3b1d48629c5a042d9ac0d973f" args="" -->
[354]173Array&lt; <a class="el" href="classbdm_1_1datalink__m2m.html">datalink_m2m</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#acf679b3b1d48629c5a042d9ac0d973f">dls</a></td></tr>
[259]174
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data link for each mpdfs. <br></td></tr>
[271]176<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3fe66c257e5eca9de1031ef44907677"></a><!-- doxytag: member="bdm::mprod::dummy" ref="e3fe66c257e5eca9de1031ef44907677" args="" -->
177<a class="el" href="classbdm_1_1epdf.html">epdf</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mprod.html#e3fe66c257e5eca9de1031ef44907677">dummy</a></td></tr>
178
179<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dummy ep <br></td></tr>
[259]180<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23faf2debc4dde10836393b8c665914a"></a><!-- doxytag: member="bdm::mprod::mpdfs" ref="23faf2debc4dde10836393b8c665914a" args="" -->
[354]181Array&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_1compositepdf.html#23faf2debc4dde10836393b8c665914a">mpdfs</a></td></tr>
[259]182
183<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Elements of composition. <br></td></tr>
[396]184<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd642a575896ca95d46caf2dc607961b"></a><!-- doxytag: member="bdm::mprod::owning_mpdfs" ref="bd642a575896ca95d46caf2dc607961b" args="" -->
185bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>owning_mpdfs</b></td></tr>
186
[270]187<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c1900976ff13dbc09c9729b3bbff9e6"></a><!-- doxytag: member="bdm::mprod::dimc" ref="7c1900976ff13dbc09c9729b3bbff9e6" args="" -->
188int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#7c1900976ff13dbc09c9729b3bbff9e6">dimc</a></td></tr>
[259]189
[270]190<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimension of the condition <br></td></tr>
[259]191<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a5f08950daa08b85b01ddf4e1c36288"></a><!-- doxytag: member="bdm::mprod::rvc" ref="5a5f08950daa08b85b01ddf4e1c36288" args="" -->
192<a class="el" href="classbdm_1_1RV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#5a5f08950daa08b85b01ddf4e1c36288">rvc</a></td></tr>
193
194<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">random variable in condition <br></td></tr>
195<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5eea43c56d38e4441bfb30270db949c0"></a><!-- doxytag: member="bdm::mprod::ep" ref="5eea43c56d38e4441bfb30270db949c0" args="" -->
196<a class="el" href="classbdm_1_1epdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#5eea43c56d38e4441bfb30270db949c0">ep</a></td></tr>
197
198<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to internal <a class="el" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> <br></td></tr>
199</table>
[290]200<hr><a name="_details"></a><h2>Detailed Description</h2>
201Chain rule decomposition of <a class="el" href="classbdm_1_1epdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.
202<p>
203Probability density in the form of Chain-rule decomposition: \[ f(x_1,x_2,x_3) = f(x_1|x_2,x_3)f(x_2,x_3)f(x_3) \] Note that <hr><h2>Member Function Documentation</h2>
[396]204<a class="anchor" name="bfa7478f8df1de6d8cd4c349db512831"></a><!-- doxytag: member="bdm::mprod::from_setting" ref="bfa7478f8df1de6d8cd4c349db512831" args="(const Setting &amp;set)" -->
205<div class="memitem">
206<div class="memproto">
207      <table class="memname">
208        <tr>
209          <td class="memname">void bdm::mprod::from_setting           </td>
210          <td>(</td>
211          <td class="paramtype">const Setting &amp;&nbsp;</td>
212          <td class="paramname"> <em>set</em>          </td>
213          <td>&nbsp;)&nbsp;</td>
214          <td><code> [inline, virtual]</code></td>
215        </tr>
216      </table>
217</div>
218<div class="memdoc">
219
220<p>
221Load from structure with elements: <div class="fragment"><pre class="fragment"> { <span class="keyword">class</span>=<span class="stringliteral">'mprod'</span>;
222   <a class="code" href="classbdm_1_1compositepdf.html#23faf2debc4dde10836393b8c665914a" title="Elements of composition.">mpdfs</a> = (..., ...);     <span class="comment">// list of mpdfs in the order of chain rule</span>
223 }
224</pre></div> 
225<p>Reimplemented from <a class="el" href="classbdm_1_1mpdf.html#30a0bceb948e287d497c578e371b1667">bdm::mpdf</a>.</p>
226
227<p>References <a class="el" href="user__info_8h_source.html#l00358">bdm::UI::get()</a>.</p>
228
229</div>
230</div><p>
[290]231<a class="anchor" name="c73d39acc4378eee6a63155c3517d3c9"></a><!-- doxytag: member="bdm::mprod::getrv" ref="c73d39acc4378eee6a63155c3517d3c9" args="(bool checkoverlap=false)" -->
[259]232<div class="memitem">
233<div class="memproto">
234      <table class="memname">
235        <tr>
[290]236          <td class="memname"><a class="el" href="classbdm_1_1RV.html">RV</a> bdm::compositepdf::getrv           </td>
[259]237          <td>(</td>
[290]238          <td class="paramtype">bool&nbsp;</td>
239          <td class="paramname"> <em>checkoverlap</em> = <code>false</code>          </td>
[271]240          <td>&nbsp;)&nbsp;</td>
[290]241          <td><code> [inherited]</code></td>
[259]242        </tr>
243      </table>
244</div>
245<div class="memdoc">
246
247<p>
[290]248find common rv, flag
[259]249<p>
[271]250<dl compact><dt><b>Parameters:</b></dt><dd>
251  <table border="0" cellspacing="2" cellpadding="0">
[290]252    <tr><td valign="top"></td><td valign="top"><em>checkoverlap</em>&nbsp;</td><td>modifies whether overlaps are acceptable </td></tr>
[271]253  </table>
254</dl>
[259]255
[396]256<p>References <a class="el" href="bdmbase_8cpp_source.html#l00078">bdm::RV::add()</a>, and <a class="el" href="bdmbase_8h_source.html#l00639">bdm::compositepdf::mpdfs</a>.</p>
[271]257
[396]258<p>Referenced by <a class="el" href="merger_8h_source.html#l00081">bdm::merger_base::set_sources()</a>.</p>
[271]259
[259]260</div>
261</div><p>
[290]262<a class="anchor" name="ee715a8013acf9892f6cb489db595555"></a><!-- doxytag: member="bdm::mprod::samplecond" ref="ee715a8013acf9892f6cb489db595555" args="(const vec &amp;cond)" -->
[259]263<div class="memitem">
264<div class="memproto">
265      <table class="memname">
266        <tr>
[290]267          <td class="memname">vec bdm::mprod::samplecond           </td>
[259]268          <td>(</td>
[290]269          <td class="paramtype">const vec &amp;&nbsp;</td>
270          <td class="paramname"> <em>cond</em>          </td>
[259]271          <td>&nbsp;)&nbsp;</td>
[290]272          <td><code> [inline, virtual]</code></td>
[259]273        </tr>
274      </table>
275</div>
276<div class="memdoc">
277
278<p>
[354]279Returns a sample from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_49.png">.
[259]280<p>
281<dl compact><dt><b>Parameters:</b></dt><dd>
282  <table border="0" cellspacing="2" cellpadding="0">
[290]283    <tr><td valign="top"></td><td valign="top"><em>cond</em>&nbsp;</td><td>is numeric value of <code>rv</code> </td></tr>
[259]284  </table>
285</dl>
286
[290]287<p>
288Ugly hack to help to discover if mpfs are not in proper order. Correct solution = check that explicitely.
289<p>Reimplemented from <a class="el" href="classbdm_1_1mpdf.html#f0c1db6fcbb3aae2dd6123884457a367">bdm::mpdf</a>.</p>
[259]290
[396]291<p>References <a class="el" href="bdmbase_8h_source.html#l00318">bdm::epdf::dimension()</a>, <a class="el" href="emix_8h_source.html#l00229">dls</a>, <a class="el" href="bdmbase_8h_source.html#l00348">bdm::mpdf::ep</a>, <a class="el" href="emix_8h_source.html#l00227">epdfs</a>, and <a class="el" href="bdmbase_8h_source.html#l00639">bdm::compositepdf::mpdfs</a>.</p>
[269]292
293</div>
294</div><p>
[270]295<a class="anchor" name="afe4185b26baeb03688202e254d3b005"></a><!-- doxytag: member="bdm::mprod::samplecond_m" ref="afe4185b26baeb03688202e254d3b005" args="(const vec &amp;cond, int N)" -->
[259]296<div class="memitem">
297<div class="memproto">
298      <table class="memname">
299        <tr>
300          <td class="memname">virtual mat bdm::mpdf::samplecond_m           </td>
301          <td>(</td>
302          <td class="paramtype">const vec &amp;&nbsp;</td>
303          <td class="paramname"> <em>cond</em>, </td>
304        </tr>
305        <tr>
306          <td class="paramkey"></td>
307          <td></td>
308          <td class="paramtype">int&nbsp;</td>
309          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
310        </tr>
311        <tr>
312          <td></td>
313          <td>)</td>
314          <td></td><td></td><td><code> [inline, virtual, inherited]</code></td>
315        </tr>
316      </table>
317</div>
318<div class="memdoc">
319
320<p>
321Returns.
322<p>
323<dl compact><dt><b>Parameters:</b></dt><dd>
324  <table border="0" cellspacing="2" cellpadding="0">
[354]325    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>samples from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_49.png">. </td></tr>
[259]326    <tr><td valign="top"></td><td valign="top"><em>cond</em>&nbsp;</td><td>is numeric value of <code>rv</code> </td></tr>
327  </table>
328</dl>
329
[396]330<p>References <a class="el" href="bdmbase_8h_source.html#l00376">bdm::mpdf::condition()</a>, <a class="el" href="bdmbase_8h_source.html#l00318">bdm::epdf::dimension()</a>, <a class="el" href="bdmbase_8h_source.html#l00348">bdm::mpdf::ep</a>, and <a class="el" href="bdmbase_8h_source.html#l00263">bdm::epdf::sample()</a>.</p>
[259]331
332</div>
333</div><p>
334<hr>The documentation for this class was generated from the following file:<ul>
[396]335<li><a class="el" href="emix_8h_source.html">emix.h</a></ul>
[259]336</div>
[396]337<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 24 13:35:52 2009 for mixpp by&nbsp;
[259]338<a href="http://www.doxygen.org/index.html">
[396]339<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
[259]340</body>
341</html>
Note: See TracBrowser for help on using the browser.