| | 92 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b4d1cb8d7e230e313b4f0c905874d5a"></a><!-- doxytag: member="bdm::mlognorm::e" ref="6b4d1cb8d7e230e313b4f0c905874d5a" args="()" --> |
| | 93 | <a class="el" href="classbdm_1_1elognorm.html">elognorm</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#6b4d1cb8d7e230e313b4f0c905874d5a">e</a> ()</td></tr> |
| | 94 | |
| | 95 | <tr><td class="mdescLeft"> </td><td class="mdescRight">access function to iepdf <br></td></tr> |
| | 96 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8e547695d1cc19219b91164d825c930"></a><!-- doxytag: member="bdm::mlognorm::samplecond" ref="d8e547695d1cc19219b91164d825c930" args="(const vec &cond)" --> |
| | 97 | vec </td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1mpdf__internal.html#d8e547695d1cc19219b91164d825c930">samplecond</a> (const vec &cond)</td></tr> |
| | 98 | |
| | 99 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplements samplecond using <code>condition()</code>. <br></td></tr> |
| | 100 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89076e62b8d7df7616bad68c94591948"></a><!-- doxytag: member="bdm::mlognorm::evallogcond" ref="89076e62b8d7df7616bad68c94591948" args="(const vec &val, const vec &cond)" --> |
| | 101 | 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> |
| | 102 | |
| | 103 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Reimplements evallogcond using <code>condition()</code>. <br></td></tr> |
| | 104 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e28c214e3063733a6e4d17738941c61c"></a><!-- doxytag: member="bdm::mlognorm::evallogcond_m" ref="e28c214e3063733a6e4d17738941c61c" args="(const mat &Dt, const vec &cond)" --> |
| | 105 | 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> |
| | 106 | |
| | 107 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of evallogcond for matrices. <br></td></tr> |
| | 108 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e82db07ce8af02f29cfd81e014edb3db"></a><!-- doxytag: member="bdm::mlognorm::evallogcond_m" ref="e82db07ce8af02f29cfd81e014edb3db" args="(const Array< vec > &Dt, const vec &cond)" --> |
| | 109 | 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> |
| | 110 | |
| | 111 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of evallogcond for Array<vec>. <br></td></tr> |
| | 112 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9554c554054da2d22cb8e908ae9c8823"></a><!-- doxytag: member="bdm::mlognorm::samplecond_m" ref="9554c554054da2d22cb8e908ae9c8823" args="(const vec &cond, int N)" --> |
| | 113 | 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> |
| | 114 | |
| | 115 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Efficient version of samplecond. <br></td></tr> |
| 106 | | <tr><td colspan="2"><div class="groupHeader">Matematical operations</div></td></tr> |
| 107 | | <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> |
| 108 | | |
| 109 | | <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> |
| 110 | | <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> |
| 111 | | |
| 112 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns. <a href="#6e497d501331057309d2fddf63259d1a"></a><br></td></tr> |
| 113 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfcbb897bf42015a7979b17d891fd9b5"></a><!-- doxytag: member="bdm::mlognorm::evallogcond" ref="cfcbb897bf42015a7979b17d891fd9b5" args="(const vec &dt, const vec &cond)" --> |
| 114 | | 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> |
| 115 | | |
| 116 | | <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> |
| 117 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f97c61ecfb1f44ef6f08dee7bc15eab3"></a><!-- doxytag: member="bdm::mlognorm::evallogcond_m" ref="f97c61ecfb1f44ef6f08dee7bc15eab3" args="(const mat &Dt, const vec &cond)" --> |
| 118 | | 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> |
| 119 | | |
| 120 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Matrix version of evallogcond. <br></td></tr> |
| 121 | | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d7d3c23e3273e97c12c396dcc06b606"></a><!-- doxytag: member="bdm::mlognorm::evallogcond_m" ref="2d7d3c23e3273e97c12c396dcc06b606" args="(const Array< vec > &Dt, const vec &cond)" --> |
| 122 | | 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> |
| 123 | | |
| 124 | | <tr><td class="mdescLeft"> </td><td class="mdescRight">Array<vec> version of evallogcond. <br></td></tr> |
| | 151 | <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> |
| | 152 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="147afacb393324bb3f9a7a89e33f835e"></a><!-- doxytag: member="bdm::mlognorm::set_ep" ref="147afacb393324bb3f9a7a89e33f835e" args="(epdf &iepdf)" --> |
| | 153 | 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> |
| | 154 | |
| | 155 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set internal pointer <code>ep</code> to point to given <code>iepdf</code> <br></td></tr> |
| | 156 | <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7555b377f8b5895c9b759c9628ee3e20"></a><!-- doxytag: member="bdm::mlognorm::set_ep" ref="7555b377f8b5895c9b759c9628ee3e20" args="(epdf *iepdfp)" --> |
| | 157 | 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> |
| | 158 | |
| | 159 | <tr><td class="mdescLeft"> </td><td class="mdescRight">set internal pointer <code>ep</code> to point to given <code>iepdf</code> <br></td></tr> |
| | 188 | <a class="anchor" name="9106d8fd8bdf2b6be675ffd8f3ca584e"></a><!-- doxytag: member="bdm::mlognorm::condition" ref="9106d8fd8bdf2b6be675ffd8f3ca584e" args="(const vec &val)" --> |
| | 189 | <div class="memitem"> |
| | 190 | <div class="memproto"> |
| | 191 | <table class="memname"> |
| | 192 | <tr> |
| | 193 | <td class="memname">void bdm::mlognorm::condition </td> |
| | 194 | <td>(</td> |
| | 195 | <td class="paramtype">const vec & </td> |
| | 196 | <td class="paramname"> <em>cond</em> </td> |
| | 197 | <td> ) </td> |
| | 198 | <td><code> [inline, virtual]</code></td> |
| | 199 | </tr> |
| | 200 | </table> |
| | 201 | </div> |
| | 202 | <div class="memdoc"> |
| | 203 | |
| | 204 | <p> |
| | 205 | Update <code>iepdf</code> so that it represents this <a class="el" href="classbdm_1_1mpdf.html" title="Conditional probability density, e.g. modeling , where is random variable, rv, and...">mpdf</a> conditioned on <code>rvc</code> = cond This function provides convenient reimplementation in offsprings |
| | 206 | <p>Reimplemented from <a class="el" href="classbdm_1_1mpdf__internal.html#1ac61da081667fc54bcd050cc4f6a93e">bdm::mpdf_internal< elognorm ></a>.</p> |
| | 207 | |
| | 208 | <p>References <a class="el" href="exp__family_8h-source.html#l00914">mu</a>, and <a class="el" href="exp__family_8h-source.html#l00911">sig2</a>.</p> |
| | 209 | |
| | 210 | <p>Referenced by <a class="el" href="exp__family_8cpp-source.html#l00336">from_setting()</a>.</p> |
| | 211 | |
| | 212 | </div> |
| | 213 | </div><p> |
| 199 | | The <a class="el" href="classbdm_1_1mlognorm.html" title="Log-Normal random walk.">mlognorm</a> is constructed from a structure with fields: <div class="fragment"><pre class="fragment"> system = { |
| 200 | | type = <span class="stringliteral">"mlognorm"</span>; |
| 201 | | k = 0.1; <span class="comment">// constant k</span> |
| 202 | | mu0 = [1., 1.]; |
| 203 | | |
| 204 | | <span class="comment">// == OPTIONAL ==</span> |
| 205 | | <span class="comment">// description of y variables</span> |
| 206 | | y = {type=<span class="stringliteral">"rv"</span>; names=[<span class="stringliteral">"y"</span>, <span class="stringliteral">"u"</span>];}; |
| 207 | | <span class="comment">// description of u variable</span> |
| 208 | | u = {type=<span class="stringliteral">"rv"</span>; names=[];} |
| 209 | | }; |
| | 232 | The <a class="el" href="classbdm_1_1mlognorm.html" title="Log-Normal random walk.">mlognorm</a> is constructed from a structure with fields: <div class="fragment"><pre class="fragment"> system = { |
| | 233 | type = <span class="stringliteral">"mlognorm"</span>; |
| | 234 | k = 0.1; <span class="comment">// constant k</span> |
| | 235 | mu0 = [1., 1.]; |
| | 236 | |
| | 237 | <span class="comment">// == OPTIONAL ==</span> |
| | 238 | <span class="comment">// description of y variables</span> |
| | 239 | y = {type=<span class="stringliteral">"rv"</span>; names=[<span class="stringliteral">"y"</span>, <span class="stringliteral">"u"</span>];}; |
| | 240 | <span class="comment">// description of u variable</span> |
| | 241 | u = {type=<span class="stringliteral">"rv"</span>; names=[];} |
| | 242 | }; |
| 213 | | <p>References <a class="el" href="exp__family_8h_source.html#l00946">condition()</a>, <a class="el" href="user__info_8h_source.html#l00387">bdm::UI::get()</a>, and <a class="el" href="exp__family_8h_source.html#l00938">set_parameters()</a>.</p> |
| 214 | | |
| 215 | | </div> |
| 216 | | </div><p> |
| 217 | | <a class="anchor" name="b024f2e636e5507c755de4a6df1f1e99"></a><!-- doxytag: member="bdm::mlognorm::samplecond" ref="b024f2e636e5507c755de4a6df1f1e99" args="(const vec &cond)" --> |
| 218 | | <div class="memitem"> |
| 219 | | <div class="memproto"> |
| 220 | | <table class="memname"> |
| 221 | | <tr> |
| 222 | | <td class="memname">vec bdm::mpdf::samplecond </td> |
| 223 | | <td>(</td> |
| 224 | | <td class="paramtype">const vec & </td> |
| 225 | | <td class="paramname"> <em>cond</em> </td> |
| 226 | | <td> ) </td> |
| 227 | | <td><code> [virtual, inherited]</code></td> |
| 228 | | </tr> |
| 229 | | </table> |
| 230 | | </div> |
| 231 | | <div class="memdoc"> |
| 232 | | |
| 233 | | <p> |
| 234 | | Returns a sample from the density conditioned on <code>cond</code>, <img class="formulaInl" alt="$x \sim epdf(rv|cond)$" src="form_11.png">. |
| 235 | | <p> |
| 236 | | <dl compact><dt><b>Parameters:</b></dt><dd> |
| 237 | | <table border="0" cellspacing="2" cellpadding="0"> |
| 238 | | <tr><td valign="top"></td><td valign="top"><em>cond</em> </td><td>is numeric value of <code>rv</code> </td></tr> |
| 239 | | </table> |
| 240 | | </dl> |
| 241 | | |
| 242 | | <p>Reimplemented in <a class="el" href="classbdm_1_1mprod.html#ee715a8013acf9892f6cb489db595555">bdm::mprod</a>.</p> |
| 243 | | |
| 244 | | <p>References <a class="el" href="bdmbase_8h_source.html#l00376">bdm::mpdf::condition()</a>.</p> |
| 245 | | |
| 246 | | <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> |
| 247 | | |
| 248 | | </div> |
| 249 | | </div><p> |
| 250 | | <a class="anchor" name="6e497d501331057309d2fddf63259d1a"></a><!-- doxytag: member="bdm::mlognorm::samplecond_m" ref="6e497d501331057309d2fddf63259d1a" args="(const vec &cond, int N)" --> |
| 251 | | <div class="memitem"> |
| 252 | | <div class="memproto"> |
| 253 | | <table class="memname"> |
| 254 | | <tr> |
| 255 | | <td class="memname">mat bdm::mpdf::samplecond_m </td> |
| 256 | | <td>(</td> |
| 257 | | <td class="paramtype">const vec & </td> |
| 258 | | <td class="paramname"> <em>cond</em>, </td> |
| 259 | | </tr> |
| 260 | | <tr> |
| 261 | | <td class="paramkey"></td> |
| 262 | | <td></td> |
| 263 | | <td class="paramtype">int </td> |
| 264 | | <td class="paramname"> <em>N</em></td><td> </td> |
| 265 | | </tr> |
| 266 | | <tr> |
| 267 | | <td></td> |
| 268 | | <td>)</td> |
| 269 | | <td></td><td></td><td><code> [virtual, inherited]</code></td> |
| 270 | | </tr> |
| 271 | | </table> |
| 272 | | </div> |
| 273 | | <div class="memdoc"> |
| 274 | | |
| 275 | | <p> |
| 276 | | Returns. |
| 277 | | <p> |
| 278 | | <dl compact><dt><b>Parameters:</b></dt><dd> |
| 279 | | <table border="0" cellspacing="2" cellpadding="0"> |
| 280 | | <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> |
| 281 | | <tr><td valign="top"></td><td valign="top"><em>cond</em> </td><td>is numeric value of <code>rv</code> </td></tr> |
| 282 | | </table> |
| 283 | | </dl> |
| 284 | | |
| 285 | | <p>References <a class="el" href="bdmbase_8h_source.html#l00376">bdm::mpdf::condition()</a>.</p> |
| | 246 | <p>References <a class="el" href="exp__family_8h-source.html#l00930">condition()</a>, <a class="el" href="user__info_8h-source.html#l00410">bdm::UI::get()</a>, and <a class="el" href="exp__family_8h-source.html#l00923">set_parameters()</a>.</p> |