Changeset 22 for doc/html

Show
Ignore:
Timestamp:
02/18/08 17:50:37 (17 years ago)
Author:
smidl
Message:

upravy Kalmana

Location:
doc/html
Files:
45 modified

Legend:

Unmodified
Added
Removed
  • doc/html/annotated.html

    r19 r22  
    2121</div> 
    2222<h1>mixpp Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table> 
     23  <tr><td class="indexkey"><a class="el" href="classbilinfn.html">bilinfn</a></td><td class="indexvalue">Class representing function $f(x,u) = Ax+Bu$ </td></tr> 
    2324  <tr><td class="indexkey"><a class="el" href="classBM.html">BM</a></td><td class="indexvalue">Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities </td></tr> 
     25  <tr><td class="indexkey"><a class="el" href="classconstfn.html">constfn</a></td><td class="indexvalue">Class representing function $f(x) = a$, here rv is empty </td></tr> 
     26  <tr><td class="indexkey"><a class="el" href="classdiffbifn.html">diffbifn</a></td><td class="indexvalue">Class representing a differentiable function of two variables $f(x,u)$ </td></tr> 
    2427  <tr><td class="indexkey"><a class="el" href="classDS.html">DS</a></td><td class="indexvalue">Abstract class for discrete-time sources of data </td></tr> 
    2528  <tr><td class="indexkey"><a class="el" href="classeEF.html">eEF</a></td><td class="indexvalue">General conjugate exponential family posterior density </td></tr> 
    26   <tr><td class="indexkey"><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td class="indexvalue">General exponential family density </td></tr> 
     29  <tr><td class="indexkey"><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td class="indexvalue">Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter </td></tr> 
     30  <tr><td class="indexkey"><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td class="indexvalue">Gaussian density with positive definite (decomposed) covariance matrix </td></tr> 
    2731  <tr><td class="indexkey"><a class="el" href="classepdf.html">epdf</a></td><td class="indexvalue">Probability density function with numerical statistics, e.g. posterior density </td></tr> 
    28   <tr><td class="indexkey"><a class="el" href="classfnc.html">fnc</a></td><td class="indexvalue">Class representing function of variables </td></tr> 
     32  <tr><td class="indexkey"><a class="el" href="classfnc.html">fnc</a></td><td class="indexvalue">Class representing function $f(x)$ of variable $x$ represented by <code>rv</code> </td></tr> 
    2933  <tr><td class="indexkey"><a class="el" href="classfsqmat.html">fsqmat</a></td><td class="indexvalue">Fake <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a>. This class maps <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> operations to operations on full matrix </td></tr> 
    30   <tr><td class="indexkey"><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td class="indexvalue"><a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with covaraince matrices in square root form </td></tr> 
    31   <tr><td class="indexkey"><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td class="indexvalue">Basic <a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! </td></tr> 
     34  <tr><td class="indexkey"><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td class="indexvalue"><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form </td></tr> 
     35  <tr><td class="indexkey"><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td class="indexvalue">Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! </td></tr> 
     36  <tr><td class="indexkey"><a class="el" href="classlinfn.html">linfn</a></td><td class="indexvalue">Class representing function $f(x) = Ax+B$ </td></tr> 
    3237  <tr><td class="indexkey"><a class="el" href="classMemDS.html">MemDS</a></td><td class="indexvalue">Class representing off-line data stored in memory </td></tr> 
    3338  <tr><td class="indexkey"><a class="el" href="classmpdf.html">mpdf</a></td><td class="indexvalue">Conditional probability density, e.g. modeling some dependencies </td></tr> 
     
    3742  <tr><td class="indexkey"><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td class="indexvalue">Trivial particle filter with proposal density that is not conditioned on the data </td></tr> 
    3843</table> 
    39 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     44<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    4045<a href="http://www.doxygen.org/index.html"> 
    4146<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classBM-members.html

    r19 r22  
    2323  <tr class="memlist"><td><a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">bayes</a>(const vec &amp;dt, bool evall=true)=0</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [pure virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     25  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr> 
    2526  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
    26 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:41 2008 for mixpp by&nbsp; 
     27</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp; 
    2728<a href="http://www.doxygen.org/index.html"> 
    2829<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classBM.html

    r19 r22  
    3030<p><center><img src="classBM__inherit__graph.png" border="0" usemap="#BM__inherit__map" alt="Inheritance graph"></center> 
    3131<map name="BM__inherit__map"> 
    32 <area shape="rect" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form." alt="" coords="5,84,133,111"><area shape="rect" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="157,84,248,111"><area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="272,84,309,111"><area shape="rect" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="255,161,327,188"></map> 
     32<area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="5,87,133,113"><area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="47,183,193,209"><area shape="rect" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="208,87,299,113"><area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="323,87,360,113"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="64,111,72,119"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="95,179,103,187"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="68,263,172,289"><area shape="rect" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="305,183,377,209"></map> 
    3333<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    3434 
     
    3737<tr><td></td></tr> 
    3838<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 
     39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef32a12f4f89e4000bf5390ceda762ae"></a><!-- doxytag: member="BM::BM" ref="ef32a12f4f89e4000bf5390ceda762ae" args="()" --> 
     40&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a> ()</td></tr> 
     41 
     42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr> 
    3943<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">bayes</a> (const vec &amp;dt, bool evall=true)=0</td></tr> 
    4044 
     
    8791</dl> 
    8892 
    89 <p>Implemented in <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>, and <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>.</p> 
     93<p>Implemented in <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>, and <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; fsqmat &gt;</a>.</p> 
    9094 
    9195</div> 
     
    9397<hr>The documentation for this class was generated from the following file:<ul> 
    9498<li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul> 
    95 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:41 2008 for mixpp by&nbsp; 
     99<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp; 
    96100<a href="http://www.doxygen.org/index.html"> 
    97101<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classKalman-members.html

    r19 r22  
    2121</div> 
    2222<h1>Kalman&lt; sq_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>, including all inherited members.<p><table> 
     23  <tr bgcolor="#f0f0f0"><td><b>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     24  <tr bgcolor="#f0f0f0"><td><b>_K</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     25  <tr bgcolor="#f0f0f0"><td><b>_Ry</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     26  <tr bgcolor="#f0f0f0"><td><b>_yp</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     27  <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     28  <tr bgcolor="#f0f0f0"><td><b>B</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
    2329  <tr class="memlist"><td><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
    2430  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     31  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr> 
     32  <tr bgcolor="#f0f0f0"><td><b>C</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     33  <tr bgcolor="#f0f0f0"><td><b>D</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     34  <tr bgcolor="#f0f0f0"><td><b>dimu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     35  <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     36  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     37  <tr class="memlist"><td><a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman</a>(int dimx, int dimu, int dimy)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr> 
    2538  <tr class="memlist"><td><a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman</a>(mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr> 
    2639  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     
    2841  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [friend]</code></td></tr> 
    2942  <tr class="memlist"><td><a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">P</a></td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td></td></tr> 
    30 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp; 
     43  <tr bgcolor="#f0f0f0"><td><b>Q</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     44  <tr bgcolor="#f0f0f0"><td><b>R</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr> 
     45</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp; 
    3146<a href="http://www.doxygen.org/index.html"> 
    3247<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classKalman.html

    r19 r22  
    2020  </ul> 
    2121</div> 
    22 <h1>Kalman&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="Kalman" --><!-- doxytag: inherits="BM" --><a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with covaraince matrices in square root form.   
     22<h1>Kalman&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="Kalman" --><!-- doxytag: inherits="BM" --><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form.   
    2323<a href="#_details">More...</a> 
    2424<p> 
     
    3030<p><center><img src="classKalman__inherit__graph.png" border="0" usemap="#Kalman_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center> 
    3131<map name="Kalman_3_01sq__T_01_4__inherit__map"> 
    32 <area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="48,7,91,33"></map> 
     32<area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="5,183,152,209"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,111,83,119"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,179,83,187"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="57,7,100,33"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="27,263,131,289"></map> 
    3333<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    3434<div class="dynheader"> 
     
    4444<tr><td></td></tr> 
    4545<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 
     46<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96958a5ebfa966d892137987f265083a"></a><!-- doxytag: member="Kalman::Kalman" ref="96958a5ebfa966d892137987f265083a" args="(int dimx, int dimu, int dimy)" --> 
     47&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman</a> (int dimx, int dimu, int dimy)</td></tr> 
     48 
     49<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr> 
    4650<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83118f4bd2ecbc70b03cfd573088ed6f"></a><!-- doxytag: member="Kalman::Kalman" ref="83118f4bd2ecbc70b03cfd573088ed6f" args="(mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)" --> 
    4751&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman</a> (mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)</td></tr> 
     
    6165 
    6266<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr> 
     67<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> 
     68<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="Kalman::dimx" ref="39c8c403b46fa3b8c7da77cb2e3729eb" args="" --> 
     69int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr> 
     70 
     71<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba17b956df1e38b31fbbc299c8213b6a"></a><!-- doxytag: member="Kalman::dimy" ref="ba17b956df1e38b31fbbc299c8213b6a" args="" --> 
     72int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr> 
     73 
     74<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0153795a1444b6968a86409c778d9ce"></a><!-- doxytag: member="Kalman::dimu" ref="b0153795a1444b6968a86409c778d9ce" args="" --> 
     75int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr> 
     76 
     77<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e02efe86ee91e9c74b93b425fe060b9"></a><!-- doxytag: member="Kalman::A" ref="5e02efe86ee91e9c74b93b425fe060b9" args="" --> 
     78mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>A</b></td></tr> 
     79 
     80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc87704284a6c0bca13bf51f4345a50a"></a><!-- doxytag: member="Kalman::B" ref="dc87704284a6c0bca13bf51f4345a50a" args="" --> 
     81mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr> 
     82 
     83<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86a805cd6515872d1132ad0d6eb5dc13"></a><!-- doxytag: member="Kalman::C" ref="86a805cd6515872d1132ad0d6eb5dc13" args="" --> 
     84mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>C</b></td></tr> 
     85 
     86<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d69f774ba3335c970c1c5b1d182f4dd1"></a><!-- doxytag: member="Kalman::D" ref="d69f774ba3335c970c1c5b1d182f4dd1" args="" --> 
     87mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>D</b></td></tr> 
     88 
     89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d171dc0e0ab111c56a70f98b97b3ec"></a><!-- doxytag: member="Kalman::R" ref="11d171dc0e0ab111c56a70f98b97b3ec" args="" --> 
     90sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>R</b></td></tr> 
     91 
     92<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b69015c800eb93f3ee49da23a6f55d9"></a><!-- doxytag: member="Kalman::Q" ref="9b69015c800eb93f3ee49da23a6f55d9" args="" --> 
     93sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>Q</b></td></tr> 
     94 
     95<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="Kalman::_K" ref="d422f51467c7a06174af2476d2826132" args="" --> 
     96mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>_K</b></td></tr> 
     97 
     98<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30b7461989185d3d02cf42b8e2a37649"></a><!-- doxytag: member="Kalman::_yp" ref="30b7461989185d3d02cf42b8e2a37649" args="" --> 
     99vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr> 
     100 
     101<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="477dca07d91ea1a1f41d51bb0229934f"></a><!-- doxytag: member="Kalman::_Ry" ref="477dca07d91ea1a1f41d51bb0229934f" args="" --> 
     102sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr> 
     103 
     104<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15f1a793210750a7e4642fcd948b24c5"></a><!-- doxytag: member="Kalman::_iRy" ref="15f1a793210750a7e4642fcd948b24c5" args="" --> 
     105sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr> 
     106 
    63107<tr><td colspan="2"><br><h2>Friends</h2></td></tr> 
    64108<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86ba216243ed95bb46d80d88775d16af"></a><!-- doxytag: member="Kalman::operator&lt;&lt;" ref="86ba216243ed95bb46d80d88775d16af" args="(std::ostream &amp;os, const KalmanFull &amp;kf)" --> 
     
    70114 class Kalman&lt; sq_T &gt;</h3> 
    71115 
    72 <a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with covaraince matrices in square root form. <hr>The documentation for this class was generated from the following file:<ul> 
     116<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form. <hr>The documentation for this class was generated from the following file:<ul> 
    73117<li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul> 
    74 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp; 
     118<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp; 
    75119<a href="http://www.doxygen.org/index.html"> 
    76120<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classKalmanFull-members.html

    r19 r22  
    2323  <tr class="memlist"><td><a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td><code> [virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     25  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr> 
    2526  <tr class="memlist"><td><a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>(mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr> 
    2627  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     
    2829  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalmanFull.html">KalmanFull</a>)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td><code> [friend]</code></td></tr> 
    2930  <tr class="memlist"><td><a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">P</a></td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr> 
    30 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:46 2008 for mixpp by&nbsp; 
     31</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    3132<a href="http://www.doxygen.org/index.html"> 
    3233<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classKalmanFull.html

    r19 r22  
    2020  </ul> 
    2121</div> 
    22 <h1>KalmanFull Class Reference</h1><!-- doxytag: class="KalmanFull" --><!-- doxytag: inherits="BM" -->Basic <a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!   
     22<h1>KalmanFull Class Reference</h1><!-- doxytag: class="KalmanFull" --><!-- doxytag: inherits="BM" -->Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!   
    2323<a href="#_details">More...</a> 
    2424<p> 
     
    6767</table> 
    6868<hr><a name="_details"></a><h2>Detailed Description</h2> 
    69 Basic <a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! <hr>The documentation for this class was generated from the following files:<ul> 
     69Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! <hr>The documentation for this class was generated from the following files:<ul> 
    7070<li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a><li>work/mixpp/bdm/estim/libKF.cpp</ul> 
    71 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:46 2008 for mixpp by&nbsp; 
     71<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    7272<a href="http://www.doxygen.org/index.html"> 
    7373<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classPF-members.html

    r19 r22  
    2323  <tr class="memlist"><td><a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">bayes</a>(const vec &amp;dt, bool evell)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [inline, virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     25  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr> 
    2526  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
    2627  <tr bgcolor="#f0f0f0"><td><b>n</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
     
    2930  <tr bgcolor="#f0f0f0"><td><b>URNG</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
    3031  <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
    31 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     32</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    3233<a href="http://www.doxygen.org/index.html"> 
    3334<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classPF.html

    r19 r22  
    112112<hr>The documentation for this class was generated from the following files:<ul> 
    113113<li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul> 
    114 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     114<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    115115<a href="http://www.doxygen.org/index.html"> 
    116116<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classRV-members.html

    r19 r22  
    2222<h1>RV Member List</h1>This is the complete list of members for <a class="el" href="classRV.html">RV</a>, including all inherited members.<p><table> 
    2323  <tr class="memlist"><td><a class="el" href="classRV.html#f068a86abb5a6e46fcf76c939d2ed2ec">add</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
    24   <tr class="memlist"><td><a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">count</a>()</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [inline]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">count</a>() const </td><td><a class="el" href="classRV.html">RV</a></td><td><code> [inline]</code></td></tr> 
    2525  <tr class="memlist"><td><a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">find</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
     26  <tr class="memlist"><td><a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">indexlist</a>()</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
    2627  <tr class="memlist"><td><a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">operator()</a>(ivec ind)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
    2728  <tr class="memlist"><td><a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">operator&lt;&lt;</a>(std::ostream &amp;os, const RV &amp;rv)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [friend]</code></td></tr> 
     
    3233  <tr class="memlist"><td><a class="el" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a">subt</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
    3334  <tr class="memlist"><td><a class="el" href="classRV.html#e0a158d53ab9430627241f844f4c9a60">t</a>(int delta)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr> 
    34 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     35</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    3536<a href="http://www.doxygen.org/index.html"> 
    3637<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classRV.html

    r19 r22  
    4242 
    4343<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Empty constructor will be set later. <br></td></tr> 
    44 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9dcaca7b87cfb0e24a19260067d62f04"></a><!-- doxytag: member="RV::count" ref="9dcaca7b87cfb0e24a19260067d62f04" args="()" --> 
    45 int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">count</a> ()</td></tr> 
     44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5c7b8bd589eef09ccdf3329a0addea0"></a><!-- doxytag: member="RV::count" ref="f5c7b8bd589eef09ccdf3329a0addea0" args="() const " --> 
     45int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">count</a> () const </td></tr> 
    4646 
    4747<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return length (number of scalars) of the <a class="el" href="classRV.html" title="Class representing variables, most often random variables.">RV</a>. <br></td></tr> 
     
    7070 
    7171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate new <code><a class="el" href="classRV.html" title="Class representing variables, most often random variables.">RV</a></code> with <code>time</code> shifted by delta. <br></td></tr> 
     72<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8470cf53be6e7bdba78ad0efbd203ee7"></a><!-- doxytag: member="RV::indexlist" ref="8470cf53be6e7bdba78ad0efbd203ee7" args="()" --> 
     73ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">indexlist</a> ()</td></tr> 
     74 
     75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generate a list of indeces, i.e. which <br></td></tr> 
    7276<tr><td colspan="2"><br><h2>Friends</h2></td></tr> 
    7377<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cad6f15535d10437f6690cb4492176a8"></a><!-- doxytag: member="RV::operator&lt;&lt;" ref="cad6f15535d10437f6690cb4492176a8" args="(std::ostream &amp;os, const RV &amp;rv)" --> 
     
    8185More?... <hr>The documentation for this class was generated from the following files:<ul> 
    8286<li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a><li>work/mixpp/bdm/stat/libBM.cpp</ul> 
    83 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     87<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    8488<a href="http://www.doxygen.org/index.html"> 
    8589<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classTrivialPF-members.html

    r19 r22  
    2323  <tr class="memlist"><td><a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">bayes</a>(const vec &amp;dt, bool evalll)</td><td><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td><code> [virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
     25  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr> 
    2526  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr> 
    2627  <tr bgcolor="#f0f0f0"><td><b>n</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
     
    3132  <tr bgcolor="#f0f0f0"><td><b>URNG</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
    3233  <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr> 
    33 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:49 2008 for mixpp by&nbsp; 
     34</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp; 
    3435<a href="http://www.doxygen.org/index.html"> 
    3536<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classTrivialPF.html

    r19 r22  
    9797<hr>The documentation for this class was generated from the following files:<ul> 
    9898<li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul> 
    99 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:49 2008 for mixpp by&nbsp; 
     99<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp; 
    100100<a href="http://www.doxygen.org/index.html"> 
    101101<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classeEF-members.html

    r19 r22  
    2222<h1>eEF Member List</h1>This is the complete list of members for <a class="el" href="classeEF.html">eEF</a>, including all inherited members.<p><table> 
    2323  <tr bgcolor="#f0f0f0"><td><b>dupdate</b>(mat &amp;v, double nu=1.0) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr> 
    24   <tr bgcolor="#f0f0f0"><td><b>eval</b>(const vec &amp;val) (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr> 
    2525  <tr class="memlist"><td><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a>()=0</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [pure virtual]</code></td></tr> 
    2626  <tr bgcolor="#f0f0f0"><td><b>tupdate</b>(double phi, mat &amp;vbar, double nubar) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr> 
    27 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:42 2008 for mixpp by&nbsp; 
     27</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp; 
    2828<a href="http://www.doxygen.org/index.html"> 
    2929<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classeEF.html

    r19 r22  
    3030<p><center><img src="classeEF__inherit__graph.png" border="0" usemap="#eEF__inherit__map" alt="Inheritance graph"></center> 
    3131<map name="eEF__inherit__map"> 
    32 <area shape="rect" href="classenorm.html" title="General exponential family density." alt="" coords="5,161,125,188"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33"></map> 
     32<area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33"></map> 
    3333<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    3434<div class="dynheader"> 
     
    5656More?... <hr>The documentation for this class was generated from the following file:<ul> 
    5757<li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul> 
    58 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:42 2008 for mixpp by&nbsp; 
     58<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp; 
    5959<a href="http://www.doxygen.org/index.html"> 
    6060<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classenorm-members.html

    r19 r22  
    2222<h1>enorm&lt; sq_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>, including all inherited members.<p><table> 
    2323  <tr bgcolor="#f0f0f0"><td><b>dupdate</b>(mat &amp;v, double nu=1.0) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">dupdate</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr> 
    2425  <tr bgcolor="#f0f0f0"><td><b>enorm</b>(RV &amp;rv, vec &amp;mu, sq_T &amp;R) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr> 
    2526  <tr bgcolor="#f0f0f0"><td><b>enorm</b>() (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr> 
    26   <tr bgcolor="#f0f0f0"><td><b>eval</b>(const vec &amp;val) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
     27  <tr class="memlist"><td><a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">eval</a>(const vec &amp;val)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
    2728  <tr bgcolor="#f0f0f0"><td><b>RNG</b> (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr> 
    2829  <tr class="memlist"><td><a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">sample</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
    2930  <tr bgcolor="#f0f0f0"><td><b>sample</b>(int N) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr> 
    30   <tr bgcolor="#f0f0f0"><td><b>tupdate</b>(double phi, mat &amp;vbar, double nubar) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
    31 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:43 2008 for mixpp by&nbsp; 
     31  <tr class="memlist"><td><a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">tupdate</a>(double phi, mat &amp;vbar, double nubar)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr> 
     32  <tr class="memlist"><td><a class="el" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e">tupdate</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr> 
     33</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    3234<a href="http://www.doxygen.org/index.html"> 
    3335<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classenorm.html

    r19 r22  
    2020  </ul> 
    2121</div> 
    22 <h1>enorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="enorm" --><!-- doxytag: inherits="eEF" -->General exponential family density 
     22<h1>enorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="enorm" --><!-- doxytag: inherits="eEF" -->Gaussian density with positive definite (decomposed) covariance matrix 
    2323<a href="#_details">More...</a> 
    2424<p> 
     
    4848 
    4949<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b5fd142b6b17ea334597960e3fe126a"></a><!-- doxytag: member="enorm::tupdate" ref="5b5fd142b6b17ea334597960e3fe126a" args="(double phi, mat &amp;vbar, double nubar)" --> 
    50 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tupdate</b> (double phi, mat &amp;vbar, double nubar)</td></tr> 
     50void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">tupdate</a> (double phi, mat &amp;vbar, double nubar)</td></tr> 
    5151 
     52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tupdate in exponential form (not really handy) <br></td></tr> 
    5253<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5bf185e31e5954fceb90ada3debd2ff2"></a><!-- doxytag: member="enorm::dupdate" ref="5bf185e31e5954fceb90ada3debd2ff2" args="(mat &amp;v, double nu=1.0)" --> 
    5354void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dupdate</b> (mat &amp;v, double nu=1.0)</td></tr> 
    5455 
     56<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a1a522504c7788dfd7fb733157ee39e"></a><!-- doxytag: member="enorm::tupdate" ref="2a1a522504c7788dfd7fb733157ee39e" args="()" --> 
     57void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e">tupdate</a> ()</td></tr> 
     58 
     59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tupdate used in KF <br></td></tr> 
     60<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1b0faf61260de09cf63bf823add5b32"></a><!-- doxytag: member="enorm::dupdate" ref="d1b0faf61260de09cf63bf823add5b32" args="()" --> 
     61double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">dupdate</a> ()</td></tr> 
     62 
     63<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dupdate used in KF <br></td></tr> 
    5564<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">sample</a> ()</td></tr> 
    5665 
     
    6069 
    6170<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93107f05a8e9b34b64853767200121a4"></a><!-- doxytag: member="enorm::eval" ref="93107f05a8e9b34b64853767200121a4" args="(const vec &amp;val)" --> 
    62 double&nbsp;</td><td class="memItemRight" valign="bottom"><b>eval</b> (const vec &amp;val)</td></tr> 
     71double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">eval</a> (const vec &amp;val)</td></tr> 
    6372 
     73<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr> 
    6474<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> 
    6575<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4de82a0d7ba9eaf31206318ae35d0d5"></a><!-- doxytag: member="enorm::RNG" ref="a4de82a0d7ba9eaf31206318ae35d0d5" args="" --> 
     
    7181 class enorm&lt; sq_T &gt;</h3> 
    7282 
    73 General exponential family density.  
     83Gaussian density with positive definite (decomposed) covariance matrix.  
    7484<p> 
    7585More?... <hr><h2>Member Function Documentation</h2> 
     
    94104Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  
    95105<p> 
    96 Returns a sample from the density, $x  epdf(rv)$  
     106Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png">  
    97107<p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>.</p> 
    98108 
     
    101111<hr>The documentation for this class was generated from the following file:<ul> 
    102112<li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul> 
    103 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:43 2008 for mixpp by&nbsp; 
     113<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    104114<a href="http://www.doxygen.org/index.html"> 
    105115<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classepdf-members.html

    r19 r22  
    2121</div> 
    2222<h1>epdf Member List</h1>This is the complete list of members for <a class="el" href="classepdf.html">epdf</a>, including all inherited members.<p><table> 
    23   <tr bgcolor="#f0f0f0"><td><b>eval</b>(const vec &amp;val) (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr> 
     23  <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a>()=0</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [pure virtual]</code></td></tr> 
    25 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp; 
     25</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    2626<a href="http://www.doxygen.org/index.html"> 
    2727<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classepdf.html

    r19 r22  
    3030<p><center><img src="classepdf__inherit__graph.png" border="0" usemap="#epdf__inherit__map" alt="Inheritance graph"></center> 
    3131<map name="epdf__inherit__map"> 
    32 <area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111"><area shape="rect" href="classenorm.html" title="General exponential family density." alt="" coords="5,161,125,188"></map> 
     32<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188"></map> 
    3333<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    3434<div class="dynheader"> 
     
    4848<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#7f74d871d50b9ff360f1b3879092a9fa"></a><br></td></tr> 
    4949<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f333ceeb88ebc37d81fcd4cea4526bfc"></a><!-- doxytag: member="epdf::eval" ref="f333ceeb88ebc37d81fcd4cea4526bfc" args="(const vec &amp;val)" --> 
    50 virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><b>eval</b> (const vec &amp;val)</td></tr> 
     50virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a> (const vec &amp;val)</td></tr> 
    5151 
     52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr> 
    5253</table> 
    5354<hr><a name="_details"></a><h2>Detailed Description</h2> 
     
    7172Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  
    7273<p> 
    73 Returns a sample from the density, $x  epdf(rv)$  
     74Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png">  
    7475<p>Implemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>.</p> 
    7576 
     
    7879<hr>The documentation for this class was generated from the following file:<ul> 
    7980<li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul> 
    80 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp; 
     81<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    8182<a href="http://www.doxygen.org/index.html"> 
    8283<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classfnc-members.html

    r19 r22  
    2121</div> 
    2222<h1>fnc Member List</h1>This is the complete list of members for <a class="el" href="classfnc.html">fnc</a>, including all inherited members.<p><table> 
    23 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp; 
     23  <tr class="memlist"><td><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a>() const </td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a>(const vec &amp;cond)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline, virtual]</code></td></tr> 
     25</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    2426<a href="http://www.doxygen.org/index.html"> 
    2527<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classfnc.html

    r19 r22  
    2020  </ul> 
    2121</div> 
    22 <h1>fnc Class Reference</h1><!-- doxytag: class="fnc" -->Class representing function of variables 
     22<h1>fnc Class Reference</h1><!-- doxytag: class="fnc" -->Class representing function $f(x)$ of variable $x$ represented by <code>rv</code> 
    2323<a href="#_details">More...</a> 
    2424<p> 
     
    2929<div class="dynsection"> 
    3030<p><center><img src="classfnc__inherit__graph.png" border="0" usemap="#fnc__inherit__map" alt="Inheritance graph"></center> 
    31 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    32 <div class="dynheader"> 
    33 Collaboration diagram for fnc:</div> 
    34 <div class="dynsection"> 
    35 <p><center><img src="classfnc__coll__graph.png" border="0" usemap="#fnc__coll__map" alt="Collaboration graph"></center> 
    36 <map name="fnc__coll__map"> 
    37 <area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="7,7,44,33"><area shape="rect" title="rv" alt="" coords="21,31,29,39"><area shape="rect" title="rv" alt="" coords="21,99,29,107"></map> 
     31<map name="fnc__inherit__map"> 
     32<area shape="rect" href="classconstfn.html" title="class representing function $f(x) = a$, here rv is empty" alt="" coords="5,84,75,111"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="99,84,165,111"><area shape="rect" href="classlinfn.html" title="Class representing function $f(x) = Ax+B$." alt="" coords="189,84,237,111"><area shape="rect" href="classbilinfn.html" title="Class representing function $f(x,u) = Ax+Bu$." alt="" coords="103,161,161,188"></map> 
    3833<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> 
    3934 
     
    4136<a href="classfnc-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> 
    4237<tr><td></td></tr> 
     38<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 
     39<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fad2e6cb35909a165ec5a53def4a18c"></a><!-- doxytag: member="fnc::eval" ref="7fad2e6cb35909a165ec5a53def4a18c" args="(const vec &amp;cond)" --> 
     40virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a> (const vec &amp;cond)</td></tr> 
     41 
     42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function evaluates numerical value of $f(x)$ at $x=cond$ <br></td></tr> 
     43<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="fnc::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " --> 
     44int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr> 
     45 
     46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr> 
    4347</table> 
    4448<hr><a name="_details"></a><h2>Detailed Description</h2> 
    45 Class representing function of variables. <hr>The documentation for this class was generated from the following file:<ul> 
     49Class representing function $f(x)$ of variable $x$ represented by <code>rv</code>. <hr>The documentation for this class was generated from the following file:<ul> 
    4650<li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul> 
    47 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp; 
     51<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp; 
    4852<a href="http://www.doxygen.org/index.html"> 
    4953<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classfsqmat-members.html

    r19 r22  
    2121</div> 
    2222<h1>fsqmat Member List</h1>This is the complete list of members for <a class="el" href="classfsqmat.html">fsqmat</a>, including all inherited members.<p><table> 
    23   <tr class="memlist"><td><a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">cols</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private, pure virtual]</code></td></tr> 
    24   <tr bgcolor="#f0f0f0"><td><b>dim</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private]</code></td></tr> 
    25   <tr class="memlist"><td><a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">logdet</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private, pure virtual]</code></td></tr> 
    26   <tr class="memlist"><td><a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">qform</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private, pure virtual]</code></td></tr> 
    27   <tr class="memlist"><td><a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">rows</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private, pure virtual]</code></td></tr> 
    28   <tr class="memlist"><td><a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqrt_mult</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [private, pure virtual]</code></td></tr> 
    29 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp; 
     23  <tr class="memlist"><td><a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">clear</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr> 
     25  <tr bgcolor="#f0f0f0"><td><b>dim</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [protected]</code></td></tr> 
     26  <tr bgcolor="#f0f0f0"><td><b>fsqmat</b>() (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr> 
     27  <tr class="memlist"><td><a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a>(const mat &amp;M)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr> 
     28  <tr bgcolor="#f0f0f0"><td><b>inv</b>(fsqmat &amp;Inv) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr> 
     29  <tr class="memlist"><td><a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">inv</a>(fsqmat *Inv)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr> 
     30  <tr class="memlist"><td><a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">logdet</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr> 
     31  <tr bgcolor="#f0f0f0"><td><b>M</b> (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [protected]</code></td></tr> 
     32  <tr class="memlist"><td><a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">mult_sym</a>(const mat &amp;C, bool trans=false)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr> 
     33  <tr bgcolor="#f0f0f0"><td><b>mult_sym</b>(const mat &amp;C, fsqmat &amp;U, bool trans=false) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr> 
     34  <tr bgcolor="#f0f0f0"><td><b>operator *=</b>(double x) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr> 
     35  <tr bgcolor="#f0f0f0"><td><b>operator+=</b>(const fsqmat &amp;A) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr> 
     36  <tr bgcolor="#f0f0f0"><td><b>operator-=</b>(const fsqmat &amp;A) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr> 
     37  <tr class="memlist"><td><a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a>(const vec &amp;v, double w)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr> 
     38  <tr class="memlist"><td><a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">qform</a>(vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr> 
     39  <tr class="memlist"><td><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr> 
     40  <tr class="memlist"><td><a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">sqrt_mult</a>(vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr> 
     41  <tr class="memlist"><td><a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">to_mat</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr> 
     42</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp; 
    3043<a href="http://www.doxygen.org/index.html"> 
    3144<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classfsqmat.html

    r19 r22  
    4343<a href="classfsqmat-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> 
    4444<tr><td></td></tr> 
     45<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 
     46<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a> (const vec &amp;v, double w)</td></tr> 
     47 
     48<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cedf4f048309056f4262c930914dfda8"></a><!-- doxytag: member="fsqmat::to_mat" ref="cedf4f048309056f4262c930914dfda8" args="()" --> 
     49mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">to_mat</a> ()</td></tr> 
     50 
     51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion to full matrix. <br></td></tr> 
     52<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">mult_sym</a> (const mat &amp;C, bool trans=false)</td></tr> 
     53 
     54<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  <a href="#acc5d2d0a243f1de6d0106065f01f518"></a><br></td></tr> 
     55<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccf5ad8fb038f82e9d2201c0606b65fa"></a><!-- doxytag: member="fsqmat::mult_sym" ref="ccf5ad8fb038f82e9d2201c0606b65fa" args="(const mat &amp;C, fsqmat &amp;U, bool trans=false)" --> 
     56void&nbsp;</td><td class="memItemRight" valign="bottom"><b>mult_sym</b> (const mat &amp;C, <a class="el" href="classfsqmat.html">fsqmat</a> &amp;U, bool trans=false)</td></tr> 
     57 
     58<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9fa853e1ca28f2a1a1c43377e798ecb1"></a><!-- doxytag: member="fsqmat::inv" ref="9fa853e1ca28f2a1a1c43377e798ecb1" args="(fsqmat &amp;Inv)" --> 
     59void&nbsp;</td><td class="memItemRight" valign="bottom"><b>inv</b> (<a class="el" href="classfsqmat.html">fsqmat</a> &amp;Inv)</td></tr> 
     60 
     61<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfa4c359483d2322f32d1d50050f8ac4"></a><!-- doxytag: member="fsqmat::clear" ref="cfa4c359483d2322f32d1d50050f8ac4" args="()" --> 
     62void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">clear</a> ()</td></tr> 
     63 
     64<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr> 
     65<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1929fbc9fe375f1d67f979d0d302336f"></a><!-- doxytag: member="fsqmat::fsqmat" ref="1929fbc9fe375f1d67f979d0d302336f" args="(const mat &amp;M)" --> 
     66&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a> (const mat &amp;M)</td></tr> 
     67 
     68<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr> 
     69<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">inv</a> (<a class="el" href="classfsqmat.html">fsqmat</a> *Inv)</td></tr> 
     70 
     71<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix inversion preserving the chosen form.  <a href="#788423cc2679620dd6da8d2fca2e3e4d"></a><br></td></tr> 
     72<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf212272ec195ad2706e2bf4d8e7c9b3"></a><!-- doxytag: member="fsqmat::logdet" ref="bf212272ec195ad2706e2bf4d8e7c9b3" args="()" --> 
     73double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">logdet</a> ()</td></tr> 
     74 
     75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of a determinant. <br></td></tr> 
     76<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d047b9f7a27dfc093303a13cc9b1fba"></a><!-- doxytag: member="fsqmat::qform" ref="6d047b9f7a27dfc093303a13cc9b1fba" args="(vec &amp;v)" --> 
     77double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">qform</a> (vec &amp;v)</td></tr> 
     78 
     79<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form $x= v'*V*v$;. <br></td></tr> 
     80<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">sqrt_mult</a> (vec &amp;v)</td></tr> 
     81 
     82<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#6648dd4291b809cce14e8497d0433ad3"></a><br></td></tr> 
     83<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="514d1fdd8a382dbd6a774f2cf1ebd3de"></a><!-- doxytag: member="fsqmat::operator+=" ref="514d1fdd8a382dbd6a774f2cf1ebd3de" args="(const fsqmat &amp;A)" --> 
     84<a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="classfsqmat.html">fsqmat</a> &amp;A)</td></tr> 
     85 
     86<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e976bc9d899961e1d2087b0630ed33b7"></a><!-- doxytag: member="fsqmat::operator-=" ref="e976bc9d899961e1d2087b0630ed33b7" args="(const fsqmat &amp;A)" --> 
     87<a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator-=</b> (const <a class="el" href="classfsqmat.html">fsqmat</a> &amp;A)</td></tr> 
     88 
     89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f7ce97628a50e06641281096b2af9b7"></a><!-- doxytag: member="fsqmat::operator *=" ref="8f7ce97628a50e06641281096b2af9b7" args="(double x)" --> 
     90<a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator *=</b> (double x)</td></tr> 
     91 
     92<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> 
     93<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7a1fcb9aae19d1e4daddfc9c22ce453"></a><!-- doxytag: member="fsqmat::M" ref="a7a1fcb9aae19d1e4daddfc9c22ce453" args="" --> 
     94mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>M</b></td></tr> 
     95 
    4596</table> 
    4697<hr><a name="_details"></a><h2>Detailed Description</h2> 
    4798Fake <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a>. This class maps <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> operations to operations on full matrix.  
    4899<p> 
    49 This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; <hr>The documentation for this class was generated from the following file:<ul> 
     100This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; <hr><h2>Member Function Documentation</h2> 
     101<a class="anchor" name="b36530e155667fe9f1bd58394e50c65a"></a><!-- doxytag: member="fsqmat::opupdt" ref="b36530e155667fe9f1bd58394e50c65a" args="(const vec &amp;v, double w)" --> 
     102<div class="memitem"> 
     103<div class="memproto"> 
     104      <table class="memname"> 
     105        <tr> 
     106          <td class="memname">void fsqmat::opupdt           </td> 
     107          <td>(</td> 
     108          <td class="paramtype">const vec &amp;&nbsp;</td> 
     109          <td class="paramname"> <em>v</em>, </td> 
     110        </tr> 
     111        <tr> 
     112          <td class="paramkey"></td> 
     113          <td></td> 
     114          <td class="paramtype">double&nbsp;</td> 
     115          <td class="paramname"> <em>w</em></td><td>&nbsp;</td> 
     116        </tr> 
     117        <tr> 
     118          <td></td> 
     119          <td>)</td> 
     120          <td></td><td></td><td width="100%"><code> [virtual]</code></td> 
     121        </tr> 
     122      </table> 
     123</div> 
     124<div class="memdoc"> 
     125 
     126<p> 
     127Perfroms a rank-1 update by outer product of vectors: $V = V + w v v'$. <dl compact><dt><b>Parameters:</b></dt><dd> 
     128  <table border="0" cellspacing="2" cellpadding="0"> 
     129    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Vector forming the outer product to be added </td></tr> 
     130    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>weight of updating; can be negative</td></tr> 
     131  </table> 
     132</dl> 
     133BLAS-2b operation.  
     134<p>Implements <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>.</p> 
     135 
     136</div> 
     137</div><p> 
     138<a class="anchor" name="acc5d2d0a243f1de6d0106065f01f518"></a><!-- doxytag: member="fsqmat::mult_sym" ref="acc5d2d0a243f1de6d0106065f01f518" args="(const mat &amp;C, bool trans=false)" --> 
     139<div class="memitem"> 
     140<div class="memproto"> 
     141      <table class="memname"> 
     142        <tr> 
     143          <td class="memname">void fsqmat::mult_sym           </td> 
     144          <td>(</td> 
     145          <td class="paramtype">const mat &amp;&nbsp;</td> 
     146          <td class="paramname"> <em>C</em>, </td> 
     147        </tr> 
     148        <tr> 
     149          <td class="paramkey"></td> 
     150          <td></td> 
     151          <td class="paramtype">bool&nbsp;</td> 
     152          <td class="paramname"> <em>trans</em> = <code>false</code></td><td>&nbsp;</td> 
     153        </tr> 
     154        <tr> 
     155          <td></td> 
     156          <td>)</td> 
     157          <td></td><td></td><td width="100%"><code> [virtual]</code></td> 
     158        </tr> 
     159      </table> 
     160</div> 
     161<div class="memdoc"> 
     162 
     163<p> 
     164Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  
     165<p> 
     166<dl compact><dt><b>Parameters:</b></dt><dd> 
     167  <table border="0" cellspacing="2" cellpadding="0"> 
     168    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr> 
     169    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>if true, product $V = C'*V*C$ will be computed instead; </td></tr> 
     170  </table> 
     171</dl> 
     172 
     173<p>Implements <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>.</p> 
     174 
     175</div> 
     176</div><p> 
     177<a class="anchor" name="788423cc2679620dd6da8d2fca2e3e4d"></a><!-- doxytag: member="fsqmat::inv" ref="788423cc2679620dd6da8d2fca2e3e4d" args="(fsqmat *Inv)" --> 
     178<div class="memitem"> 
     179<div class="memproto"> 
     180      <table class="memname"> 
     181        <tr> 
     182          <td class="memname">virtual void fsqmat::inv           </td> 
     183          <td>(</td> 
     184          <td class="paramtype"><a class="el" href="classfsqmat.html">fsqmat</a> *&nbsp;</td> 
     185          <td class="paramname"> <em>Inv</em>          </td> 
     186          <td>&nbsp;)&nbsp;</td> 
     187          <td width="100%"><code> [virtual]</code></td> 
     188        </tr> 
     189      </table> 
     190</div> 
     191<div class="memdoc"> 
     192 
     193<p> 
     194Matrix inversion preserving the chosen form.  
     195<p> 
     196<dl compact><dt><b>Parameters:</b></dt><dd> 
     197  <table border="0" cellspacing="2" cellpadding="0"> 
     198    <tr><td valign="top"></td><td valign="top"><em>Inv</em>&nbsp;</td><td>a space where the inverse is stored. </td></tr> 
     199  </table> 
     200</dl> 
     201 
     202</div> 
     203</div><p> 
     204<a class="anchor" name="6648dd4291b809cce14e8497d0433ad3"></a><!-- doxytag: member="fsqmat::sqrt_mult" ref="6648dd4291b809cce14e8497d0433ad3" args="(vec &amp;v)" --> 
     205<div class="memitem"> 
     206<div class="memproto"> 
     207      <table class="memname"> 
     208        <tr> 
     209          <td class="memname">vec fsqmat::sqrt_mult           </td> 
     210          <td>(</td> 
     211          <td class="paramtype">vec &amp;&nbsp;</td> 
     212          <td class="paramname"> <em>v</em>          </td> 
     213          <td>&nbsp;)&nbsp;</td> 
     214          <td width="100%"><code> [inline, virtual]</code></td> 
     215        </tr> 
     216      </table> 
     217</div> 
     218<div class="memdoc"> 
     219 
     220<p> 
     221Multiplies square root of $V$ by vector $x$.  
     222<p> 
     223Used e.g. in generating normal samples.  
     224<p>Implements <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>.</p> 
     225 
     226</div> 
     227</div><p> 
     228<hr>The documentation for this class was generated from the following file:<ul> 
    50229<li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul> 
    51 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp; 
     230<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp; 
    52231<a href="http://www.doxygen.org/index.html"> 
    53232<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classmpdf-members.html

    r19 r22  
    2323  <tr bgcolor="#f0f0f0"><td><b>condition</b>(vec &amp;cond) (defined in <a class="el" href="classmpdf.html">mpdf</a>)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline, virtual]</code></td></tr> 
    2424  <tr class="memlist"><td><a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">samplecond</a>(vec &amp;cond, double lik)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline, virtual]</code></td></tr> 
    25 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:47 2008 for mixpp by&nbsp; 
     25</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    2626<a href="http://www.doxygen.org/index.html"> 
    2727<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classmpdf.html

    r19 r22  
    8484<hr>The documentation for this class was generated from the following file:<ul> 
    8585<li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul> 
    86 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:47 2008 for mixpp by&nbsp; 
     86<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp; 
    8787<a href="http://www.doxygen.org/index.html"> 
    8888<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classsqmat-members.html

    r19 r22  
    2222<h1>sqmat Member List</h1>This is the complete list of members for <a class="el" href="classsqmat.html">sqmat</a>, including all inherited members.<p><table> 
    2323  <tr class="memlist"><td><a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">clear</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
    24   <tr class="memlist"><td><a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">cols</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
     24  <tr class="memlist"><td><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr> 
    2525  <tr bgcolor="#f0f0f0"><td><b>dim</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [protected]</code></td></tr> 
    2626  <tr class="memlist"><td><a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">logdet</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
     
    2828  <tr class="memlist"><td><a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">opupdt</a>(const vec &amp;v, double w)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
    2929  <tr class="memlist"><td><a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">qform</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
    30   <tr class="memlist"><td><a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">rows</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
     30  <tr class="memlist"><td><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr> 
    3131  <tr class="memlist"><td><a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqrt_mult</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
    3232  <tr class="memlist"><td><a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">to_mat</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr> 
    33 </table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     33</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp; 
    3434<a href="http://www.doxygen.org/index.html"> 
    3535<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/classsqmat.html

    r19 r22  
    6161 
    6262<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr> 
    63 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="743d3799d9e73403230c54e14ecf09ed"></a><!-- doxytag: member="sqmat::cols" ref="743d3799d9e73403230c54e14ecf09ed" args="()=0" --> 
    64 virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">cols</a> ()=0</td></tr> 
     63<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecc2e2540f95a04f4449842588170f5b"></a><!-- doxytag: member="sqmat::cols" ref="ecc2e2540f95a04f4449842588170f5b" args="() const " --> 
     64int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a> () const </td></tr> 
    6565 
    66 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr> 
    67 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f59664a4be09450f8c6ce3f5e5ab2dc7"></a><!-- doxytag: member="sqmat::rows" ref="f59664a4be09450f8c6ce3f5e5ab2dc7" args="()=0" --> 
    68 virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">rows</a> ()=0</td></tr> 
     66<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr> 
     67<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="071e80ced9cc3b8cbb360fa7462eb646"></a><!-- doxytag: member="sqmat::rows" ref="071e80ced9cc3b8cbb360fa7462eb646" args="() const " --> 
     68int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a> () const </td></tr> 
    6969 
    70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr> 
     70<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr> 
    7171<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> 
    7272<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0abed904bdc0882373ba9adba919689d"></a><!-- doxytag: member="sqmat::dim" ref="0abed904bdc0882373ba9adba919689d" args="" --> 
     
    111111</dl> 
    112112BLAS-2b operation.  
     113<p>Implemented in <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a>.</p> 
     114 
    113115</div> 
    114116</div><p> 
     
    148150</dl> 
    149151 
     152<p>Implemented in <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>.</p> 
     153 
    150154</div> 
    151155</div><p> 
     
    170174<p> 
    171175Used e.g. in generating normal samples.  
     176<p>Implemented in <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>.</p> 
     177 
    172178</div> 
    173179</div><p> 
    174180<hr>The documentation for this class was generated from the following file:<ul> 
    175181<li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul> 
    176 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp; 
     182<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp; 
    177183<a href="http://www.doxygen.org/index.html"> 
    178184<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/files.html

    r19 r22  
    1515<h1>mixpp File List</h1>Here is a list of all documented files with brief descriptions:<table> 
    1616  <tr><td class="indexkey">work/mixpp/bdm/<b>itpp_ext.h</b> <a href="itpp__ext_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> 
    17   <tr><td class="indexkey">work/mixpp/bdm/estim/<a class="el" href="libKF_8h.html">libKF.h</a> <a href="libKF_8h-source.html">[code]</a></td><td class="indexvalue">Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> Filter) and extensions </td></tr> 
     17  <tr><td class="indexkey">work/mixpp/bdm/estim/<a class="el" href="libKF_8h.html">libKF.h</a> <a href="libKF_8h-source.html">[code]</a></td><td class="indexvalue">Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter) and extensions </td></tr> 
    1818  <tr><td class="indexkey">work/mixpp/bdm/estim/<a class="el" href="libPF_8h.html">libPF.h</a> <a href="libPF_8h-source.html">[code]</a></td><td class="indexvalue">Bayesian Filtering using stochastic sampling (Particle Filters) </td></tr> 
    1919  <tr><td class="indexkey">work/mixpp/bdm/math/<a class="el" href="libDC_8h.html">libDC.h</a> <a href="libDC_8h-source.html">[code]</a></td><td class="indexvalue">Matrices in decomposed forms (LDL', LU, UDU', etc) </td></tr> 
     
    2323  <tr><td class="indexkey">work/mixpp/bdm/stat/<b>libFN.h</b> <a href="libFN_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr> 
    2424</table> 
    25 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:50 2008 for mixpp by&nbsp; 
     25<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:23 2008 for mixpp by&nbsp; 
    2626<a href="http://www.doxygen.org/index.html"> 
    2727<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/functions.html

    r19 r22  
    3030<div class="tabs"> 
    3131  <ul> 
     32    <li><a href="#index__"><span>_</span></a></li> 
    3233    <li><a href="#index_a"><span>a</span></a></li> 
    3334    <li><a href="#index_b"><span>b</span></a></li> 
    3435    <li><a href="#index_c"><span>c</span></a></li> 
    3536    <li><a href="#index_d"><span>d</span></a></li> 
     37    <li><a href="#index_e"><span>e</span></a></li> 
    3638    <li><a href="#index_f"><span>f</span></a></li> 
    3739    <li><a href="#index_g"><span>g</span></a></li> 
     40    <li><a href="#index_i"><span>i</span></a></li> 
    3841    <li><a href="#index_k"><span>k</span></a></li> 
    3942    <li><a href="#index_l"><span>l</span></a></li> 
     
    5356Here is a list of all documented class members with links to the class documentation for each member: 
    5457<p> 
     58<h3><a class="anchor" name="index__">- _ -</a></h3><ul> 
     59<li>_dimu() 
     60: <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a> 
     61<li>_dimx() 
     62: <a class="el" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">diffbifn</a> 
     63<li>_dimy() 
     64: <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a> 
     65</ul> 
    5566<h3><a class="anchor" name="index_a">- a -</a></h3><ul> 
    5667<li>add() 
     
    6071<li>bayes() 
    6172: <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a> 
     73, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a> 
     74, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a> 
    6275, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a> 
    6376, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a> 
    64 , <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a> 
    65 , <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a> 
     77, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a> 
     78<li>bilinfn() 
     79: <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a> 
     80<li>BM() 
     81: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a> 
    6682</ul> 
    6783<h3><a class="anchor" name="index_c">- c -</a></h3><ul> 
    6884<li>clear() 
    6985: <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a> 
     86, <a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">fsqmat</a> 
    7087<li>cols() 
    71 : <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</a> 
     88: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a> 
     89<li>constfn() 
     90: <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a> 
    7291<li>count() 
    73 : <a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">RV</a> 
     92: <a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">RV</a> 
    7493</ul> 
    7594<h3><a class="anchor" name="index_d">- d -</a></h3><ul> 
     95<li>dfdu_cond() 
     96: <a class="el" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">diffbifn</a> 
     97, <a class="el" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">bilinfn</a> 
     98<li>dfdx_cond() 
     99: <a class="el" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">bilinfn</a> 
     100, <a class="el" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">diffbifn</a> 
     101<li>diffbifn() 
     102: <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a> 
    76103<li>Drv 
    77104: <a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">DS</a> 
     105<li>dupdate() 
     106: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a> 
     107</ul> 
     108<h3><a class="anchor" name="index_e">- e -</a></h3><ul> 
     109<li>EKF() 
     110: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a> 
     111<li>eval() 
     112: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a> 
     113, <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a> 
     114, <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a> 
     115, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a> 
     116, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a> 
    78117</ul> 
    79118<h3><a class="anchor" name="index_f">- f -</a></h3><ul> 
    80119<li>find() 
    81120: <a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">RV</a> 
     121<li>fsqmat() 
     122: <a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a> 
    82123</ul> 
    83124<h3><a class="anchor" name="index_g">- g -</a></h3><ul> 
     
    87128, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a> 
    88129</ul> 
     130<h3><a class="anchor" name="index_i">- i -</a></h3><ul> 
     131<li>indexlist() 
     132: <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a> 
     133<li>inv() 
     134: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a> 
     135</ul> 
    89136<h3><a class="anchor" name="index_k">- k -</a></h3><ul> 
    90137<li>Kalman() 
    91 : <a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman&lt; sq_T &gt;</a> 
     138: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a> 
    92139<li>KalmanFull() 
    93140: <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a> 
     
    101148<li>logdet() 
    102149: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a> 
     150, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a> 
    103151</ul> 
    104152<h3><a class="anchor" name="index_m">- m -</a></h3><ul> 
     
    108156<li>mult_sym() 
    109157: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a> 
     158, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a> 
    110159</ul> 
    111160<h3><a class="anchor" name="index_o">- o -</a></h3><ul> 
     
    116165<li>opupdt() 
    117166: <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a> 
     167, <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a> 
    118168</ul> 
    119169<h3><a class="anchor" name="index_p">- p -</a></h3><ul> 
     
    125175<li>qform() 
    126176: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a> 
     177, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a> 
    127178</ul> 
    128179<h3><a class="anchor" name="index_r">- r -</a></h3><ul> 
     
    130181: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a> 
    131182<li>rows() 
    132 : <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a> 
     183: <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a> 
    133184<li>RV() 
    134185: <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a> 
     
    142193<li>sqrt_mult() 
    143194: <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a> 
     195, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a> 
    144196<li>step() 
    145 : <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a> 
    146 , <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a> 
     197: <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a> 
     198, <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a> 
    147199<li>subselect() 
    148200: <a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">RV</a> 
     
    155207<li>to_mat() 
    156208: <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a> 
     209, <a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">fsqmat</a> 
     210<li>tupdate() 
     211: <a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">enorm&lt; sq_T &gt;</a> 
    157212</ul> 
    158213<h3><a class="anchor" name="index_u">- u -</a></h3><ul> 
     
    166221, <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a> 
    167222</ul> 
    168 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     223<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    169224<a href="http://www.doxygen.org/index.html"> 
    170225<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/functions_func.html

    r19 r22  
    3030<div class="tabs"> 
    3131  <ul> 
     32    <li><a href="#index__"><span>_</span></a></li> 
    3233    <li><a href="#index_a"><span>a</span></a></li> 
    3334    <li><a href="#index_b"><span>b</span></a></li> 
    3435    <li><a href="#index_c"><span>c</span></a></li> 
     36    <li><a href="#index_d"><span>d</span></a></li> 
     37    <li><a href="#index_e"><span>e</span></a></li> 
    3538    <li><a href="#index_f"><span>f</span></a></li> 
    3639    <li><a href="#index_g"><span>g</span></a></li> 
     40    <li><a href="#index_i"><span>i</span></a></li> 
    3741    <li><a href="#index_k"><span>k</span></a></li> 
    3842    <li><a href="#index_l"><span>l</span></a></li> 
     
    5054&nbsp; 
    5155<p> 
     56<h3><a class="anchor" name="index__">- _ -</a></h3><ul> 
     57<li>_dimu() 
     58: <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a> 
     59<li>_dimx() 
     60: <a class="el" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">diffbifn</a> 
     61<li>_dimy() 
     62: <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a> 
     63</ul> 
    5264<h3><a class="anchor" name="index_a">- a -</a></h3><ul> 
    5365<li>add() 
     
    5769<li>bayes() 
    5870: <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a> 
     71, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a> 
     72, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a> 
    5973, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a> 
    6074, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a> 
    61 , <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a> 
    62 , <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a> 
     75, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a> 
     76<li>bilinfn() 
     77: <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a> 
     78<li>BM() 
     79: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a> 
    6380</ul> 
    6481<h3><a class="anchor" name="index_c">- c -</a></h3><ul> 
    6582<li>clear() 
    6683: <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a> 
     84, <a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">fsqmat</a> 
    6785<li>cols() 
    68 : <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</a> 
     86: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a> 
     87<li>constfn() 
     88: <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a> 
    6989<li>count() 
    70 : <a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">RV</a> 
     90: <a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">RV</a> 
     91</ul> 
     92<h3><a class="anchor" name="index_d">- d -</a></h3><ul> 
     93<li>dfdu_cond() 
     94: <a class="el" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">diffbifn</a> 
     95, <a class="el" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">bilinfn</a> 
     96<li>dfdx_cond() 
     97: <a class="el" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">bilinfn</a> 
     98, <a class="el" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">diffbifn</a> 
     99<li>diffbifn() 
     100: <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a> 
     101<li>dupdate() 
     102: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a> 
     103</ul> 
     104<h3><a class="anchor" name="index_e">- e -</a></h3><ul> 
     105<li>EKF() 
     106: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a> 
     107<li>eval() 
     108: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a> 
     109, <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a> 
     110, <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a> 
     111, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a> 
     112, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a> 
    71113</ul> 
    72114<h3><a class="anchor" name="index_f">- f -</a></h3><ul> 
    73115<li>find() 
    74116: <a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">RV</a> 
     117<li>fsqmat() 
     118: <a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a> 
    75119</ul> 
    76120<h3><a class="anchor" name="index_g">- g -</a></h3><ul> 
     
    80124, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a> 
    81125</ul> 
     126<h3><a class="anchor" name="index_i">- i -</a></h3><ul> 
     127<li>indexlist() 
     128: <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a> 
     129<li>inv() 
     130: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a> 
     131</ul> 
    82132<h3><a class="anchor" name="index_k">- k -</a></h3><ul> 
    83133<li>Kalman() 
    84 : <a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman&lt; sq_T &gt;</a> 
     134: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a> 
    85135<li>KalmanFull() 
    86136: <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a> 
     
    92142<li>logdet() 
    93143: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a> 
     144, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a> 
    94145</ul> 
    95146<h3><a class="anchor" name="index_m">- m -</a></h3><ul> 
    96147<li>mult_sym() 
    97148: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a> 
     149, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a> 
    98150</ul> 
    99151<h3><a class="anchor" name="index_o">- o -</a></h3><ul> 
     
    101153: <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a> 
    102154<li>opupdt() 
    103 : <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a> 
     155: <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a> 
     156, <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a> 
    104157</ul> 
    105158<h3><a class="anchor" name="index_q">- q -</a></h3><ul> 
    106159<li>qform() 
    107160: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a> 
     161, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a> 
    108162</ul> 
    109163<h3><a class="anchor" name="index_r">- r -</a></h3><ul> 
     
    111165: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a> 
    112166<li>rows() 
    113 : <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a> 
     167: <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a> 
    114168<li>RV() 
    115169: <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a> 
     
    123177<li>sqrt_mult() 
    124178: <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a> 
     179, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a> 
    125180<li>step() 
    126 : <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a> 
    127 , <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a> 
     181: <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a> 
     182, <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a> 
    128183<li>subselect() 
    129184: <a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">RV</a> 
     
    136191<li>to_mat() 
    137192: <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a> 
     193, <a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">fsqmat</a> 
     194<li>tupdate() 
     195: <a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">enorm&lt; sq_T &gt;</a> 
    138196</ul> 
    139197<h3><a class="anchor" name="index_w">- w -</a></h3><ul> 
     
    143201, <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a> 
    144202</ul> 
    145 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     203<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    146204<a href="http://www.doxygen.org/index.html"> 
    147205<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/functions_rela.html

    r19 r22  
    3434: <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a> 
    3535</ul> 
    36 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     36<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    3737<a href="http://www.doxygen.org/index.html"> 
    3838<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/functions_vars.html

    r19 r22  
    4444: <a class="el" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">DS</a> 
    4545</ul> 
    46 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     46<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    4747<a href="http://www.doxygen.org/index.html"> 
    4848<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/hierarchy.html

    r19 r22  
    2626<ul> 
    2727<li><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a> 
     28<li><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a> 
     29<ul> 
     30<li><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a> 
     31</ul> 
    2832<li><a class="el" href="classKalmanFull.html">KalmanFull</a> 
    2933<li><a class="el" href="classPF.html">PF</a> 
     
    4448</ul> 
    4549<li><a class="el" href="classfnc.html">fnc</a> 
     50<ul> 
     51<li><a class="el" href="classconstfn.html">constfn</a> 
     52<li><a class="el" href="classdiffbifn.html">diffbifn</a> 
     53<ul> 
     54<li><a class="el" href="classbilinfn.html">bilinfn</a> 
     55</ul> 
     56<li><a class="el" href="classlinfn.html">linfn</a> 
     57</ul> 
    4658<li><a class="el" href="classmpdf.html">mpdf</a> 
    4759<li><a class="el" href="classRV.html">RV</a> 
     
    5163</ul> 
    5264</ul> 
    53 <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     65<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    5466<a href="http://www.doxygen.org/index.html"> 
    5567<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/index.html

    r19 r22  
    1515<h1>mixpp Documentation</h1> 
    1616<p> 
    17 <h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     17<h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    1818<a href="http://www.doxygen.org/index.html"> 
    1919<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/itpp__ext_8h-source.html

    r19 r22  
    2929<a name="l00015"></a>00015         Array&lt;int&gt; to_Arr(<span class="keyword">const</span> ivec &amp;indices); 
    3030<a name="l00016"></a>00016 } 
    31 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     31</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    3232<a href="http://www.doxygen.org/index.html"> 
    3333<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libBM_8h-source.html

    r19 r22  
    2323<a name="l00020"></a>00020  
    2424<a name="l00026"></a><a class="code" href="classRV.html">00026</a> <span class="keyword">class </span><a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> { 
    25 <a name="l00027"></a>00027         <span class="keywordtype">int</span> size,len; 
    26 <a name="l00028"></a>00028         ivec ids; 
    27 <a name="l00029"></a>00029         ivec sizes; 
    28 <a name="l00030"></a>00030         ivec times; 
    29 <a name="l00031"></a>00031         ivec obs; 
    30 <a name="l00032"></a>00032         Array&lt;std::string&gt; names; 
    31 <a name="l00033"></a>00033  
    32 <a name="l00034"></a>00034 <span class="keyword">private</span>: 
    33 <a name="l00035"></a>00035         <span class="keywordtype">void</span> init ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs ); 
    34 <a name="l00036"></a>00036 <span class="keyword">public</span>: 
    35 <a name="l00038"></a>00038         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs ); 
    36 <a name="l00040"></a>00040         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids ); 
    37 <a name="l00042"></a>00042         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> (); 
    38 <a name="l00043"></a>00043          
    39 <a name="l00045"></a>00045         <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classRV.html#cad6f15535d10437f6690cb4492176a8" title="Printing output e.g. for debugging.">operator&lt;&lt; </a>( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv ); 
    40 <a name="l00046"></a>00046  
    41 <a name="l00048"></a><a class="code" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">00048</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04" title="Return length (number of scalars) of the RV.">count</a>() {<span class="keywordflow">return</span> size;} 
    42 <a name="l00049"></a>00049         <span class="comment">//TODO why not inline and later??</span> 
    43 <a name="l00050"></a>00050          
    44 <a name="l00052"></a>00052         ivec <a class="code" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6" title="Find indexes of another rv in self.">find</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
    45 <a name="l00054"></a>00054         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <span class="keyword">add</span>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
    46 <a name="l00056"></a>00056         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a" title="Subtract another variable from the current one.">subt</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
    47 <a name="l00058"></a>00058         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#2bf35b18a32aad419f0516273939628e" title="Select only variables at indeces ind.">subselect</a>(ivec ind); 
    48 <a name="l00060"></a>00060         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45" title="Select only variables at indeces ind.">operator()</a>(ivec ind); 
    49 <a name="l00062"></a>00062         <span class="keywordtype">void</span> <a class="code" href="classRV.html#e0a158d53ab9430627241f844f4c9a60" title="Generate new RV with time shifted by delta.">t</a>(<span class="keywordtype">int</span> delta); 
    50 <a name="l00063"></a>00063 }; 
    51 <a name="l00064"></a>00064  
    52 <a name="l00065"></a>00065  
    53 <a name="l00066"></a>00066  
    54 <a name="l00067"></a>00067  
    55 <a name="l00069"></a><a class="code" href="classfnc.html">00069</a> <span class="keyword">class </span><a class="code" href="classfnc.html" title="Class representing function of variables.">fnc</a> { 
    56 <a name="l00070"></a>00070         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv; 
    57 <a name="l00071"></a>00071 }; 
     25<a name="l00028"></a>00028         <span class="keywordtype">int</span> size; 
     26<a name="l00030"></a>00030         <span class="keywordtype">int</span> len; 
     27<a name="l00031"></a>00031         ivec ids; 
     28<a name="l00032"></a>00032         ivec sizes; 
     29<a name="l00033"></a>00033         ivec times; 
     30<a name="l00034"></a>00034         ivec obs; 
     31<a name="l00035"></a>00035         Array&lt;std::string&gt; names; 
     32<a name="l00036"></a>00036  
     33<a name="l00037"></a>00037 <span class="keyword">private</span>: 
     34<a name="l00038"></a>00038         <span class="keywordtype">void</span> init ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs ); 
     35<a name="l00039"></a>00039 <span class="keyword">public</span>: 
     36<a name="l00041"></a>00041         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs ); 
     37<a name="l00043"></a>00043         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids ); 
     38<a name="l00045"></a>00045         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> (); 
     39<a name="l00046"></a>00046          
     40<a name="l00048"></a>00048         <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classRV.html#cad6f15535d10437f6690cb4492176a8" title="Printing output e.g. for debugging.">operator&lt;&lt; </a>( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv ); 
     41<a name="l00049"></a>00049  
     42<a name="l00051"></a><a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">00051</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> size;} ; 
     43<a name="l00052"></a>00052         <span class="comment">//TODO why not inline and later??</span> 
     44<a name="l00053"></a>00053          
     45<a name="l00055"></a>00055         ivec <a class="code" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6" title="Find indexes of another rv in self.">find</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
     46<a name="l00057"></a>00057         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <span class="keyword">add</span>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
     47<a name="l00059"></a>00059         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a" title="Subtract another variable from the current one.">subt</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2); 
     48<a name="l00061"></a>00061         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#2bf35b18a32aad419f0516273939628e" title="Select only variables at indeces ind.">subselect</a>(ivec ind); 
     49<a name="l00063"></a>00063         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45" title="Select only variables at indeces ind.">operator()</a>(ivec ind); 
     50<a name="l00065"></a>00065         <span class="keywordtype">void</span> <a class="code" href="classRV.html#e0a158d53ab9430627241f844f4c9a60" title="Generate new RV with time shifted by delta.">t</a>(<span class="keywordtype">int</span> delta); 
     51<a name="l00067"></a>00067         ivec <a class="code" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7" title="generate a list of indeces, i.e. which">indexlist</a>(); 
     52<a name="l00068"></a>00068 }; 
     53<a name="l00069"></a>00069  
     54<a name="l00070"></a>00070  
     55<a name="l00071"></a>00071  
    5856<a name="l00072"></a>00072  
    59 <a name="l00074"></a><a class="code" href="classBM.html">00074</a> <span class="keyword">class </span><a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> { 
    60 <a name="l00075"></a>00075 <span class="keyword">public</span>: 
    61 <a name="l00077"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00077</a>         <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>; 
    62 <a name="l00078"></a>00078  
    63 <a name="l00083"></a>00083         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( <span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evall=<span class="keyword">true</span> ) = 0; 
    64 <a name="l00085"></a>00085         <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( mat Dt ); 
    65 <a name="l00086"></a>00086 }; 
    66 <a name="l00087"></a>00087  
    67 <a name="l00089"></a><a class="code" href="classepdf.html">00089</a> <span class="keyword">class </span><a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> { 
    68 <a name="l00090"></a>00090         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv; 
    69 <a name="l00091"></a>00091 <span class="keyword">public</span>: 
    70 <a name="l00093"></a>00093 <span class="comment">//      virtual vec moment ( const int order = 1 );</span> 
    71 <a name="l00095"></a>00095 <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa" title="Returns the required moment of the epdf.">sample</a> ()=0; 
    72 <a name="l00096"></a>00096         <span class="keyword">virtual</span> <span class="keywordtype">double</span> eval(<span class="keyword">const</span> vec &amp;val){}; 
    73 <a name="l00097"></a>00097 }; 
    74 <a name="l00098"></a>00098  
    75 <a name="l00100"></a><a class="code" href="classmpdf.html">00100</a> <span class="keyword">class </span><a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> { 
    76 <a name="l00102"></a>00102         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv; 
    77 <a name="l00104"></a>00104         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc; 
    78 <a name="l00105"></a>00105 <span class="keyword">public</span>: 
    79 <a name="l00106"></a>00106  
    80 <a name="l00108"></a>00108 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span> 
    81 <a name="l00110"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00110</a> <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41" title="Returns the required moment of the epdf.">samplecond</a> (vec &amp;cond, <span class="keywordtype">double</span> lik){}; 
    82 <a name="l00111"></a>00111         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){}; 
    83 <a name="l00112"></a>00112 }; 
    84 <a name="l00113"></a>00113  
    85 <a name="l00120"></a><a class="code" href="classDS.html">00120</a> <span class="keyword">class </span><a class="code" href="classDS.html" title="Abstract class for discrete-time sources of data.">DS</a> { 
    86 <a name="l00121"></a>00121 <span class="keyword">protected</span>: 
    87 <a name="l00123"></a><a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">00123</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454" title="Observed variables, returned by getdata().">Drv</a>;  
    88 <a name="l00125"></a><a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">00125</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629" title="Action variables, accepted by write().">Urv</a>; <span class="comment">//</span> 
    89 <a name="l00126"></a>00126 <span class="keyword">public</span>: 
    90 <a name="l00128"></a>00128         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt); 
    91 <a name="l00130"></a>00130         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt, ivec &amp;indeces); 
    92 <a name="l00132"></a>00132         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut); 
    93 <a name="l00134"></a>00134         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut, ivec &amp;indeces); 
    94 <a name="l00140"></a>00140         <span class="keywordtype">void</span> <a class="code" href="classDS.html#9a35ca9c9321dce2bf63bf668f785b75" title="Method that assigns random variables to the datasource. Typically, the datasource...">linkrvs</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;drv, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;urv); 
    95 <a name="l00141"></a>00141          
    96 <a name="l00143"></a>00143         <span class="keywordtype">void</span> <a class="code" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6" title="Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system...">step</a>(); 
    97 <a name="l00144"></a>00144 }; 
    98 <a name="l00145"></a>00145  
    99 <a name="l00146"></a>00146  
    100 <a name="l00147"></a>00147 <span class="preprocessor">#endif // BM_H</span> 
    101 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     57<a name="l00074"></a><a class="code" href="classfnc.html">00074</a> <span class="keyword">class </span><a class="code" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv.">fnc</a> { 
     58<a name="l00075"></a>00075         <span class="keywordtype">int</span> dimy; 
     59<a name="l00076"></a>00076 <span class="keyword">public</span>:  
     60<a name="l00078"></a><a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">00078</a>         <span class="keyword">virtual</span> vec <a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c" title="function evaluates numerical value of $f(x)$ at $x=cond$">eval</a>(<span class="keyword">const</span> vec &amp;cond){}; <span class="comment">//Fixme: virtual?</span> 
     61<a name="l00080"></a><a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">00080</a> <span class="comment"></span>        <span class="keywordtype">int</span> <a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298" title="access function">_dimy</a>()<span class="keyword">const</span>{<span class="keywordflow">return</span> dimy;} 
     62<a name="l00081"></a>00081 }; 
     63<a name="l00082"></a>00082  
     64<a name="l00084"></a><a class="code" href="classBM.html">00084</a> <span class="keyword">class </span><a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> { 
     65<a name="l00085"></a>00085 <span class="keyword">public</span>: 
     66<a name="l00087"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00087</a>         <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>; 
     67<a name="l00088"></a>00088  
     68<a name="l00090"></a><a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">00090</a>         <a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae" title="Default constructor.">BM</a>(){<a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>=0;}; 
     69<a name="l00091"></a>00091          
     70<a name="l00096"></a>00096         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( <span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evall=<span class="keyword">true</span> ) = 0; 
     71<a name="l00098"></a>00098         <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( mat Dt ); 
     72<a name="l00099"></a>00099 }; 
     73<a name="l00100"></a>00100  
     74<a name="l00102"></a><a class="code" href="classepdf.html">00102</a> <span class="keyword">class </span><a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> { 
     75<a name="l00103"></a>00103         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv; 
     76<a name="l00104"></a>00104 <span class="keyword">public</span>: 
     77<a name="l00106"></a>00106 <span class="comment">//      virtual vec moment ( const int order = 1 );</span> 
     78<a name="l00108"></a>00108 <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa" title="Returns the required moment of the epdf.">sample</a> ()=0; 
     79<a name="l00110"></a><a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">00110</a>         <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc" title="Compute probability of argument val.">eval</a>(<span class="keyword">const</span> vec &amp;val){}; 
     80<a name="l00111"></a>00111 }; 
     81<a name="l00112"></a>00112  
     82<a name="l00114"></a><a class="code" href="classmpdf.html">00114</a> <span class="keyword">class </span><a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> { 
     83<a name="l00116"></a>00116         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv; 
     84<a name="l00118"></a>00118         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc; 
     85<a name="l00119"></a>00119 <span class="keyword">public</span>: 
     86<a name="l00120"></a>00120  
     87<a name="l00122"></a>00122 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span> 
     88<a name="l00124"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00124</a> <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41" title="Returns the required moment of the epdf.">samplecond</a> (vec &amp;cond, <span class="keywordtype">double</span> lik){}; 
     89<a name="l00125"></a>00125         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){}; 
     90<a name="l00126"></a>00126 }; 
     91<a name="l00127"></a>00127  
     92<a name="l00134"></a><a class="code" href="classDS.html">00134</a> <span class="keyword">class </span><a class="code" href="classDS.html" title="Abstract class for discrete-time sources of data.">DS</a> { 
     93<a name="l00135"></a>00135 <span class="keyword">protected</span>: 
     94<a name="l00137"></a><a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">00137</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454" title="Observed variables, returned by getdata().">Drv</a>;  
     95<a name="l00139"></a><a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">00139</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629" title="Action variables, accepted by write().">Urv</a>; <span class="comment">//</span> 
     96<a name="l00140"></a>00140 <span class="keyword">public</span>: 
     97<a name="l00142"></a>00142         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt); 
     98<a name="l00144"></a>00144         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt, ivec &amp;indeces); 
     99<a name="l00146"></a>00146         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut); 
     100<a name="l00148"></a>00148         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut, ivec &amp;indeces); 
     101<a name="l00154"></a>00154         <span class="keywordtype">void</span> <a class="code" href="classDS.html#9a35ca9c9321dce2bf63bf668f785b75" title="Method that assigns random variables to the datasource. Typically, the datasource...">linkrvs</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;drv, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;urv); 
     102<a name="l00155"></a>00155          
     103<a name="l00157"></a>00157         <span class="keywordtype">void</span> <a class="code" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6" title="Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system...">step</a>(); 
     104<a name="l00158"></a>00158 }; 
     105<a name="l00159"></a>00159  
     106<a name="l00160"></a>00160  
     107<a name="l00161"></a>00161 <span class="preprocessor">#endif // BM_H</span> 
     108</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    102109<a href="http://www.doxygen.org/index.html"> 
    103110<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libBM_8h.html

    r19 r22  
    3232<p><center><img src="libBM_8h__dep__incl.png" border="0" usemap="#work/mixpp/bdm/stat/libBM.hdep_map" alt=""></center> 
    3333<map name="work/mixpp/bdm/stat/libBM.hdep_map"> 
    34 <area shape="rect" href="libKF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="5,84,219,111"><area shape="rect" href="libPF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="243,84,456,111"><area shape="rect" href="libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="480,84,688,111"><area shape="rect" href="libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="712,84,915,111"><area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="939,84,1144,111"></map> 
     34<area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="9,84,215,111"><area shape="rect" href="libPF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="239,84,452,111"><area shape="rect" href="libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="476,84,684,111"><area shape="rect" href="libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="708,84,911,111"><area shape="rect" href="libKF_8h.html" title="work/mixpp/bdm/estim/libKF.h" alt="" coords="5,161,219,188"></map> 
    3535</div> 
    3636 
     
    4444<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html">fnc</a></td></tr> 
    4545 
    46 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class representing function of variables.  <a href="classfnc.html#_details">More...</a><br></td></tr> 
     46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class representing function $f(x)$ of variable $x$ represented by <code>rv</code>.  <a href="classfnc.html#_details">More...</a><br></td></tr> 
    4747<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html">BM</a></td></tr> 
    4848 
     
    6363<dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl> 
    6464----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p> 
    65 Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:39 2008 for mixpp by&nbsp; 
     65Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    6666<a href="http://www.doxygen.org/index.html"> 
    6767<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libDC_8h-source.html

    r19 r22  
    4141<a name="l00070"></a>00070         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e" title="Clearing matrix so that it corresponds to zeros.">clear</a>() =0; 
    4242<a name="l00071"></a>00071          
    43 <a name="l00073"></a>00073         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols</a>() =0; 
     43<a name="l00073"></a><a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">00073</a>         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;}; 
    4444<a name="l00074"></a>00074  
    45 <a name="l00076"></a>00076         <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7" title="Reimplementing common functions of mat: cols().">rows</a>() =0; 
     45<a name="l00076"></a><a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">00076</a>         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;}; 
    4646<a name="l00077"></a>00077  
    4747<a name="l00078"></a>00078 <span class="keyword">protected</span>: 
     
    5050<a name="l00081"></a>00081  
    5151<a name="l00082"></a>00082  
    52 <a name="l00087"></a><a class="code" href="classfsqmat.html">00087</a> <span class="keyword">class </span><a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>: <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> { 
    53 <a name="l00088"></a>00088         <span class="keywordtype">void</span> opupdt( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w ); 
    54 <a name="l00089"></a>00089         mat to_mat(); 
    55 <a name="l00090"></a>00090         <span class="keywordtype">void</span> mult_sym( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
    56 <a name="l00091"></a>00091    <span class="keywordtype">void</span> mult_sym( <span class="keyword">const</span> mat &amp;C, <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
    57 <a name="l00092"></a>00092         <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;Inv); 
    58 <a name="l00093"></a>00093         <span class="keywordtype">void</span> clear(); 
    59 <a name="l00094"></a>00094          
    60 <a name="l00095"></a>00095          
    61 <a name="l00097"></a>00097         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(<span class="keyword">const</span> mat &amp;M); 
     52<a name="l00087"></a><a class="code" href="classfsqmat.html">00087</a> <span class="keyword">class </span><a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>: <span class="keyword">public</span> <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> { 
     53<a name="l00088"></a>00088 <span class="keyword">protected</span>: 
     54<a name="l00089"></a>00089 mat M; 
     55<a name="l00090"></a>00090 <span class="keyword">public</span>: 
     56<a name="l00091"></a>00091         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a>( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w ); 
     57<a name="l00092"></a>00092         mat <a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>(); 
     58<a name="l00093"></a>00093         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
     59<a name="l00094"></a>00094    <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
     60<a name="l00095"></a>00095         <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;Inv); 
     61<a name="l00096"></a>00096         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4" title="Clearing matrix so that it corresponds to zeros.">clear</a>(); 
     62<a name="l00097"></a>00097          
    6263<a name="l00098"></a>00098          
    63 <a name="l00104"></a>00104         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>* Inv); 
    64 <a name="l00105"></a>00105          
    65 <a name="l00106"></a>00106  
    66 <a name="l00107"></a>00107 }; 
    67 <a name="l00108"></a>00108  
    68 <a name="l00109"></a>00109 <span class="keyword">class </span>ldmat: <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> { 
    69 <a name="l00110"></a>00110 <span class="keyword">public</span>: 
    70 <a name="l00111"></a>00111  
    71 <a name="l00113"></a>00113         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D ); 
    72 <a name="l00115"></a>00115         ldmat( mat V ); 
    73 <a name="l00117"></a>00117         ldmat( vec D0 ); 
    74 <a name="l00118"></a>00118         ldmat (); 
    75 <a name="l00119"></a>00119  
    76 <a name="l00120"></a>00120         <span class="comment">// Reimplementation of compulsory operatios</span> 
     64<a name="l00099"></a>00099         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(){}; <span class="comment">// mat will be initialized OK</span> 
     65<a name="l00101"></a>00101 <span class="comment"></span>        <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(<span class="keyword">const</span> mat &amp;M); 
     66<a name="l00102"></a>00102          
     67<a name="l00108"></a>00108         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>* Inv); 
     68<a name="l00109"></a>00109          
     69<a name="l00110"></a><a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">00110</a>         <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>(){<span class="keywordflow">return</span> log(det(M));}; 
     70<a name="l00111"></a><a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">00111</a>         <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(vec &amp;v){<span class="keywordflow">return</span> (v*(M*v));}; 
     71<a name="l00112"></a><a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">00112</a>         vec <a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v){it_error(<span class="stringliteral">"not implemented"</span>);<span class="keywordflow">return</span> v;}; 
     72<a name="l00113"></a>00113  
     73<a name="l00114"></a>00114         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator += (<span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A){M+=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;}; 
     74<a name="l00115"></a>00115         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator -= (<span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A){M-=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;}; 
     75<a name="l00116"></a>00116         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator *= (<span class="keywordtype">double</span> x){M*=x;<span class="keywordflow">return</span> *<span class="keyword">this</span>;}; 
     76<a name="l00117"></a>00117 }; 
     77<a name="l00118"></a>00118  
     78<a name="l00119"></a>00119 <span class="keyword">class </span>ldmat: <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> { 
     79<a name="l00120"></a>00120 <span class="keyword">public</span>: 
    7780<a name="l00121"></a>00121  
    78 <a name="l00122"></a>00122         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">opupdt</a>( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w ); 
    79 <a name="l00123"></a>00123         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>(); 
    80 <a name="l00124"></a>00124    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
    81 <a name="l00125"></a>00125         <span class="keywordtype">void</span> <span class="keyword">add</span> ( <span class="keyword">const</span> ldmat &amp;ld2, <span class="keywordtype">double</span> w=1.0 ); 
    82 <a name="l00126"></a>00126         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>(); 
    83 <a name="l00127"></a>00127         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(vec &amp;v); 
    84 <a name="l00128"></a>00128 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span> 
    85 <a name="l00129"></a>00129         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e" title="Clearing matrix so that it corresponds to zeros.">clear</a>(); 
    86 <a name="l00130"></a>00130         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols</a>(); 
    87 <a name="l00131"></a>00131         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7" title="Reimplementing common functions of mat: cols().">rows</a>(); 
    88 <a name="l00132"></a>00132         vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v); 
    89 <a name="l00133"></a>00133  
    90 <a name="l00139"></a>00139         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv); 
    91 <a name="l00140"></a>00140          
    92 <a name="l00146"></a>00146    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, ldmat &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
    93 <a name="l00147"></a>00147  
    94 <a name="l00156"></a>00156    <span class="keywordtype">void</span> ldform( mat &amp;A, vec &amp;D0 ); 
     81<a name="l00123"></a>00123         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D ); 
     82<a name="l00125"></a>00125         ldmat( mat V ); 
     83<a name="l00127"></a>00127         ldmat( vec D0 ); 
     84<a name="l00128"></a>00128         ldmat (); 
     85<a name="l00129"></a>00129  
     86<a name="l00130"></a>00130         <span class="comment">// Reimplementation of compulsory operatios</span> 
     87<a name="l00131"></a>00131  
     88<a name="l00132"></a>00132         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">opupdt</a>( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w ); 
     89<a name="l00133"></a>00133         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>(); 
     90<a name="l00134"></a>00134    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
     91<a name="l00135"></a>00135         <span class="keywordtype">void</span> <span class="keyword">add</span> ( <span class="keyword">const</span> ldmat &amp;ld2, <span class="keywordtype">double</span> w=1.0 ); 
     92<a name="l00136"></a>00136         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>(); 
     93<a name="l00137"></a>00137         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(vec &amp;v); 
     94<a name="l00138"></a>00138 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span> 
     95<a name="l00139"></a>00139         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e" title="Clearing matrix so that it corresponds to zeros.">clear</a>(); 
     96<a name="l00140"></a>00140         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>(); 
     97<a name="l00141"></a>00141         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>(); 
     98<a name="l00142"></a>00142         vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v); 
     99<a name="l00143"></a>00143  
     100<a name="l00149"></a>00149         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv); 
     101<a name="l00150"></a>00150          
     102<a name="l00156"></a>00156    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, ldmat &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> ); 
    95103<a name="l00157"></a>00157  
    96 <a name="l00158"></a>00158         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA); 
    97 <a name="l00159"></a>00159         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA); 
    98 <a name="l00160"></a>00160         ldmat&amp; operator *= (<span class="keywordtype">double</span> x); 
    99 <a name="l00161"></a>00161          
    100 <a name="l00162"></a>00162         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq ); 
    101 <a name="l00163"></a>00163  
    102 <a name="l00164"></a>00164 <span class="keyword">protected</span>: 
    103 <a name="l00165"></a>00165         vec D; 
    104 <a name="l00166"></a>00166         mat L; 
     104<a name="l00166"></a>00166    <span class="keywordtype">void</span> ldform( mat &amp;A, vec &amp;D0 ); 
    105105<a name="l00167"></a>00167  
    106 <a name="l00168"></a>00168 }; 
    107 <a name="l00169"></a>00169  
    108 <a name="l00171"></a>00171  
    109 <a name="l00172"></a>00172 <span class="keyword">inline</span> ldmat&amp; ldmat::operator += (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA);<span class="keywordflow">return</span> *<span class="keyword">this</span>;} 
    110 <a name="l00173"></a>00173 <span class="keyword">inline</span> ldmat&amp; ldmat::operator -= (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA,-1.0);<span class="keywordflow">return</span> *<span class="keyword">this</span>;} 
    111 <a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">ldmat::cols</a>(){<span class="keywordflow">return</span> dim;} 
    112 <a name="l00175"></a>00175 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7" title="Reimplementing common functions of mat: cols().">ldmat::rows</a>(){<span class="keywordflow">return</span> dim;} 
    113 <a name="l00176"></a>00176  
    114 <a name="l00177"></a>00177 <span class="preprocessor">#endif // DC_H</span> 
    115 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     106<a name="l00168"></a>00168         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA); 
     107<a name="l00169"></a>00169         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA); 
     108<a name="l00170"></a>00170         ldmat&amp; operator *= (<span class="keywordtype">double</span> x); 
     109<a name="l00171"></a>00171          
     110<a name="l00172"></a>00172         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq ); 
     111<a name="l00173"></a>00173  
     112<a name="l00174"></a>00174 <span class="keyword">protected</span>: 
     113<a name="l00175"></a>00175         vec D; 
     114<a name="l00176"></a>00176         mat L; 
     115<a name="l00177"></a>00177  
     116<a name="l00178"></a>00178 }; 
     117<a name="l00179"></a>00179  
     118<a name="l00181"></a>00181  
     119<a name="l00182"></a>00182 <span class="keyword">inline</span> ldmat&amp; ldmat::operator += (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA);<span class="keywordflow">return</span> *<span class="keyword">this</span>;} 
     120<a name="l00183"></a>00183 <span class="keyword">inline</span> ldmat&amp; ldmat::operator -= (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA,-1.0);<span class="keywordflow">return</span> *<span class="keyword">this</span>;} 
     121<a name="l00184"></a>00184 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">ldmat::cols</a>(){<span class="keywordflow">return</span> dim;} 
     122<a name="l00185"></a>00185 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">ldmat::rows</a>(){<span class="keywordflow">return</span> dim;} 
     123<a name="l00186"></a>00186  
     124<a name="l00187"></a>00187 <span class="preprocessor">#endif // DC_H</span> 
     125</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    116126<a href="http://www.doxygen.org/index.html"> 
    117127<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libDC_8h.html

    r19 r22  
    5353<dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl> 
    5454----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p> 
    55 Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:38 2008 for mixpp by&nbsp; 
     55Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    5656<a href="http://www.doxygen.org/index.html"> 
    5757<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libEF_8h-source.html

    r19 r22  
    3838<a name="l00040"></a>00040  
    3939<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    40 <a name="l00047"></a><a class="code" href="classenorm.html">00047</a> <span class="keyword">class </span><a class="code" href="classenorm.html" title="General exponential family density.">enorm</a> : <span class="keyword">public</span> <a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> { 
     40<a name="l00047"></a><a class="code" href="classenorm.html">00047</a> <span class="keyword">class </span><a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a> : <span class="keyword">public</span> <a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> { 
    4141<a name="l00048"></a>00048         <span class="keywordtype">int</span> dim; 
    4242<a name="l00049"></a>00049         vec mu; 
    4343<a name="l00050"></a>00050         sq_T R; 
    4444<a name="l00051"></a>00051 <span class="keyword">public</span>: 
    45 <a name="l00052"></a>00052         <a class="code" href="classenorm.html" title="General exponential family density.">enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu, sq_T &amp;R ); 
    46 <a name="l00053"></a>00053         <a class="code" href="classenorm.html" title="General exponential family density.">enorm</a>(); 
    47 <a name="l00054"></a>00054         <span class="keywordtype">void</span> tupdate( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ); 
    48 <a name="l00055"></a>00055         <span class="keywordtype">void</span> dupdate( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 ); 
    49 <a name="l00056"></a>00056         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>(); 
    50 <a name="l00057"></a>00057         mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>(<span class="keywordtype">int</span> N); 
    51 <a name="l00058"></a>00058         <span class="keywordtype">double</span> eval( <span class="keyword">const</span> vec &amp;val ); 
    52 <a name="l00059"></a>00059         Normal_RNG RNG; 
    53 <a name="l00060"></a>00060 }; 
    54 <a name="l00061"></a>00061  
    55 <a name="l00065"></a>00065 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    56 <a name="l00066"></a>00066 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF { 
    57 <a name="l00067"></a>00067         <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;</a> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>; 
    58 <a name="l00068"></a>00068         mat A; 
    59 <a name="l00069"></a>00069 <span class="keyword">public</span>: 
    60 <a name="l00071"></a>00071         mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R ); 
    61 <a name="l00073"></a>00073         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ); 
    62 <a name="l00074"></a>00074         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ); 
    63 <a name="l00075"></a>00075         <span class="keywordtype">void</span> condition( vec &amp;cond ); 
    64 <a name="l00076"></a>00076 }; 
    65 <a name="l00077"></a>00077  
    66 <a name="l00079"></a>00079  
    67 <a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    68 <a name="l00081"></a>00081 <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu0, sq_T &amp;R0 ) { 
    69 <a name="l00082"></a>00082         dim = rv.<a class="code" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04" title="Return length (number of scalars) of the RV.">count</a>(); 
    70 <a name="l00083"></a>00083         mu = mu0; 
    71 <a name="l00084"></a>00084         R = R0; 
    72 <a name="l00085"></a>00085 }; 
    73 <a name="l00086"></a>00086  
    74 <a name="l00087"></a>00087 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    75 <a name="l00088"></a>00088 <span class="keywordtype">void</span> <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::dupdate</a>( mat &amp;v, <span class="keywordtype">double</span> nu ) { 
    76 <a name="l00089"></a>00089         <span class="comment">//</span> 
    77 <a name="l00090"></a>00090 }; 
    78 <a name="l00091"></a>00091  
    79 <a name="l00092"></a>00092 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    80 <a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) { 
    81 <a name="l00094"></a>00094         <span class="comment">//</span> 
    82 <a name="l00095"></a>00095 }; 
    83 <a name="l00096"></a>00096  
    84 <a name="l00097"></a>00097 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    85 <a name="l00098"></a><a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">00098</a> vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>() { 
    86 <a name="l00099"></a>00099         vec x( dim ); 
    87 <a name="l00100"></a>00100         RNG.sample_vector( dim,x ); 
    88 <a name="l00101"></a>00101         vec smp = R.sqrt_mult( x ); 
     45<a name="l00052"></a>00052         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu, sq_T &amp;R ); 
     46<a name="l00053"></a>00053         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>(); 
     47<a name="l00055"></a>00055         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ); 
     48<a name="l00056"></a>00056         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">dupdate</a>( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 ); 
     49<a name="l00058"></a>00058         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">tupdate</a>(); 
     50<a name="l00060"></a>00060         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">dupdate</a>(); 
     51<a name="l00061"></a>00061           
     52<a name="l00062"></a>00062         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>(); 
     53<a name="l00063"></a>00063         mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>(<span class="keywordtype">int</span> N); 
     54<a name="l00064"></a>00064         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">eval</a>( <span class="keyword">const</span> vec &amp;val ); 
     55<a name="l00065"></a>00065         Normal_RNG RNG; 
     56<a name="l00066"></a>00066 }; 
     57<a name="l00067"></a>00067  
     58<a name="l00071"></a>00071 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     59<a name="l00072"></a>00072 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF { 
     60<a name="l00073"></a>00073         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>; 
     61<a name="l00074"></a>00074         mat A; 
     62<a name="l00075"></a>00075 <span class="keyword">public</span>: 
     63<a name="l00077"></a>00077         mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R ); 
     64<a name="l00079"></a>00079         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ); 
     65<a name="l00080"></a>00080         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ); 
     66<a name="l00081"></a>00081         <span class="keywordtype">void</span> condition( vec &amp;cond ); 
     67<a name="l00082"></a>00082 }; 
     68<a name="l00083"></a>00083  
     69<a name="l00085"></a>00085  
     70<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     71<a name="l00087"></a>00087 <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu0, sq_T &amp;R0 ) { 
     72<a name="l00088"></a>00088         dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>(); 
     73<a name="l00089"></a>00089         mu = mu0; 
     74<a name="l00090"></a>00090         R = R0; 
     75<a name="l00091"></a>00091 }; 
     76<a name="l00092"></a>00092  
     77<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     78<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">enorm&lt;sq_T&gt;::dupdate</a>( mat &amp;v, <span class="keywordtype">double</span> nu ) { 
     79<a name="l00095"></a>00095         <span class="comment">//</span> 
     80<a name="l00096"></a>00096 }; 
     81<a name="l00097"></a>00097  
     82<a name="l00098"></a>00098 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     83<a name="l00099"></a><a class="code" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">00099</a> <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">enorm&lt;sq_T&gt;::tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) { 
     84<a name="l00100"></a>00100         <span class="comment">//</span> 
     85<a name="l00101"></a>00101 }; 
    8986<a name="l00102"></a>00102  
    90 <a name="l00103"></a>00103         smp += mu; 
    91 <a name="l00104"></a>00104         <span class="keywordflow">return</span> smp; 
    92 <a name="l00105"></a>00105 }; 
    93 <a name="l00106"></a>00106  
    94 <a name="l00107"></a>00107 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    95 <a name="l00108"></a>00108 mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>( <span class="keywordtype">int</span> N ) { 
    96 <a name="l00109"></a>00109         mat X( dim,N ); 
    97 <a name="l00110"></a>00110         vec x( dim ); 
    98 <a name="l00111"></a>00111         vec pom; 
    99 <a name="l00112"></a>00112         <span class="keywordtype">int</span> i; 
    100 <a name="l00113"></a>00113         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) { 
    101 <a name="l00114"></a>00114                 RNG.sample_vector( dim,x ); 
    102 <a name="l00115"></a>00115                 pom = R.sqrt_mult( x ); 
    103 <a name="l00116"></a>00116                 pom +=mu; 
    104 <a name="l00117"></a>00117                 X.set_col( i, pom); 
    105 <a name="l00118"></a>00118         } 
    106 <a name="l00119"></a>00119         <span class="keywordflow">return</span> X; 
    107 <a name="l00120"></a>00120 }; 
    108 <a name="l00121"></a>00121  
    109 <a name="l00122"></a>00122 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    110 <a name="l00123"></a>00123 <span class="keywordtype">double</span> <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::eval</a>( <span class="keyword">const</span> vec &amp;val ) { 
    111 <a name="l00124"></a>00124         <span class="comment">//</span> 
    112 <a name="l00125"></a>00125 }; 
    113 <a name="l00126"></a>00126  
     87<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     88<a name="l00104"></a><a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">00104</a> vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>() { 
     89<a name="l00105"></a>00105         vec x( dim ); 
     90<a name="l00106"></a>00106         RNG.sample_vector( dim,x ); 
     91<a name="l00107"></a>00107         vec smp = R.sqrt_mult( x ); 
     92<a name="l00108"></a>00108  
     93<a name="l00109"></a>00109         smp += mu; 
     94<a name="l00110"></a>00110         <span class="keywordflow">return</span> smp; 
     95<a name="l00111"></a>00111 }; 
     96<a name="l00112"></a>00112  
     97<a name="l00113"></a>00113 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     98<a name="l00114"></a>00114 mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>( <span class="keywordtype">int</span> N ) { 
     99<a name="l00115"></a>00115         mat X( dim,N ); 
     100<a name="l00116"></a>00116         vec x( dim ); 
     101<a name="l00117"></a>00117         vec pom; 
     102<a name="l00118"></a>00118         <span class="keywordtype">int</span> i; 
     103<a name="l00119"></a>00119         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) { 
     104<a name="l00120"></a>00120                 RNG.sample_vector( dim,x ); 
     105<a name="l00121"></a>00121                 pom = R.sqrt_mult( x ); 
     106<a name="l00122"></a>00122                 pom +=mu; 
     107<a name="l00123"></a>00123                 X.set_col( i, pom); 
     108<a name="l00124"></a>00124         } 
     109<a name="l00125"></a>00125         <span class="keywordflow">return</span> X; 
     110<a name="l00126"></a>00126 }; 
    114111<a name="l00127"></a>00127  
    115112<a name="l00128"></a>00128 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    116 <a name="l00129"></a>00129 <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::enorm</a>() {}; 
    117 <a name="l00130"></a>00130  
    118 <a name="l00131"></a>00131 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    119 <a name="l00132"></a>00132 mlnorm&lt;sq_T&gt;::mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R ) { 
    120 <a name="l00133"></a>00133         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04" title="Return length (number of scalars) of the RV.">count</a>(); 
    121 <a name="l00134"></a>00134         vec mu( dim ); 
    122 <a name="l00135"></a>00135  
    123 <a name="l00136"></a>00136         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> = <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;</a>( rv,mu,R ); 
    124 <a name="l00137"></a>00137 } 
    125 <a name="l00138"></a>00138  
    126 <a name="l00139"></a>00139 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    127 <a name="l00140"></a>00140 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) { 
    128 <a name="l00141"></a>00141         this-&gt;condition( cond ); 
    129 <a name="l00142"></a>00142         vec smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample(); 
    130 <a name="l00143"></a>00143         lik = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp ); 
    131 <a name="l00144"></a>00144         <span class="keywordflow">return</span> smp; 
    132 <a name="l00145"></a>00145 } 
    133 <a name="l00146"></a>00146  
    134 <a name="l00147"></a>00147 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    135 <a name="l00148"></a>00148 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) { 
    136 <a name="l00149"></a>00149         <span class="keywordtype">int</span> i; 
    137 <a name="l00150"></a>00150         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04" title="Return length (number of scalars) of the RV.">count</a>(); 
    138 <a name="l00151"></a>00151         mat Smp( dim,n ); 
    139 <a name="l00152"></a>00152         vec smp( dim ); 
    140 <a name="l00153"></a>00153         this-&gt;condition( cond ); 
    141 <a name="l00154"></a>00154         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) { 
    142 <a name="l00155"></a>00155                 smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample(); 
    143 <a name="l00156"></a>00156                 lik( i ) = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp ); 
    144 <a name="l00157"></a>00157                 Smp.set_col( i ,smp ); 
    145 <a name="l00158"></a>00158         } 
    146 <a name="l00159"></a>00159         <span class="keywordflow">return</span> Smp; 
    147 <a name="l00160"></a>00160 } 
    148 <a name="l00161"></a>00161  
    149 <a name="l00162"></a>00162 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    150 <a name="l00163"></a>00163 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond ) { 
    151 <a name="l00164"></a>00164         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.mu = A*cond; 
    152 <a name="l00165"></a>00165 <span class="comment">//R is already assigned;</span> 
     113<a name="l00129"></a><a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4">00129</a> <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">enorm&lt;sq_T&gt;::eval</a>( <span class="keyword">const</span> vec &amp;val ) { 
     114<a name="l00130"></a>00130         <span class="comment">//</span> 
     115<a name="l00131"></a>00131 }; 
     116<a name="l00132"></a>00132  
     117<a name="l00133"></a>00133  
     118<a name="l00134"></a>00134 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     119<a name="l00135"></a>00135 <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::enorm</a>() {}; 
     120<a name="l00136"></a>00136  
     121<a name="l00137"></a>00137 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     122<a name="l00138"></a>00138 mlnorm&lt;sq_T&gt;::mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R ) { 
     123<a name="l00139"></a>00139         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>(); 
     124<a name="l00140"></a>00140         vec mu( dim ); 
     125<a name="l00141"></a>00141  
     126<a name="l00142"></a>00142         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> = <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a>( rv,mu,R ); 
     127<a name="l00143"></a>00143 } 
     128<a name="l00144"></a>00144  
     129<a name="l00145"></a>00145 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     130<a name="l00146"></a>00146 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) { 
     131<a name="l00147"></a>00147         this-&gt;condition( cond ); 
     132<a name="l00148"></a>00148         vec smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample(); 
     133<a name="l00149"></a>00149         lik = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp ); 
     134<a name="l00150"></a>00150         <span class="keywordflow">return</span> smp; 
     135<a name="l00151"></a>00151 } 
     136<a name="l00152"></a>00152  
     137<a name="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     138<a name="l00154"></a>00154 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) { 
     139<a name="l00155"></a>00155         <span class="keywordtype">int</span> i; 
     140<a name="l00156"></a>00156         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>(); 
     141<a name="l00157"></a>00157         mat Smp( dim,n ); 
     142<a name="l00158"></a>00158         vec smp( dim ); 
     143<a name="l00159"></a>00159         this-&gt;condition( cond ); 
     144<a name="l00160"></a>00160         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) { 
     145<a name="l00161"></a>00161                 smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample(); 
     146<a name="l00162"></a>00162                 lik( i ) = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp ); 
     147<a name="l00163"></a>00163                 Smp.set_col( i ,smp ); 
     148<a name="l00164"></a>00164         } 
     149<a name="l00165"></a>00165         <span class="keywordflow">return</span> Smp; 
    153150<a name="l00166"></a>00166 } 
    154151<a name="l00167"></a>00167  
    155 <a name="l00168"></a>00168 <span class="preprocessor">#endif //EF_H</span> 
    156 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:37 2008 for mixpp by&nbsp; 
     152<a name="l00168"></a>00168 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     153<a name="l00169"></a>00169 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond ) { 
     154<a name="l00170"></a>00170         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.mu = A*cond; 
     155<a name="l00171"></a>00171 <span class="comment">//R is already assigned;</span> 
     156<a name="l00172"></a>00172 } 
     157<a name="l00173"></a>00173  
     158<a name="l00174"></a>00174 <span class="preprocessor">#endif //EF_H</span> 
     159</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    157160<a href="http://www.doxygen.org/index.html"> 
    158161<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libEF_8h.html

    r19 r22  
    3939<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td></tr> 
    4040 
    41 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">General exponential family density.  <a href="classenorm.html#_details">More...</a><br></td></tr> 
     41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gaussian density with positive definite (decomposed) covariance matrix.  <a href="classenorm.html#_details">More...</a><br></td></tr> 
    4242<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>mlnorm&lt; sq_T &gt;</b></td></tr> 
    4343 
     
    4848<dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl> 
    4949----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p> 
    50 Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp; 
     50Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    5151<a href="http://www.doxygen.org/index.html"> 
    5252<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libKF_8h-source.html

    r19 r22  
    1818<a name="l00015"></a>00015 <span class="preprocessor"></span> 
    1919<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span> 
    20 <a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libBM.h"</span> 
     20<a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libFN.h"</span> 
    2121<a name="l00018"></a>00018 <span class="preprocessor">#include "../math/libDC.h"</span> 
    2222<a name="l00019"></a>00019  
     
    4545<a name="l00049"></a>00049  
    4646<a name="l00053"></a>00053 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    47 <a name="l00054"></a><a class="code" href="classKalman.html">00054</a> <span class="keyword">class </span><a class="code" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> {  
    48 <a name="l00055"></a>00055         <span class="keywordtype">int</span> dimx, dimy, dimu; 
    49 <a name="l00056"></a>00056         mat A, B, C, D; 
    50 <a name="l00057"></a>00057         sq_T R, Q; 
    51 <a name="l00058"></a>00058          
    52 <a name="l00059"></a>00059         <span class="comment">//cache</span> 
    53 <a name="l00060"></a>00060         mat _K; 
    54 <a name="l00061"></a>00061         vec _yp; 
    55 <a name="l00062"></a>00062         sq_T _Ry,_iRy; 
    56 <a name="l00063"></a>00063 <span class="keyword">public</span>: 
    57 <a name="l00064"></a>00064         <span class="comment">//posterior </span> 
    58 <a name="l00066"></a><a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed">00066</a> <span class="comment"></span>        vec <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>; 
    59 <a name="l00068"></a><a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">00068</a>         sq_T <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>; 
    60 <a name="l00069"></a>00069  
    61 <a name="l00070"></a>00070 <span class="keyword">public</span>: 
    62 <a name="l00072"></a>00072         <a class="code" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f" title="Full constructor.">Kalman</a> ( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 ); 
    63 <a name="l00074"></a>00074         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll=<span class="keyword">true</span>);  
    64 <a name="l00075"></a>00075  
    65 <a name="l00076"></a>00076         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</a> &amp;kf ); 
    66 <a name="l00077"></a>00077  
    67 <a name="l00078"></a>00078 }; 
    68 <a name="l00079"></a>00079  
    69 <a name="l00081"></a>00081  
    70 <a name="l00082"></a>00082 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    71 <a name="l00083"></a><a class="code" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">00083</a> <a class="code" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f" title="Full constructor.">Kalman&lt;sq_T&gt;::Kalman</a>( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 ) { 
    72 <a name="l00084"></a>00084         dimx = A0.rows(); 
    73 <a name="l00085"></a>00085         dimu = B0.cols(); 
    74 <a name="l00086"></a>00086         dimy = C0.rows(); 
    75 <a name="l00087"></a>00087  
    76 <a name="l00088"></a>00088         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> ); 
    77 <a name="l00089"></a>00089         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> ); 
    78 <a name="l00090"></a>00090         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> ); 
    79 <a name="l00091"></a>00091         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> ); 
    80 <a name="l00092"></a>00092         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> ); 
    81 <a name="l00093"></a>00093         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> ); 
    82 <a name="l00094"></a>00094  
    83 <a name="l00095"></a>00095         A = A0; 
    84 <a name="l00096"></a>00096         B = B0; 
    85 <a name="l00097"></a>00097         C = C0; 
    86 <a name="l00098"></a>00098         D = D0; 
    87 <a name="l00099"></a>00099         R = R0; 
    88 <a name="l00100"></a>00100         Q = Q0; 
    89 <a name="l00101"></a>00101         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0; 
    90 <a name="l00102"></a>00102         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0; 
    91 <a name="l00103"></a>00103  
    92 <a name="l00104"></a>00104         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a> = 0; 
    93 <a name="l00105"></a>00105 <span class="comment">//Fixme should we assign cache??</span> 
    94 <a name="l00106"></a>00106         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span> 
    95 <a name="l00107"></a>00107 } 
    96 <a name="l00108"></a>00108  
    97 <a name="l00109"></a>00109 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
    98 <a name="l00110"></a><a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">00110</a> <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">Kalman&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> evalll) { 
    99 <a name="l00111"></a>00111         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> ); 
    100 <a name="l00112"></a>00112  
    101 <a name="l00113"></a>00113         vec u = dt.get( dimy,dimy+dimu-1 ); 
    102 <a name="l00114"></a>00114         vec y = dt.get( 0,dimy-1 ); 
    103 <a name="l00115"></a>00115         <span class="comment">//Time update</span> 
    104 <a name="l00116"></a>00116         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = A*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> + B*u; 
    105 <a name="l00117"></a>00117         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span> 
    106 <a name="l00118"></a>00118         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A ); 
    107 <a name="l00119"></a>00119         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q; 
    108 <a name="l00120"></a>00120  
    109 <a name="l00121"></a>00121         <span class="comment">//Data update</span> 
    110 <a name="l00122"></a>00122         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span> 
    111 <a name="l00123"></a>00123         _Ry.mult_sym( C, <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>); 
    112 <a name="l00124"></a>00124         _Ry+=R; 
    113 <a name="l00125"></a>00125  
    114 <a name="l00126"></a>00126         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.to_mat(); 
    115 <a name="l00127"></a>00127          
    116 <a name="l00128"></a>00128         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span> 
    117 <a name="l00129"></a>00129         _K = Pfull*C.transpose()*(_iRy.to_mat()); 
    118 <a name="l00130"></a>00130         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> -= _K*C*Pfull; <span class="comment">// P = P -KCP;</span> 
    119 <a name="l00131"></a>00131         _yp = y-C*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>-D*u; <span class="comment">//y prediction</span> 
    120 <a name="l00132"></a>00132         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp ); 
    121 <a name="l00133"></a>00133          
    122 <a name="l00134"></a>00134         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) { 
    123 <a name="l00135"></a>00135         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.cols()*0.79817986835811504957 \ 
    124 <a name="l00136"></a>00136         +_Ry.logdet() +_iRy.qform(_yp)); 
    125 <a name="l00137"></a>00137         } 
    126 <a name="l00138"></a>00138 }; 
     47<a name="l00054"></a><a class="code" href="classKalman.html">00054</a> <span class="keyword">class </span><a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> {  
     48<a name="l00055"></a>00055 <span class="keyword">protected</span>: 
     49<a name="l00056"></a>00056         <span class="keywordtype">int</span> dimx, dimy, dimu; 
     50<a name="l00057"></a>00057         mat A, B, C, D; 
     51<a name="l00058"></a>00058         sq_T R, Q; 
     52<a name="l00059"></a>00059          
     53<a name="l00060"></a>00060         <span class="comment">//cache</span> 
     54<a name="l00061"></a>00061         mat _K; 
     55<a name="l00062"></a>00062         vec _yp; 
     56<a name="l00063"></a>00063         sq_T _Ry,_iRy; 
     57<a name="l00064"></a>00064 <span class="keyword">public</span>: 
     58<a name="l00065"></a>00065         <span class="comment">//posterior </span> 
     59<a name="l00067"></a><a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed">00067</a> <span class="comment"></span>        vec <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>; 
     60<a name="l00069"></a><a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">00069</a>         sq_T <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>; 
     61<a name="l00070"></a>00070  
     62<a name="l00071"></a>00071 <span class="keyword">public</span>: 
     63<a name="l00073"></a>00073         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> (<span class="keywordtype">int</span> dimx, <span class="keywordtype">int</span> dimu, <span class="keywordtype">int</span> dimy); 
     64<a name="l00075"></a>00075         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> ( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 ); 
     65<a name="l00077"></a>00077         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll=<span class="keyword">true</span>);  
     66<a name="l00078"></a>00078  
     67<a name="l00079"></a>00079         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</a> &amp;kf ); 
     68<a name="l00080"></a>00080  
     69<a name="l00081"></a>00081 }; 
     70<a name="l00082"></a>00082  
     71<a name="l00088"></a>00088 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     72<a name="l00089"></a><a class="code" href="classEKF.html">00089</a> <span class="keyword">class </span><a class="code" href="classEKF.html" title="Extended Kalman Filter.">EKF</a> : <span class="keyword">public</span> <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;fsqmat&gt; { 
     73<a name="l00091"></a>00091         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu; 
     74<a name="l00093"></a>00093         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu; 
     75<a name="l00094"></a>00094 <span class="keyword">public</span>:  
     76<a name="l00096"></a>00096         <a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10" title="Default constructor.">EKF</a> (<span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu, <span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu); 
     77<a name="l00098"></a>00098         <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll=<span class="keyword">true</span>);     
     78<a name="l00099"></a>00099 }; 
     79<a name="l00100"></a>00100  
     80<a name="l00102"></a>00102  
     81<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     82<a name="l00104"></a><a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a">00104</a> <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>( <span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> du, <span class="keywordtype">int</span> dy): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>(), dimx(dx),dimy(dy),dimu(du){ 
     83<a name="l00105"></a>00105         A = mat(dimx,dimx); 
     84<a name="l00106"></a>00106         B = mat(dimx,dimu); 
     85<a name="l00107"></a>00107         C = mat(dimy,dimx); 
     86<a name="l00108"></a>00108         D = mat(dimy,dimu); 
     87<a name="l00109"></a>00109  
     88<a name="l00110"></a>00110         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = vec(dimx); 
     89<a name="l00111"></a>00111         <span class="comment">//TODO Initialize the rest?</span> 
     90<a name="l00112"></a>00112 }; 
     91<a name="l00113"></a>00113  
     92<a name="l00114"></a>00114 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     93<a name="l00115"></a><a class="code" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">00115</a> <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>(<span class="keyword">const</span>  mat A0,<span class="keyword">const</span>  mat B0, <span class="keyword">const</span> mat C0, <span class="keyword">const</span> mat D0, <span class="keyword">const</span> sq_T R0, <span class="keyword">const</span> sq_T Q0, <span class="keyword">const</span> sq_T P0, <span class="keyword">const</span> vec mu0 ): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>() { 
     94<a name="l00116"></a>00116         dimx = A0.rows(); 
     95<a name="l00117"></a>00117         dimu = B0.cols(); 
     96<a name="l00118"></a>00118         dimy = C0.rows(); 
     97<a name="l00119"></a>00119  
     98<a name="l00120"></a>00120         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> ); 
     99<a name="l00121"></a>00121         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> ); 
     100<a name="l00122"></a>00122         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> ); 
     101<a name="l00123"></a>00123         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> ); 
     102<a name="l00124"></a>00124         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> ); 
     103<a name="l00125"></a>00125         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> ); 
     104<a name="l00126"></a>00126  
     105<a name="l00127"></a>00127         A = A0; 
     106<a name="l00128"></a>00128         B = B0; 
     107<a name="l00129"></a>00129         C = C0; 
     108<a name="l00130"></a>00130         D = D0; 
     109<a name="l00131"></a>00131         R = R0; 
     110<a name="l00132"></a>00132         Q = Q0; 
     111<a name="l00133"></a>00133         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0; 
     112<a name="l00134"></a>00134         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0; 
     113<a name="l00135"></a>00135  
     114<a name="l00136"></a>00136 <span class="comment">//Fixme should we assign cache??</span> 
     115<a name="l00137"></a>00137         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span> 
     116<a name="l00138"></a>00138 } 
    127117<a name="l00139"></a>00139  
    128 <a name="l00140"></a>00140 <span class="comment">//extern template class Kalman&lt;ldmat&gt;; </span> 
    129 <a name="l00141"></a>00141  
    130 <a name="l00142"></a>00142  
    131 <a name="l00143"></a>00143 <span class="preprocessor">#endif // KF_H</span> 
    132 <a name="l00144"></a>00144 <span class="preprocessor"></span> 
    133 <a name="l00145"></a>00145  
    134 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     118<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     119<a name="l00141"></a><a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">00141</a> <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">Kalman&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> evalll) { 
     120<a name="l00142"></a>00142         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> ); 
     121<a name="l00143"></a>00143  
     122<a name="l00144"></a>00144         vec u = dt.get( dimy,dimy+dimu-1 ); 
     123<a name="l00145"></a>00145         vec y = dt.get( 0,dimy-1 ); 
     124<a name="l00146"></a>00146         <span class="comment">//Time update</span> 
     125<a name="l00147"></a>00147         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = A*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> + B*u; 
     126<a name="l00148"></a>00148         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span> 
     127<a name="l00149"></a>00149         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A ); 
     128<a name="l00150"></a>00150         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q; 
     129<a name="l00151"></a>00151  
     130<a name="l00152"></a>00152         <span class="comment">//Data update</span> 
     131<a name="l00153"></a>00153         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span> 
     132<a name="l00154"></a>00154         _Ry.mult_sym( C, <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>); 
     133<a name="l00155"></a>00155         _Ry+=R; 
     134<a name="l00156"></a>00156  
     135<a name="l00157"></a>00157         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.to_mat(); 
     136<a name="l00158"></a>00158          
     137<a name="l00159"></a>00159         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span> 
     138<a name="l00160"></a>00160         _K = Pfull*C.transpose()*(_iRy.to_mat()); 
     139<a name="l00161"></a>00161         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> -= _K*C*Pfull; <span class="comment">// P = P -KCP;</span> 
     140<a name="l00162"></a>00162         _yp = y-C*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>-D*u; <span class="comment">//y prediction</span> 
     141<a name="l00163"></a>00163         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp ); 
     142<a name="l00164"></a>00164          
     143<a name="l00165"></a>00165         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) { 
     144<a name="l00166"></a>00166         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.cols()*0.79817986835811504957 \ 
     145<a name="l00167"></a>00167         +_Ry.logdet() +_iRy.qform(_yp)); 
     146<a name="l00168"></a>00168         } 
     147<a name="l00169"></a>00169 }; 
     148<a name="l00170"></a>00170  
     149<a name="l00171"></a>00171  
     150<a name="l00172"></a>00172 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     151<a name="l00173"></a><a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">00173</a> <a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10" title="Default constructor.">EKF&lt;sq_T&gt;::EKF</a>(<span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu0, <span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu0): fxu(fxu0), hxu(hxu0),<a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&gt;(fxu0._dimx(),fxu0._dimu(),hxu0._dimy()) { 
     152<a name="l00174"></a>00174                  
     153<a name="l00175"></a>00175                 <span class="comment">//initialize matrices A C, later, these will be only updated!</span> 
     154<a name="l00176"></a>00176                 fxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),A,<span class="keyword">true</span>); 
     155<a name="l00177"></a>00177                 hxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),C,<span class="keyword">true</span>); 
     156<a name="l00178"></a>00178 } 
     157<a name="l00179"></a>00179  
     158<a name="l00180"></a>00180 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt; 
     159<a name="l00181"></a><a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">00181</a> <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">EKF&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> evalll) { 
     160<a name="l00182"></a>00182         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> ); 
     161<a name="l00183"></a>00183  
     162<a name="l00184"></a>00184         vec u = dt.get( dimy,dimy+dimu-1 ); 
     163<a name="l00185"></a>00185         vec y = dt.get( 0,dimy-1 ); 
     164<a name="l00186"></a>00186         <span class="comment">//Time update</span> 
     165<a name="l00187"></a>00187         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = fxu.<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>, u); 
     166<a name="l00188"></a>00188         fxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,A,<span class="keyword">false</span>); <span class="comment">//update A by a derivative of fx</span> 
     167<a name="l00189"></a>00189          
     168<a name="l00190"></a>00190         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span> 
     169<a name="l00191"></a>00191         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( A ); 
     170<a name="l00192"></a>00192         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q; 
     171<a name="l00193"></a>00193  
     172<a name="l00194"></a>00194         <span class="comment">//Data update</span> 
     173<a name="l00195"></a>00195         hxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,C,<span class="keyword">false</span>); <span class="comment">//update C by a derivative hx</span> 
     174<a name="l00196"></a>00196         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span> 
     175<a name="l00197"></a>00197         _Ry.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( C, <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>); 
     176<a name="l00198"></a>00198         _Ry+=R; 
     177<a name="l00199"></a>00199  
     178<a name="l00200"></a>00200         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>(); 
     179<a name="l00201"></a>00201          
     180<a name="l00202"></a>00202         _Ry.<a class="code" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">inv</a>( _iRy ); <span class="comment">// result is in _iRy;</span> 
     181<a name="l00203"></a>00203         _K = Pfull*C.transpose()*(_iRy.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>()); 
     182<a name="l00204"></a>00204         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> -= _K*C*Pfull; <span class="comment">// P = P -KCP;</span> 
     183<a name="l00205"></a>00205         _yp = y-hxu.<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u); <span class="comment">//y prediction</span> 
     184<a name="l00206"></a>00206         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp ); 
     185<a name="l00207"></a>00207          
     186<a name="l00208"></a>00208         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) { 
     187<a name="l00209"></a>00209         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.<a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()*0.79817986835811504957 \ 
     188<a name="l00210"></a>00210         +_Ry.<a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>() +_iRy.<a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(_yp)); 
     189<a name="l00211"></a>00211         } 
     190<a name="l00212"></a>00212 }; 
     191<a name="l00213"></a>00213  
     192<a name="l00214"></a>00214  
     193<a name="l00215"></a>00215 <span class="preprocessor">#endif // KF_H</span> 
     194<a name="l00216"></a>00216 <span class="preprocessor"></span> 
     195<a name="l00217"></a>00217  
     196</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    135197<a href="http://www.doxygen.org/index.html"> 
    136198<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libKF_8h.html

    r19 r22  
    1313  </ul> 
    1414</div> 
    15 <h1>work/mixpp/bdm/estim/libKF.h File Reference</h1>Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> Filter) and extensions. <a href="#_details">More...</a> 
     15<h1>work/mixpp/bdm/estim/libKF.h File Reference</h1>Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter) and extensions. <a href="#_details">More...</a> 
    1616<p> 
    1717<code>#include &lt;itpp/itbase.h&gt;</code><br> 
    18 <code>#include &quot;<a class="el" href="libBM_8h-source.html">../stat/libBM.h</a>&quot;</code><br> 
     18<code>#include &quot;../stat/libFN.h&quot;</code><br> 
    1919<code>#include &quot;<a class="el" href="libDC_8h-source.html">../math/libDC.h</a>&quot;</code><br> 
    2020 
     
    2525<p><center><img src="libKF_8h__incl.png" border="0" usemap="#work/mixpp/bdm/estim/libKF.h_map" alt=""></center> 
    2626<map name="work/mixpp/bdm/estim/libKF.h_map"> 
    27 <area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="63,161,161,188"><area shape="rect" href="libBM_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="57,84,167,111"><area shape="rect" href="libDC_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="191,84,308,111"></map> 
     27<area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="44,239,143,265"><area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="59,84,165,111"><area shape="rect" href="libDC_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="187,161,304,188"><area shape="rect" href="libBM_8h.html" title="libBM.h" alt="" coords="96,161,163,188"></map> 
    2828</div> 
    2929 
     
    3434<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html">KalmanFull</a></td></tr> 
    3535 
    36 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Basic <a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!  <a href="classKalmanFull.html#_details">More...</a><br></td></tr> 
     36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!  <a href="classKalmanFull.html#_details">More...</a><br></td></tr> 
    3737<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td></tr> 
    3838 
    39 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> filter with covaraince matrices in square root form.  <a href="classKalman.html#_details">More...</a><br></td></tr> 
     39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form.  <a href="classKalman.html#_details">More...</a><br></td></tr> 
     40<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td></tr> 
     41 
     42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter.  <a href="classEKF.html#_details">More...</a><br></td></tr> 
    4043</table> 
    4144<hr><a name="_details"></a><h2>Detailed Description</h2> 
    42 Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covaraince matrices in square root form.">Kalman</a> Filter) and extensions.  
     45Bayesian Filtering for linear Gaussian models (<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter) and extensions.  
    4346<p> 
    4447<dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl> 
    4548----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p> 
    46 Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:37 2008 for mixpp by&nbsp; 
     49Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    4750<a href="http://www.doxygen.org/index.html"> 
    4851<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libPF_8h-source.html

    r19 r22  
    6262<a name="l00071"></a>00071 <span class="preprocessor"></span> 
    6363<a name="l00072"></a>00072  
    64 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp; 
     64</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp; 
    6565<a href="http://www.doxygen.org/index.html"> 
    6666<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> 
  • doc/html/libPF_8h.html

    r19 r22  
    5252<dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl> 
    5353----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p> 
    54 Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:38 2008 for mixpp by&nbsp; 
     54Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp; 
    5555<a href="http://www.doxygen.org/index.html"> 
    5656<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>