80 | | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#0dafc0196e7e07fd06dc6716e0e18bc2">condition</a> (const vec &cond)</td></tr> |
81 | | |
82 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="56e587952f94fcac6cfc999eae6dbced"></a><!-- doxytag: member="bdm::mlnorm::_mu_const" ref="56e587952f94fcac6cfc999eae6dbced" args="()" --> |
83 | | vec & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#56e587952f94fcac6cfc999eae6dbced">_mu_const</a> ()</td></tr> |
| 80 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#c2895ae549ee76d961be98d7061bd110">condition</a> (const vec &cond)</td></tr> |
| 81 | |
| 82 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6332e5200f3afa15db3f7f4bca09b17f"></a><!-- doxytag: member="bdm::mlnorm::_mu_const" ref="6332e5200f3afa15db3f7f4bca09b17f" args="()" --> |
| 83 | vec & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#6332e5200f3afa15db3f7f4bca09b17f">_mu_const</a> ()</td></tr> |
94 | | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#8582928555c309a2865f385dd0441fd1">from_setting</a> (const Setting &set)</td></tr> |
95 | | |
| 94 | <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#52980f13d80162d00b30d5864343f564">from_setting</a> (const Setting &set)</td></tr> |
| 95 | |
| 96 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b4d1cb8d7e230e313b4f0c905874d5a"></a><!-- doxytag: member="bdm::mlnorm::e" ref="6b4d1cb8d7e230e313b4f0c905874d5a" args="()" --> |
| 97 | TEpdf< sq_T > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#6b4d1cb8d7e230e313b4f0c905874d5a">e</a> ()</td></tr> |
| 98 | |
| 99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function to iepdf <br></td></tr> |
| 100 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8e547695d1cc19219b91164d825c930"></a><!-- doxytag: member="bdm::mlnorm::samplecond" ref="d8e547695d1cc19219b91164d825c930" args="(const vec &cond)" --> |
| 101 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#d8e547695d1cc19219b91164d825c930">samplecond</a> (const vec &cond)</td></tr> |
| 102 | |
| 103 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplements samplecond using <code>condition()</code>. <br></td></tr> |
| 104 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89076e62b8d7df7616bad68c94591948"></a><!-- doxytag: member="bdm::mlnorm::evallogcond" ref="89076e62b8d7df7616bad68c94591948" args="(const vec &val, const vec &cond)" --> |
| 105 | double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#89076e62b8d7df7616bad68c94591948">evallogcond</a> (const vec &val, const vec &cond)</td></tr> |
| 106 | |
| 107 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplements evallogcond using <code>condition()</code>. <br></td></tr> |
| 108 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e28c214e3063733a6e4d17738941c61c"></a><!-- doxytag: member="bdm::mlnorm::evallogcond_m" ref="e28c214e3063733a6e4d17738941c61c" args="(const mat &Dt, const vec &cond)" --> |
| 109 | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#e28c214e3063733a6e4d17738941c61c">evallogcond_m</a> (const mat &Dt, const vec &cond)</td></tr> |
| 110 | |
| 111 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of evallogcond for matrices. <br></td></tr> |
| 112 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e82db07ce8af02f29cfd81e014edb3db"></a><!-- doxytag: member="bdm::mlnorm::evallogcond_m" ref="e82db07ce8af02f29cfd81e014edb3db" args="(const Array< vec > &Dt, const vec &cond)" --> |
| 113 | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#e82db07ce8af02f29cfd81e014edb3db">evallogcond_m</a> (const Array< vec > &Dt, const vec &cond)</td></tr> |
| 114 | |
| 115 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of evallogcond for Array<vec>. <br></td></tr> |
| 116 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9554c554054da2d22cb8e908ae9c8823"></a><!-- doxytag: member="bdm::mlnorm::samplecond_m" ref="9554c554054da2d22cb8e908ae9c8823" args="(const vec &cond, int N)" --> |
| 117 | virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#9554c554054da2d22cb8e908ae9c8823">samplecond_m</a> (const vec &cond, int N)</td></tr> |
| 118 | |
| 119 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of samplecond. <br></td></tr> |
112 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf7edd1aea62178d7b5e555df261542d"></a><!-- doxytag: member="bdm::mlnorm::mlnorm" ref="cf7edd1aea62178d7b5e555df261542d" args="(const mat &A, const vec &mu0, const sq_T &R)" --> |
113 | | </td><td class="memItemRight" valign="bottom"><b>mlnorm</b> (const mat &A, const vec &mu0, const sq_T &R)</td></tr> |
114 | | |
115 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d18dec3167584338a4775c1d165d96f"></a><!-- doxytag: member="bdm::mlnorm::set_parameters" ref="5d18dec3167584338a4775c1d165d96f" args="(const mat &A, const vec &mu0, const sq_T &R)" --> |
116 | | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#5d18dec3167584338a4775c1d165d96f">set_parameters</a> (const mat &A, const vec &mu0, const sq_T &R)</td></tr> |
| 136 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="088469214275199448c32f841b74dd0f"></a><!-- doxytag: member="bdm::mlnorm::mlnorm" ref="088469214275199448c32f841b74dd0f" args="(const mat &A, const vec &mu0, const sq_T &R)" --> |
| 137 | </td><td class="memItemRight" valign="bottom"><b>mlnorm</b> (const mat &<a class="el" href="classbdm_1_1mlnorm.html#c71bbf59fc732beb2b459d7117bd6e42">A</a>, const vec &mu0, const sq_T &R)</td></tr> |
| 138 | |
| 139 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04f7c6cda7b2f95161dd5fbcf15d1fd5"></a><!-- doxytag: member="bdm::mlnorm::set_parameters" ref="04f7c6cda7b2f95161dd5fbcf15d1fd5" args="(const mat &A0, const vec &mu0, const sq_T &R0)" --> |
| 140 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#04f7c6cda7b2f95161dd5fbcf15d1fd5">set_parameters</a> (const mat &A0, const vec &mu0, const sq_T &R0)</td></tr> |
119 | | <tr><td colspan="2"><div class="groupHeader">Matematical operations</div></td></tr> |
120 | | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#b024f2e636e5507c755de4a6df1f1e99">samplecond</a> (const vec &cond)</td></tr> |
121 | | |
122 | | <tr><td class="mdescLeft"> </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_11.png">. <a href="#b024f2e636e5507c755de4a6df1f1e99"></a><br></td></tr> |
123 | | <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#6e497d501331057309d2fddf63259d1a">samplecond_m</a> (const vec &cond, int N)</td></tr> |
124 | | |
125 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns. <a href="#6e497d501331057309d2fddf63259d1a"></a><br></td></tr> |
126 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfcbb897bf42015a7979b17d891fd9b5"></a><!-- doxytag: member="bdm::mlnorm::evallogcond" ref="cfcbb897bf42015a7979b17d891fd9b5" args="(const vec &dt, const vec &cond)" --> |
127 | | virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#cfcbb897bf42015a7979b17d891fd9b5">evallogcond</a> (const vec &dt, const vec &cond)</td></tr> |
128 | | |
129 | | <tr><td class="mdescLeft"> </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> |
130 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f97c61ecfb1f44ef6f08dee7bc15eab3"></a><!-- doxytag: member="bdm::mlnorm::evallogcond_m" ref="f97c61ecfb1f44ef6f08dee7bc15eab3" args="(const mat &Dt, const vec &cond)" --> |
131 | | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#f97c61ecfb1f44ef6f08dee7bc15eab3">evallogcond_m</a> (const mat &Dt, const vec &cond)</td></tr> |
132 | | |
133 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix version of evallogcond. <br></td></tr> |
134 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d7d3c23e3273e97c12c396dcc06b606"></a><!-- doxytag: member="bdm::mlnorm::evallogcond_m" ref="2d7d3c23e3273e97c12c396dcc06b606" args="(const Array< vec > &Dt, const vec &cond)" --> |
135 | | virtual vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#2d7d3c23e3273e97c12c396dcc06b606">evallogcond_m</a> (const Array< vec > &Dt, const vec &cond)</td></tr> |
136 | | |
137 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Array<vec> version of evallogcond. <br></td></tr> |
| 166 | <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> |
| 167 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="147afacb393324bb3f9a7a89e33f835e"></a><!-- doxytag: member="bdm::mlnorm::set_ep" ref="147afacb393324bb3f9a7a89e33f835e" args="(epdf &iepdf)" --> |
| 168 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#147afacb393324bb3f9a7a89e33f835e">set_ep</a> (<a class="el" href="classbdm_1_1epdf.html">epdf</a> &<a class="el" href="classbdm_1_1mpdf__internal.html#47bab632af15120c88aad647ae129468">iepdf</a>)</td></tr> |
| 169 | |
| 170 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set internal pointer <code>ep</code> to point to given <code>iepdf</code> <br></td></tr> |
| 171 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7555b377f8b5895c9b759c9628ee3e20"></a><!-- doxytag: member="bdm::mlnorm::set_ep" ref="7555b377f8b5895c9b759c9628ee3e20" args="(epdf *iepdfp)" --> |
| 172 | void </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf.html#7555b377f8b5895c9b759c9628ee3e20">set_ep</a> (<a class="el" href="classbdm_1_1epdf.html">epdf</a> *iepdfp)</td></tr> |
| 173 | |
| 174 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set internal pointer <code>ep</code> to point to given <code>iepdf</code> <br></td></tr> |
172 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8207ae86d1722102897e139a23e29af8"></a><!-- doxytag: member="bdm::mlnorm::A" ref="8207ae86d1722102897e139a23e29af8" args="" --> |
173 | | mat </td><td class="memItemRight" valign="bottom"><b>A</b></td></tr> |
174 | | |
175 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a019144d414d1737aea331ffe1c3845"></a><!-- doxytag: member="bdm::mlnorm::mu_const" ref="3a019144d414d1737aea331ffe1c3845" args="" --> |
176 | | vec </td><td class="memItemRight" valign="bottom"><b>mu_const</b></td></tr> |
177 | | |
178 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dea5ea658d5020c11da91275f592244b"></a><!-- doxytag: member="bdm::mlnorm::_mu" ref="dea5ea658d5020c11da91275f592244b" args="" --> |
179 | | vec & </td><td class="memItemRight" valign="bottom"><b>_mu</b></td></tr> |
180 | | |
| 180 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="831b50121cad10aa03a16682bd0c3ed6"></a><!-- doxytag: member="bdm::mlnorm::mu_const" ref="831b50121cad10aa03a16682bd0c3ed6" args="" --> |
| 181 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#831b50121cad10aa03a16682bd0c3ed6">mu_const</a></td></tr> |
| 182 | |
| 183 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Constant additive term. <br></td></tr> |
| 184 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47bab632af15120c88aad647ae129468"></a><!-- doxytag: member="bdm::mlnorm::iepdf" ref="47bab632af15120c88aad647ae129468" args="" --> |
| 185 | TEpdf< sq_T > </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#47bab632af15120c88aad647ae129468">iepdf</a></td></tr> |
| 186 | |
| 187 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Internal epdf used for sampling. <br></td></tr> |
190 | | <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1917009347bb410f73bf827df8767b09"></a><!-- doxytag: member="bdm::mlnorm::operator<<" ref="1917009347bb410f73bf827df8767b09" args="(std::ostream &os, mlnorm< sq_M > &ml)" --> |
191 | | template<class sq_M > </td></tr> |
192 | | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (std::ostream &os, <a class="el" href="classbdm_1_1mlnorm.html">mlnorm</a>< sq_M > &ml)</td></tr> |
193 | | |
| 197 | <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="75795ae374be737465498b98aebd1434"></a><!-- doxytag: member="bdm::mlnorm::operator<<" ref="75795ae374be737465498b98aebd1434" args="(std::ostream &os, mlnorm< sq_M, enorm > &ml)" --> |
| 198 | template<typename sq_M > </td></tr> |
| 199 | <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classbdm_1_1mlnorm.html#75795ae374be737465498b98aebd1434">operator<<</a> (std::ostream &os, <a class="el" href="classbdm_1_1mlnorm.html">mlnorm</a>< sq_M, <a class="el" href="classbdm_1_1enorm.html">enorm</a> > &ml)</td></tr> |
| 200 | |
| 201 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Debug stream. <br></td></tr> |
254 | | <p>Referenced by <a class="el" href="exp__family_8h_source.html#l00565">bdm::mlnorm< ldmat >::from_setting()</a>.</p> |
255 | | |
256 | | </div> |
257 | | </div><p> |
258 | | <a class="anchor" name="b024f2e636e5507c755de4a6df1f1e99"></a><!-- doxytag: member="bdm::mlnorm::samplecond" ref="b024f2e636e5507c755de4a6df1f1e99" args="(const vec &cond)" --> |
259 | | <div class="memitem"> |
260 | | <div class="memproto"> |
261 | | <table class="memname"> |
262 | | <tr> |
263 | | <td class="memname">vec bdm::mpdf::samplecond </td> |
264 | | <td>(</td> |
265 | | <td class="paramtype">const vec & </td> |
266 | | <td class="paramname"> <em>cond</em> </td> |
267 | | <td> ) </td> |
268 | | <td><code> [virtual, inherited]</code></td> |
269 | | </tr> |
270 | | </table> |
271 | | </div> |
272 | | <div class="memdoc"> |
273 | | |
274 | | <p> |
275 | | Returns a sample from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_11.png">. |
276 | | <p> |
277 | | <dl compact><dt><b>Parameters:</b></dt><dd> |
278 | | <table border="0" cellspacing="2" cellpadding="0"> |
279 | | <tr><td valign="top"></td><td valign="top"><em>cond</em> </td><td>is numeric value of <code>rv</code> </td></tr> |
280 | | </table> |
281 | | </dl> |
282 | | |
283 | | <p>Reimplemented in <a class="el" href="classbdm_1_1mprod.html#ee715a8013acf9892f6cb489db595555">bdm::mprod</a>.</p> |
284 | | |
285 | | <p>References <a class="el" href="bdmbase_8h_source.html#l00376">bdm::mpdf::condition()</a>.</p> |
286 | | |
287 | | <p>Referenced by <a class="el" href="particles_8h_source.html#l00207">bdm::MPF< BM_T >::bayes()</a>, <a class="el" href="particles_8cpp_source.html#l00007">bdm::PF::bayes()</a>, and <a class="el" href="datasources_8cpp_source.html#l00043">bdm::ArxDS::step()</a>.</p> |
288 | | |
289 | | </div> |
290 | | </div><p> |
291 | | <a class="anchor" name="6e497d501331057309d2fddf63259d1a"></a><!-- doxytag: member="bdm::mlnorm::samplecond_m" ref="6e497d501331057309d2fddf63259d1a" args="(const vec &cond, int N)" --> |
292 | | <div class="memitem"> |
293 | | <div class="memproto"> |
294 | | <table class="memname"> |
295 | | <tr> |
296 | | <td class="memname">mat bdm::mpdf::samplecond_m </td> |
297 | | <td>(</td> |
298 | | <td class="paramtype">const vec & </td> |
299 | | <td class="paramname"> <em>cond</em>, </td> |
300 | | </tr> |
301 | | <tr> |
302 | | <td class="paramkey"></td> |
303 | | <td></td> |
304 | | <td class="paramtype">int </td> |
305 | | <td class="paramname"> <em>N</em></td><td> </td> |
306 | | </tr> |
307 | | <tr> |
308 | | <td></td> |
309 | | <td>)</td> |
310 | | <td></td><td></td><td><code> [virtual, inherited]</code></td> |
311 | | </tr> |
312 | | </table> |
313 | | </div> |
314 | | <div class="memdoc"> |
315 | | |
316 | | <p> |
317 | | Returns. |
318 | | <p> |
319 | | <dl compact><dt><b>Parameters:</b></dt><dd> |
320 | | <table border="0" cellspacing="2" cellpadding="0"> |
321 | | <tr><td valign="top"></td><td valign="top"><em>N</em> </td><td>samples from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_11.png">. </td></tr> |
322 | | <tr><td valign="top"></td><td valign="top"><em>cond</em> </td><td>is numeric value of <code>rv</code> </td></tr> |
323 | | </table> |
324 | | </dl> |
325 | | |
326 | | <p>References <a class="el" href="bdmbase_8h_source.html#l00376">bdm::mpdf::condition()</a>.</p> |
| 263 | <p>Referenced by <a class="el" href="exp__family_8h-source.html#l00563">bdm::mlnorm< ldmat, enorm >::from_setting()</a>.</p> |