Index: doc/html/classBM-members.html
===================================================================
--- doc/html/classBM-members.html (revision 19)
+++ doc/html/classBM-members.html (revision 22)
@@ -23,6 +23,7 @@
   <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>
   <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>
+  <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:41 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classKalmanFull.html
===================================================================
--- doc/html/classKalmanFull.html (revision 19)
+++ doc/html/classKalmanFull.html (revision 22)
@@ -20,5 +20,5 @@
   </ul>
 </div>
-<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!  
+<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!  
 <a href="#_details">More...</a>
 <p>
@@ -67,7 +67,7 @@
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-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>
+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! <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a><li>work/mixpp/bdm/estim/libKF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:46 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libDC_8h.html
===================================================================
--- doc/html/libDC_8h.html (revision 19)
+++ doc/html/libDC_8h.html (revision 22)
@@ -53,5 +53,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-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;
+Using 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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classTrivialPF-members.html
===================================================================
--- doc/html/classTrivialPF-members.html (revision 19)
+++ doc/html/classTrivialPF-members.html (revision 22)
@@ -23,4 +23,5 @@
   <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>
   <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>
+  <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>
   <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>
   <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>
@@ -31,5 +32,5 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:49 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/hierarchy.html
===================================================================
--- doc/html/hierarchy.html (revision 19)
+++ doc/html/hierarchy.html (revision 22)
@@ -26,4 +26,8 @@
 <ul>
 <li><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>
+<li><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>
+<ul>
+<li><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a>
+</ul>
 <li><a class="el" href="classKalmanFull.html">KalmanFull</a>
 <li><a class="el" href="classPF.html">PF</a>
@@ -44,4 +48,12 @@
 </ul>
 <li><a class="el" href="classfnc.html">fnc</a>
+<ul>
+<li><a class="el" href="classconstfn.html">constfn</a>
+<li><a class="el" href="classdiffbifn.html">diffbifn</a>
+<ul>
+<li><a class="el" href="classbilinfn.html">bilinfn</a>
+</ul>
+<li><a class="el" href="classlinfn.html">linfn</a>
+</ul>
 <li><a class="el" href="classmpdf.html">mpdf</a>
 <li><a class="el" href="classRV.html">RV</a>
@@ -51,5 +63,5 @@
 </ul>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classfsqmat.html
===================================================================
--- doc/html/classfsqmat.html (revision 19)
+++ doc/html/classfsqmat.html (revision 22)
@@ -43,11 +43,190 @@
 <a href="classfsqmat-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<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>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cedf4f048309056f4262c930914dfda8"></a><!-- doxytag: member="fsqmat::to_mat" ref="cedf4f048309056f4262c930914dfda8" args="()" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">to_mat</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion to full matrix. <br></td></tr>
+<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>
+
+<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>
+<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)" -->
+void&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>
+
+<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)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>inv</b> (<a class="el" href="classfsqmat.html">fsqmat</a> &amp;Inv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfa4c359483d2322f32d1d50050f8ac4"></a><!-- doxytag: member="fsqmat::clear" ref="cfa4c359483d2322f32d1d50050f8ac4" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">clear</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr>
+<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)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a> (const mat &amp;M)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
+<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>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix inversion preserving the chosen form.  <a href="#788423cc2679620dd6da8d2fca2e3e4d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf212272ec195ad2706e2bf4d8e7c9b3"></a><!-- doxytag: member="fsqmat::logdet" ref="bf212272ec195ad2706e2bf4d8e7c9b3" args="()" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">logdet</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of a determinant. <br></td></tr>
+<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)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">qform</a> (vec &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form $x= v'*V*v$;. <br></td></tr>
+<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>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#6648dd4291b809cce14e8497d0433ad3"></a><br></td></tr>
+<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)" -->
+<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>
+
+<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)" -->
+<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>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f7ce97628a50e06641281096b2af9b7"></a><!-- doxytag: member="fsqmat::operator *=" ref="8f7ce97628a50e06641281096b2af9b7" args="(double x)" -->
+<a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator *=</b> (double x)</td></tr>
+
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7a1fcb9aae19d1e4daddfc9c22ce453"></a><!-- doxytag: member="fsqmat::M" ref="a7a1fcb9aae19d1e4daddfc9c22ce453" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>M</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 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. 
 <p>
-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>
+This 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>
+<a class="anchor" name="b36530e155667fe9f1bd58394e50c65a"></a><!-- doxytag: member="fsqmat::opupdt" ref="b36530e155667fe9f1bd58394e50c65a" args="(const vec &amp;v, double w)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void fsqmat::opupdt           </td>
+          <td>(</td>
+          <td class="paramtype">const vec &amp;&nbsp;</td>
+          <td class="paramname"> <em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>w</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Perfroms a rank-1 update by outer product of vectors: $V = V + w v v'$. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Vector forming the outer product to be added </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>weight of updating; can be negative</td></tr>
+  </table>
+</dl>
+BLAS-2b operation. 
+<p>Implements <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="acc5d2d0a243f1de6d0106065f01f518"></a><!-- doxytag: member="fsqmat::mult_sym" ref="acc5d2d0a243f1de6d0106065f01f518" args="(const mat &amp;C, bool trans=false)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void fsqmat::mult_sym           </td>
+          <td>(</td>
+          <td class="paramtype">const mat &amp;&nbsp;</td>
+          <td class="paramname"> <em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&nbsp;</td>
+          <td class="paramname"> <em>trans</em> = <code>false</code></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
+    <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>
+  </table>
+</dl>
+
+<p>Implements <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="788423cc2679620dd6da8d2fca2e3e4d"></a><!-- doxytag: member="fsqmat::inv" ref="788423cc2679620dd6da8d2fca2e3e4d" args="(fsqmat *Inv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void fsqmat::inv           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classfsqmat.html">fsqmat</a> *&nbsp;</td>
+          <td class="paramname"> <em>Inv</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Matrix inversion preserving the chosen form. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>Inv</em>&nbsp;</td><td>a space where the inverse is stored. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6648dd4291b809cce14e8497d0433ad3"></a><!-- doxytag: member="fsqmat::sqrt_mult" ref="6648dd4291b809cce14e8497d0433ad3" args="(vec &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">vec fsqmat::sqrt_mult           </td>
+          <td>(</td>
+          <td class="paramtype">vec &amp;&nbsp;</td>
+          <td class="paramname"> <em>v</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Multiplies square root of $V$ by vector $x$. 
+<p>
+Used e.g. in generating normal samples. 
+<p>Implements <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libBM_8h-source.html
===================================================================
--- doc/html/libBM_8h-source.html (revision 19)
+++ doc/html/libBM_8h-source.html (revision 22)
@@ -23,81 +23,88 @@
 <a name="l00020"></a>00020 
 <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> {
-<a name="l00027"></a>00027         <span class="keywordtype">int</span> size,len;
-<a name="l00028"></a>00028         ivec ids;
-<a name="l00029"></a>00029         ivec sizes;
-<a name="l00030"></a>00030         ivec times;
-<a name="l00031"></a>00031         ivec obs;
-<a name="l00032"></a>00032         Array&lt;std::string&gt; names;
-<a name="l00033"></a>00033 
-<a name="l00034"></a>00034 <span class="keyword">private</span>:
-<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 );
-<a name="l00036"></a>00036 <span class="keyword">public</span>:
-<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 );
-<a name="l00040"></a>00040         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids );
-<a name="l00042"></a>00042         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ();
-<a name="l00043"></a>00043         
-<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 );
-<a name="l00046"></a>00046 
-<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;}
-<a name="l00049"></a>00049         <span class="comment">//TODO why not inline and later??</span>
-<a name="l00050"></a>00050         
-<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);
-<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);
-<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);
-<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);
-<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);
-<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);
-<a name="l00063"></a>00063 };
-<a name="l00064"></a>00064 
-<a name="l00065"></a>00065 
-<a name="l00066"></a>00066 
-<a name="l00067"></a>00067 
-<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> {
-<a name="l00070"></a>00070         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00071"></a>00071 };
+<a name="l00028"></a>00028         <span class="keywordtype">int</span> size;
+<a name="l00030"></a>00030         <span class="keywordtype">int</span> len;
+<a name="l00031"></a>00031         ivec ids;
+<a name="l00032"></a>00032         ivec sizes;
+<a name="l00033"></a>00033         ivec times;
+<a name="l00034"></a>00034         ivec obs;
+<a name="l00035"></a>00035         Array&lt;std::string&gt; names;
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037 <span class="keyword">private</span>:
+<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 );
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<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 );
+<a name="l00043"></a>00043         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids );
+<a name="l00045"></a>00045         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ();
+<a name="l00046"></a>00046         
+<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 );
+<a name="l00049"></a>00049 
+<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;} ;
+<a name="l00052"></a>00052         <span class="comment">//TODO why not inline and later??</span>
+<a name="l00053"></a>00053         
+<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);
+<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);
+<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);
+<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);
+<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);
+<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);
+<a name="l00067"></a>00067         ivec <a class="code" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7" title="generate a list of indeces, i.e. which">indexlist</a>();
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069 
+<a name="l00070"></a>00070 
+<a name="l00071"></a>00071 
 <a name="l00072"></a>00072 
-<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> {
-<a name="l00075"></a>00075 <span class="keyword">public</span>:
-<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>;
-<a name="l00078"></a>00078 
-<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;
-<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 );
-<a name="l00086"></a>00086 };
-<a name="l00087"></a>00087 
-<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> {
-<a name="l00090"></a>00090         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00091"></a>00091 <span class="keyword">public</span>:
-<a name="l00093"></a>00093 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
-<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;
-<a name="l00096"></a>00096         <span class="keyword">virtual</span> <span class="keywordtype">double</span> eval(<span class="keyword">const</span> vec &amp;val){};
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098 
-<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> {
-<a name="l00102"></a>00102         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00104"></a>00104         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
-<a name="l00105"></a>00105 <span class="keyword">public</span>:
-<a name="l00106"></a>00106 
-<a name="l00108"></a>00108 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
-<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){};
-<a name="l00111"></a>00111         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){};
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113 
-<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> {
-<a name="l00121"></a>00121 <span class="keyword">protected</span>:
-<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>; 
-<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>
-<a name="l00126"></a>00126 <span class="keyword">public</span>:
-<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);
-<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);
-<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);
-<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);
-<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);
-<a name="l00141"></a>00141         
-<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>();
-<a name="l00144"></a>00144 };
-<a name="l00145"></a>00145 
-<a name="l00146"></a>00146 
-<a name="l00147"></a>00147 <span class="preprocessor">#endif // BM_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp;
+<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> {
+<a name="l00075"></a>00075         <span class="keywordtype">int</span> dimy;
+<a name="l00076"></a>00076 <span class="keyword">public</span>: 
+<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>
+<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;}
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082 
+<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> {
+<a name="l00085"></a>00085 <span class="keyword">public</span>:
+<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>;
+<a name="l00088"></a>00088 
+<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;};
+<a name="l00091"></a>00091         
+<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;
+<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 );
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100 
+<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> {
+<a name="l00103"></a>00103         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00104"></a>00104 <span class="keyword">public</span>:
+<a name="l00106"></a>00106 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
+<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;
+<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){};
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112 
+<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> {
+<a name="l00116"></a>00116         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00118"></a>00118         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
+<a name="l00119"></a>00119 <span class="keyword">public</span>:
+<a name="l00120"></a>00120 
+<a name="l00122"></a>00122 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
+<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){};
+<a name="l00125"></a>00125         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){};
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127 
+<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> {
+<a name="l00135"></a>00135 <span class="keyword">protected</span>:
+<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>; 
+<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>
+<a name="l00140"></a>00140 <span class="keyword">public</span>:
+<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);
+<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);
+<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);
+<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);
+<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);
+<a name="l00155"></a>00155         
+<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>();
+<a name="l00158"></a>00158 };
+<a name="l00159"></a>00159 
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161 <span class="preprocessor">#endif // BM_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libBM_8h.html
===================================================================
--- doc/html/libBM_8h.html (revision 19)
+++ doc/html/libBM_8h.html (revision 22)
@@ -32,5 +32,5 @@
 <p><center><img src="libBM_8h__dep__incl.png" border="0" usemap="#work/mixpp/bdm/stat/libBM.hdep_map" alt=""></center>
 <map name="work/mixpp/bdm/stat/libBM.hdep_map">
-<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>
+<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>
 </div>
 
@@ -44,5 +44,5 @@
 <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>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class representing function of variables.  <a href="classfnc.html#_details">More...</a><br></td></tr>
+<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>
 <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>
 
@@ -63,5 +63,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-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;
+Using 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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classeEF.html
===================================================================
--- doc/html/classeEF.html (revision 19)
+++ doc/html/classeEF.html (revision 22)
@@ -30,5 +30,5 @@
 <p><center><img src="classeEF__inherit__graph.png" border="0" usemap="#eEF__inherit__map" alt="Inheritance graph"></center>
 <map name="eEF__inherit__map">
-<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>
+<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>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -56,5 +56,5 @@
 More?... <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:42 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/itpp__ext_8h-source.html
===================================================================
--- doc/html/itpp__ext_8h-source.html (revision 19)
+++ doc/html/itpp__ext_8h-source.html (revision 22)
@@ -29,5 +29,5 @@
 <a name="l00015"></a>00015         Array&lt;int&gt; to_Arr(<span class="keyword">const</span> ivec &amp;indices);
 <a name="l00016"></a>00016 }
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classKalman.html
===================================================================
--- doc/html/classKalman.html (revision 19)
+++ doc/html/classKalman.html (revision 22)
@@ -20,5 +20,5 @@
   </ul>
 </div>
-<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.  
+<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.  
 <a href="#_details">More...</a>
 <p>
@@ -30,5 +30,5 @@
 <p><center><img src="classKalman__inherit__graph.png" border="0" usemap="#Kalman_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center>
 <map name="Kalman_3_01sq__T_01_4__inherit__map">
-<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>
+<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>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -44,4 +44,8 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<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)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman</a> (int dimx, int dimu, int dimy)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
 <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)" -->
 &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>
@@ -61,4 +65,44 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="Kalman::dimx" ref="39c8c403b46fa3b8c7da77cb2e3729eb" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba17b956df1e38b31fbbc299c8213b6a"></a><!-- doxytag: member="Kalman::dimy" ref="ba17b956df1e38b31fbbc299c8213b6a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0153795a1444b6968a86409c778d9ce"></a><!-- doxytag: member="Kalman::dimu" ref="b0153795a1444b6968a86409c778d9ce" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e02efe86ee91e9c74b93b425fe060b9"></a><!-- doxytag: member="Kalman::A" ref="5e02efe86ee91e9c74b93b425fe060b9" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>A</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc87704284a6c0bca13bf51f4345a50a"></a><!-- doxytag: member="Kalman::B" ref="dc87704284a6c0bca13bf51f4345a50a" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86a805cd6515872d1132ad0d6eb5dc13"></a><!-- doxytag: member="Kalman::C" ref="86a805cd6515872d1132ad0d6eb5dc13" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>C</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d69f774ba3335c970c1c5b1d182f4dd1"></a><!-- doxytag: member="Kalman::D" ref="d69f774ba3335c970c1c5b1d182f4dd1" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>D</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d171dc0e0ab111c56a70f98b97b3ec"></a><!-- doxytag: member="Kalman::R" ref="11d171dc0e0ab111c56a70f98b97b3ec" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>R</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b69015c800eb93f3ee49da23a6f55d9"></a><!-- doxytag: member="Kalman::Q" ref="9b69015c800eb93f3ee49da23a6f55d9" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>Q</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="Kalman::_K" ref="d422f51467c7a06174af2476d2826132" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>_K</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30b7461989185d3d02cf42b8e2a37649"></a><!-- doxytag: member="Kalman::_yp" ref="30b7461989185d3d02cf42b8e2a37649" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="477dca07d91ea1a1f41d51bb0229934f"></a><!-- doxytag: member="Kalman::_Ry" ref="477dca07d91ea1a1f41d51bb0229934f" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15f1a793210750a7e4642fcd948b24c5"></a><!-- doxytag: member="Kalman::_iRy" ref="15f1a793210750a7e4642fcd948b24c5" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
+
 <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
 <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)" -->
@@ -70,7 +114,7 @@
  class Kalman&lt; sq_T &gt;</h3>
 
-<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>
+<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>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libPF_8h.html
===================================================================
--- doc/html/libPF_8h.html (revision 19)
+++ doc/html/libPF_8h.html (revision 22)
@@ -52,5 +52,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-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;
+Using 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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classPF.html
===================================================================
--- doc/html/classPF.html (revision 19)
+++ doc/html/classPF.html (revision 22)
@@ -112,5 +112,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classfnc.html
===================================================================
--- doc/html/classfnc.html (revision 19)
+++ doc/html/classfnc.html (revision 22)
@@ -20,5 +20,5 @@
   </ul>
 </div>
-<h1>fnc Class Reference</h1><!-- doxytag: class="fnc" -->Class representing function of variables.  
+<h1>fnc Class Reference</h1><!-- doxytag: class="fnc" -->Class representing function $f(x)$ of variable $x$ represented by <code>rv</code>.  
 <a href="#_details">More...</a>
 <p>
@@ -29,11 +29,6 @@
 <div class="dynsection">
 <p><center><img src="classfnc__inherit__graph.png" border="0" usemap="#fnc__inherit__map" alt="Inheritance graph"></center>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-<div class="dynheader">
-Collaboration diagram for fnc:</div>
-<div class="dynsection">
-<p><center><img src="classfnc__coll__graph.png" border="0" usemap="#fnc__coll__map" alt="Collaboration graph"></center>
-<map name="fnc__coll__map">
-<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>
+<map name="fnc__inherit__map">
+<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>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -41,9 +36,18 @@
 <a href="classfnc-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<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)" -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a> (const vec &amp;cond)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function evaluates numerical value of $f(x)$ at $x=cond$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="fnc::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-Class representing function of variables. <hr>The documentation for this class was generated from the following file:<ul>
+Class 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>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classenorm-members.html
===================================================================
--- doc/html/classenorm-members.html (revision 19)
+++ doc/html/classenorm-members.html (revision 22)
@@ -22,12 +22,14 @@
 <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>
   <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>
+  <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>
   <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>
   <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>
-  <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>
+  <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>
   <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>
   <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>
   <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>
-  <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:43 2008 for mixpp by&nbsp;
+  <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>
+  <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>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classKalmanFull-members.html
===================================================================
--- doc/html/classKalmanFull-members.html (revision 19)
+++ doc/html/classKalmanFull-members.html (revision 22)
@@ -23,4 +23,5 @@
   <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>
   <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>
+  <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>
   <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>
   <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>
@@ -28,5 +29,5 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:46 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classepdf.html
===================================================================
--- doc/html/classepdf.html (revision 19)
+++ doc/html/classepdf.html (revision 22)
@@ -30,5 +30,5 @@
 <p><center><img src="classepdf__inherit__graph.png" border="0" usemap="#epdf__inherit__map" alt="Inheritance graph"></center>
 <map name="epdf__inherit__map">
-<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>
+<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>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -48,6 +48,7 @@
 <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>
 <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)" -->
-virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><b>eval</b> (const vec &amp;val)</td></tr>
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a> (const vec &amp;val)</td></tr>
 
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -71,5 +72,5 @@
 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>. 
 <p>
-Returns a sample from the density, $x  epdf(rv)$ 
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
 <p>Implemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>.</p>
 
@@ -78,5 +79,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/functions.html
===================================================================
--- doc/html/functions.html (revision 19)
+++ doc/html/functions.html (revision 22)
@@ -30,10 +30,13 @@
 <div class="tabs">
   <ul>
+    <li><a href="#index__"><span>_</span></a></li>
     <li><a href="#index_a"><span>a</span></a></li>
     <li><a href="#index_b"><span>b</span></a></li>
     <li><a href="#index_c"><span>c</span></a></li>
     <li><a href="#index_d"><span>d</span></a></li>
+    <li><a href="#index_e"><span>e</span></a></li>
     <li><a href="#index_f"><span>f</span></a></li>
     <li><a href="#index_g"><span>g</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
     <li><a href="#index_k"><span>k</span></a></li>
     <li><a href="#index_l"><span>l</span></a></li>
@@ -53,4 +56,12 @@
 Here is a list of all documented class members with links to the class documentation for each member:
 <p>
+<h3><a class="anchor" name="index__">- _ -</a></h3><ul>
+<li>_dimu()
+: <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a>
+<li>_dimx()
+: <a class="el" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">diffbifn</a>
+<li>_dimy()
+: <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
+</ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>add()
@@ -60,24 +71,54 @@
 <li>bayes()
 : <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>
 , <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
 , <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
-, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</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>
+<li>bilinfn()
+: <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a>
+<li>BM()
+: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>
 </ul>
 <h3><a class="anchor" name="index_c">- c -</a></h3><ul>
 <li>clear()
 : <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a>
+, <a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">fsqmat</a>
 <li>cols()
-: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</a>
+: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a>
+<li>constfn()
+: <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a>
 <li>count()
-: <a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">RV</a>
+: <a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">RV</a>
 </ul>
 <h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>dfdu_cond()
+: <a class="el" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">diffbifn</a>
+, <a class="el" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">bilinfn</a>
+<li>dfdx_cond()
+: <a class="el" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">bilinfn</a>
+, <a class="el" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">diffbifn</a>
+<li>diffbifn()
+: <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a>
 <li>Drv
 : <a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">DS</a>
+<li>dupdate()
+: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>EKF()
+: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a>
+<li>eval()
+: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
+, <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a>
+, <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
+, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
 </ul>
 <h3><a class="anchor" name="index_f">- f -</a></h3><ul>
 <li>find()
 : <a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">RV</a>
+<li>fsqmat()
+: <a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_g">- g -</a></h3><ul>
@@ -87,7 +128,13 @@
 , <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
 </ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>indexlist()
+: <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a>
+<li>inv()
+: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a>
+</ul>
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
 <li>Kalman()
-: <a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman&lt; sq_T &gt;</a>
+: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a>
 <li>KalmanFull()
 : <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
@@ -101,4 +148,5 @@
 <li>logdet()
 : <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
+, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_m">- m -</a></h3><ul>
@@ -108,4 +156,5 @@
 <li>mult_sym()
 : <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
+, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_o">- o -</a></h3><ul>
@@ -116,4 +165,5 @@
 <li>opupdt()
 : <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>
+, <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_p">- p -</a></h3><ul>
@@ -125,4 +175,5 @@
 <li>qform()
 : <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
+, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_r">- r -</a></h3><ul>
@@ -130,5 +181,5 @@
 : <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
 <li>rows()
-: <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a>
+: <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a>
 <li>RV()
 : <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>
@@ -142,7 +193,8 @@
 <li>sqrt_mult()
 : <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>
+, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>
 <li>step()
-: <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
-, <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
+: <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
+, <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
 <li>subselect()
 : <a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">RV</a>
@@ -155,4 +207,7 @@
 <li>to_mat()
 : <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a>
+, <a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">fsqmat</a>
+<li>tupdate()
+: <a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">enorm&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_u">- u -</a></h3><ul>
@@ -166,5 +221,5 @@
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classfsqmat-members.html
===================================================================
--- doc/html/classfsqmat-members.html (revision 19)
+++ doc/html/classfsqmat-members.html (revision 22)
@@ -21,11 +21,24 @@
 </div>
 <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>
-  <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>
-  <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>
-  <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>
-  <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>
-  <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>
-  <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp;
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/functions_rela.html
===================================================================
--- doc/html/functions_rela.html (revision 19)
+++ doc/html/functions_rela.html (revision 22)
@@ -34,5 +34,5 @@
 : <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classsqmat.html
===================================================================
--- doc/html/classsqmat.html (revision 19)
+++ doc/html/classsqmat.html (revision 22)
@@ -61,12 +61,12 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="743d3799d9e73403230c54e14ecf09ed"></a><!-- doxytag: member="sqmat::cols" ref="743d3799d9e73403230c54e14ecf09ed" args="()=0" -->
-virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">cols</a> ()=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecc2e2540f95a04f4449842588170f5b"></a><!-- doxytag: member="sqmat::cols" ref="ecc2e2540f95a04f4449842588170f5b" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a> () const </td></tr>
 
-<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>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f59664a4be09450f8c6ce3f5e5ab2dc7"></a><!-- doxytag: member="sqmat::rows" ref="f59664a4be09450f8c6ce3f5e5ab2dc7" args="()=0" -->
-virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">rows</a> ()=0</td></tr>
+<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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="071e80ced9cc3b8cbb360fa7462eb646"></a><!-- doxytag: member="sqmat::rows" ref="071e80ced9cc3b8cbb360fa7462eb646" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a> () const </td></tr>
 
-<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>
+<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>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0abed904bdc0882373ba9adba919689d"></a><!-- doxytag: member="sqmat::dim" ref="0abed904bdc0882373ba9adba919689d" args="" -->
@@ -111,4 +111,6 @@
 </dl>
 BLAS-2b operation. 
+<p>Implemented in <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a>.</p>
+
 </div>
 </div><p>
@@ -148,4 +150,6 @@
 </dl>
 
+<p>Implemented in <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>.</p>
+
 </div>
 </div><p>
@@ -170,9 +174,11 @@
 <p>
 Used e.g. in generating normal samples. 
+<p>Implemented in <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>.</p>
+
 </div>
 </div><p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classmpdf.html
===================================================================
--- doc/html/classmpdf.html (revision 19)
+++ doc/html/classmpdf.html (revision 22)
@@ -84,5 +84,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:47 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classRV.html
===================================================================
--- doc/html/classRV.html (revision 19)
+++ doc/html/classRV.html (revision 22)
@@ -42,6 +42,6 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Empty constructor will be set later. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9dcaca7b87cfb0e24a19260067d62f04"></a><!-- doxytag: member="RV::count" ref="9dcaca7b87cfb0e24a19260067d62f04" args="()" -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">count</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5c7b8bd589eef09ccdf3329a0addea0"></a><!-- doxytag: member="RV::count" ref="f5c7b8bd589eef09ccdf3329a0addea0" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">count</a> () const </td></tr>
 
 <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>
@@ -70,4 +70,8 @@
 
 <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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8470cf53be6e7bdba78ad0efbd203ee7"></a><!-- doxytag: member="RV::indexlist" ref="8470cf53be6e7bdba78ad0efbd203ee7" args="()" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">indexlist</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generate a list of indeces, i.e. which <br></td></tr>
 <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
 <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)" -->
@@ -81,5 +85,5 @@
 More?... <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a><li>work/mixpp/bdm/stat/libBM.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/annotated.html
===================================================================
--- doc/html/annotated.html (revision 19)
+++ doc/html/annotated.html (revision 22)
@@ -21,13 +21,18 @@
 </div>
 <h1>mixpp Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+  <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>
   <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>
+  <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>
+  <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>
   <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>
   <tr><td class="indexkey"><a class="el" href="classeEF.html">eEF</a></td><td class="indexvalue">General conjugate exponential family posterior density </td></tr>
-  <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>
+  <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>
+  <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>
   <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>
-  <tr><td class="indexkey"><a class="el" href="classfnc.html">fnc</a></td><td class="indexvalue">Class representing function of variables </td></tr>
+  <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>
   <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>
-  <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>
-  <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>
+  <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>
+  <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>
+  <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>
   <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>
   <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>
@@ -37,5 +42,5 @@
   <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>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classeEF-members.html
===================================================================
--- doc/html/classeEF-members.html (revision 19)
+++ doc/html/classeEF-members.html (revision 22)
@@ -22,8 +22,8 @@
 <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>
   <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>
-  <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>
+  <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>
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:42 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libEF_8h-source.html
===================================================================
--- doc/html/libEF_8h-source.html (revision 19)
+++ doc/html/libEF_8h-source.html (revision 22)
@@ -38,121 +38,124 @@
 <a name="l00040"></a>00040 
 <a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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> {
+<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> {
 <a name="l00048"></a>00048         <span class="keywordtype">int</span> dim;
 <a name="l00049"></a>00049         vec mu;
 <a name="l00050"></a>00050         sq_T R;
 <a name="l00051"></a>00051 <span class="keyword">public</span>:
-<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 );
-<a name="l00053"></a>00053         <a class="code" href="classenorm.html" title="General exponential family density.">enorm</a>();
-<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 );
-<a name="l00055"></a>00055         <span class="keywordtype">void</span> dupdate( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 );
-<a name="l00056"></a>00056         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>();
-<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);
-<a name="l00058"></a>00058         <span class="keywordtype">double</span> eval( <span class="keyword">const</span> vec &amp;val );
-<a name="l00059"></a>00059         Normal_RNG RNG;
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061 
-<a name="l00065"></a>00065 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00066"></a>00066 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF {
-<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>;
-<a name="l00068"></a>00068         mat A;
-<a name="l00069"></a>00069 <span class="keyword">public</span>:
-<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 );
-<a name="l00073"></a>00073         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
-<a name="l00074"></a>00074         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
-<a name="l00075"></a>00075         <span class="keywordtype">void</span> condition( vec &amp;cond );
-<a name="l00076"></a>00076 };
-<a name="l00077"></a>00077 
-<a name="l00079"></a>00079 
-<a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<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>();
-<a name="l00083"></a>00083         mu = mu0;
-<a name="l00084"></a>00084         R = R0;
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086 
-<a name="l00087"></a>00087 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<a name="l00089"></a>00089         <span class="comment">//</span>
-<a name="l00090"></a>00090 };
-<a name="l00091"></a>00091 
-<a name="l00092"></a>00092 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<a name="l00094"></a>00094         <span class="comment">//</span>
-<a name="l00095"></a>00095 };
-<a name="l00096"></a>00096 
-<a name="l00097"></a>00097 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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>() {
-<a name="l00099"></a>00099         vec x( dim );
-<a name="l00100"></a>00100         RNG.sample_vector( dim,x );
-<a name="l00101"></a>00101         vec smp = R.sqrt_mult( x );
+<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 );
+<a name="l00053"></a>00053         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>();
+<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 );
+<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 );
+<a name="l00058"></a>00058         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">tupdate</a>();
+<a name="l00060"></a>00060         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">dupdate</a>();
+<a name="l00061"></a>00061          
+<a name="l00062"></a>00062         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>();
+<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);
+<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 );
+<a name="l00065"></a>00065         Normal_RNG RNG;
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067 
+<a name="l00071"></a>00071 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00072"></a>00072 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF {
+<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>;
+<a name="l00074"></a>00074         mat A;
+<a name="l00075"></a>00075 <span class="keyword">public</span>:
+<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 );
+<a name="l00079"></a>00079         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
+<a name="l00080"></a>00080         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
+<a name="l00081"></a>00081         <span class="keywordtype">void</span> condition( vec &amp;cond );
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083 
+<a name="l00085"></a>00085 
+<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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 ) {
+<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>();
+<a name="l00089"></a>00089         mu = mu0;
+<a name="l00090"></a>00090         R = R0;
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092 
+<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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 ) {
+<a name="l00095"></a>00095         <span class="comment">//</span>
+<a name="l00096"></a>00096 };
+<a name="l00097"></a>00097 
+<a name="l00098"></a>00098 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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 ) {
+<a name="l00100"></a>00100         <span class="comment">//</span>
+<a name="l00101"></a>00101 };
 <a name="l00102"></a>00102 
-<a name="l00103"></a>00103         smp += mu;
-<a name="l00104"></a>00104         <span class="keywordflow">return</span> smp;
-<a name="l00105"></a>00105 };
-<a name="l00106"></a>00106 
-<a name="l00107"></a>00107 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<a name="l00109"></a>00109         mat X( dim,N );
-<a name="l00110"></a>00110         vec x( dim );
-<a name="l00111"></a>00111         vec pom;
-<a name="l00112"></a>00112         <span class="keywordtype">int</span> i;
-<a name="l00113"></a>00113         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) {
-<a name="l00114"></a>00114                 RNG.sample_vector( dim,x );
-<a name="l00115"></a>00115                 pom = R.sqrt_mult( x );
-<a name="l00116"></a>00116                 pom +=mu;
-<a name="l00117"></a>00117                 X.set_col( i, pom);
-<a name="l00118"></a>00118         }
-<a name="l00119"></a>00119         <span class="keywordflow">return</span> X;
-<a name="l00120"></a>00120 };
-<a name="l00121"></a>00121 
-<a name="l00122"></a>00122 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<a name="l00124"></a>00124         <span class="comment">//</span>
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126 
+<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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>() {
+<a name="l00105"></a>00105         vec x( dim );
+<a name="l00106"></a>00106         RNG.sample_vector( dim,x );
+<a name="l00107"></a>00107         vec smp = R.sqrt_mult( x );
+<a name="l00108"></a>00108 
+<a name="l00109"></a>00109         smp += mu;
+<a name="l00110"></a>00110         <span class="keywordflow">return</span> smp;
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112 
+<a name="l00113"></a>00113 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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 ) {
+<a name="l00115"></a>00115         mat X( dim,N );
+<a name="l00116"></a>00116         vec x( dim );
+<a name="l00117"></a>00117         vec pom;
+<a name="l00118"></a>00118         <span class="keywordtype">int</span> i;
+<a name="l00119"></a>00119         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) {
+<a name="l00120"></a>00120                 RNG.sample_vector( dim,x );
+<a name="l00121"></a>00121                 pom = R.sqrt_mult( x );
+<a name="l00122"></a>00122                 pom +=mu;
+<a name="l00123"></a>00123                 X.set_col( i, pom);
+<a name="l00124"></a>00124         }
+<a name="l00125"></a>00125         <span class="keywordflow">return</span> X;
+<a name="l00126"></a>00126 };
 <a name="l00127"></a>00127 
 <a name="l00128"></a>00128 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00129"></a>00129 <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::enorm</a>() {};
-<a name="l00130"></a>00130 
-<a name="l00131"></a>00131 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<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>();
-<a name="l00134"></a>00134         vec mu( dim );
-<a name="l00135"></a>00135 
-<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 );
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 
-<a name="l00139"></a>00139 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00140"></a>00140 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) {
-<a name="l00141"></a>00141         this-&gt;condition( cond );
-<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();
-<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 );
-<a name="l00144"></a>00144         <span class="keywordflow">return</span> smp;
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146 
-<a name="l00147"></a>00147 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00148"></a>00148 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) {
-<a name="l00149"></a>00149         <span class="keywordtype">int</span> i;
-<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>();
-<a name="l00151"></a>00151         mat Smp( dim,n );
-<a name="l00152"></a>00152         vec smp( dim );
-<a name="l00153"></a>00153         this-&gt;condition( cond );
-<a name="l00154"></a>00154         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) {
-<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();
-<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 );
-<a name="l00157"></a>00157                 Smp.set_col( i ,smp );
-<a name="l00158"></a>00158         }
-<a name="l00159"></a>00159         <span class="keywordflow">return</span> Smp;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 
-<a name="l00162"></a>00162 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00163"></a>00163 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond ) {
-<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;
-<a name="l00165"></a>00165 <span class="comment">//R is already assigned;</span>
+<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 ) {
+<a name="l00130"></a>00130         <span class="comment">//</span>
+<a name="l00131"></a>00131 };
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133 
+<a name="l00134"></a>00134 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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>() {};
+<a name="l00136"></a>00136 
+<a name="l00137"></a>00137 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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 ) {
+<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>();
+<a name="l00140"></a>00140         vec mu( dim );
+<a name="l00141"></a>00141 
+<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 );
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144 
+<a name="l00145"></a>00145 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00146"></a>00146 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) {
+<a name="l00147"></a>00147         this-&gt;condition( cond );
+<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();
+<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 );
+<a name="l00150"></a>00150         <span class="keywordflow">return</span> smp;
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152 
+<a name="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00154"></a>00154 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) {
+<a name="l00155"></a>00155         <span class="keywordtype">int</span> i;
+<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>();
+<a name="l00157"></a>00157         mat Smp( dim,n );
+<a name="l00158"></a>00158         vec smp( dim );
+<a name="l00159"></a>00159         this-&gt;condition( cond );
+<a name="l00160"></a>00160         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) {
+<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();
+<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 );
+<a name="l00163"></a>00163                 Smp.set_col( i ,smp );
+<a name="l00164"></a>00164         }
+<a name="l00165"></a>00165         <span class="keywordflow">return</span> Smp;
 <a name="l00166"></a>00166 }
 <a name="l00167"></a>00167 
-<a name="l00168"></a>00168 <span class="preprocessor">#endif //EF_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:37 2008 for mixpp by&nbsp;
+<a name="l00168"></a>00168 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00169"></a>00169 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond ) {
+<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;
+<a name="l00171"></a>00171 <span class="comment">//R is already assigned;</span>
+<a name="l00172"></a>00172 }
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174 <span class="preprocessor">#endif //EF_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libEF_8h.html
===================================================================
--- doc/html/libEF_8h.html (revision 19)
+++ doc/html/libEF_8h.html (revision 22)
@@ -39,5 +39,5 @@
 <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>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">General exponential family density.  <a href="classenorm.html#_details">More...</a><br></td></tr>
+<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>
 <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>
 
@@ -48,5 +48,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-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;
+Using 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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classKalman-members.html
===================================================================
--- doc/html/classKalman-members.html (revision 19)
+++ doc/html/classKalman-members.html (revision 22)
@@ -21,6 +21,19 @@
 </div>
 <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
   <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>
   <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
+  <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>
   <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>
   <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>
@@ -28,5 +41,7 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:45 2008 for mixpp by&nbsp;
+  <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>
+  <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>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classPF-members.html
===================================================================
--- doc/html/classPF-members.html (revision 19)
+++ doc/html/classPF-members.html (revision 22)
@@ -23,4 +23,5 @@
   <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>
   <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>
+  <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>
   <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>
   <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>
@@ -29,5 +30,5 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/functions_func.html
===================================================================
--- doc/html/functions_func.html (revision 19)
+++ doc/html/functions_func.html (revision 22)
@@ -30,9 +30,13 @@
 <div class="tabs">
   <ul>
+    <li><a href="#index__"><span>_</span></a></li>
     <li><a href="#index_a"><span>a</span></a></li>
     <li><a href="#index_b"><span>b</span></a></li>
     <li><a href="#index_c"><span>c</span></a></li>
+    <li><a href="#index_d"><span>d</span></a></li>
+    <li><a href="#index_e"><span>e</span></a></li>
     <li><a href="#index_f"><span>f</span></a></li>
     <li><a href="#index_g"><span>g</span></a></li>
+    <li><a href="#index_i"><span>i</span></a></li>
     <li><a href="#index_k"><span>k</span></a></li>
     <li><a href="#index_l"><span>l</span></a></li>
@@ -50,4 +54,12 @@
 &nbsp;
 <p>
+<h3><a class="anchor" name="index__">- _ -</a></h3><ul>
+<li>_dimu()
+: <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a>
+<li>_dimx()
+: <a class="el" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">diffbifn</a>
+<li>_dimy()
+: <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
+</ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>add()
@@ -57,20 +69,52 @@
 <li>bayes()
 : <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>
 , <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
 , <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
-, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</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>
+<li>bilinfn()
+: <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a>
+<li>BM()
+: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>
 </ul>
 <h3><a class="anchor" name="index_c">- c -</a></h3><ul>
 <li>clear()
 : <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a>
+, <a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">fsqmat</a>
 <li>cols()
-: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</a>
+: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a>
+<li>constfn()
+: <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a>
 <li>count()
-: <a class="el" href="classRV.html#9dcaca7b87cfb0e24a19260067d62f04">RV</a>
+: <a class="el" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">RV</a>
+</ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>dfdu_cond()
+: <a class="el" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">diffbifn</a>
+, <a class="el" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">bilinfn</a>
+<li>dfdx_cond()
+: <a class="el" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">bilinfn</a>
+, <a class="el" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">diffbifn</a>
+<li>diffbifn()
+: <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a>
+<li>dupdate()
+: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>EKF()
+: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a>
+<li>eval()
+: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
+, <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a>
+, <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
+, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
 </ul>
 <h3><a class="anchor" name="index_f">- f -</a></h3><ul>
 <li>find()
 : <a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">RV</a>
+<li>fsqmat()
+: <a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_g">- g -</a></h3><ul>
@@ -80,7 +124,13 @@
 , <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
 </ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>indexlist()
+: <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a>
+<li>inv()
+: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a>
+</ul>
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
 <li>Kalman()
-: <a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman&lt; sq_T &gt;</a>
+: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a>
 <li>KalmanFull()
 : <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
@@ -92,8 +142,10 @@
 <li>logdet()
 : <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
+, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_m">- m -</a></h3><ul>
 <li>mult_sym()
 : <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
+, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_o">- o -</a></h3><ul>
@@ -101,9 +153,11 @@
 : <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
 <li>opupdt()
-: <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>
+: <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a>
+, <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>
 </ul>
 <h3><a class="anchor" name="index_q">- q -</a></h3><ul>
 <li>qform()
 : <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
+, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_r">- r -</a></h3><ul>
@@ -111,5 +165,5 @@
 : <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
 <li>rows()
-: <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a>
+: <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a>
 <li>RV()
 : <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>
@@ -123,7 +177,8 @@
 <li>sqrt_mult()
 : <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>
+, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>
 <li>step()
-: <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
-, <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
+: <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
+, <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
 <li>subselect()
 : <a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">RV</a>
@@ -136,4 +191,7 @@
 <li>to_mat()
 : <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a>
+, <a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">fsqmat</a>
+<li>tupdate()
+: <a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">enorm&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_w">- w -</a></h3><ul>
@@ -143,5 +201,5 @@
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classfnc-members.html
===================================================================
--- doc/html/classfnc-members.html (revision 19)
+++ doc/html/classfnc-members.html (revision 22)
@@ -21,5 +21,7 @@
 </div>
 <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp;
+  <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>
+  <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>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classBM.html
===================================================================
--- doc/html/classBM.html (revision 19)
+++ doc/html/classBM.html (revision 22)
@@ -30,5 +30,5 @@
 <p><center><img src="classBM__inherit__graph.png" border="0" usemap="#BM__inherit__map" alt="Inheritance graph"></center>
 <map name="BM__inherit__map">
-<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>
+<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>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -37,4 +37,8 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef32a12f4f89e4000bf5390ceda762ae"></a><!-- doxytag: member="BM::BM" ref="ef32a12f4f89e4000bf5390ceda762ae" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
 <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>
 
@@ -87,5 +91,5 @@
 </dl>
 
-<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>
+<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>
 
 </div>
@@ -93,5 +97,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:41 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libKF_8h-source.html
===================================================================
--- doc/html/libKF_8h-source.html (revision 19)
+++ doc/html/libKF_8h-source.html (revision 22)
@@ -18,5 +18,5 @@
 <a name="l00015"></a>00015 <span class="preprocessor"></span>
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libBM.h"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libFN.h"</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include "../math/libDC.h"</span>
 <a name="l00019"></a>00019 
@@ -45,92 +45,154 @@
 <a name="l00049"></a>00049 
 <a name="l00053"></a>00053 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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> { 
-<a name="l00055"></a>00055         <span class="keywordtype">int</span> dimx, dimy, dimu;
-<a name="l00056"></a>00056         mat A, B, C, D;
-<a name="l00057"></a>00057         sq_T R, Q;
-<a name="l00058"></a>00058         
-<a name="l00059"></a>00059         <span class="comment">//cache</span>
-<a name="l00060"></a>00060         mat _K;
-<a name="l00061"></a>00061         vec _yp;
-<a name="l00062"></a>00062         sq_T _Ry,_iRy;
-<a name="l00063"></a>00063 <span class="keyword">public</span>:
-<a name="l00064"></a>00064         <span class="comment">//posterior </span>
-<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>;
-<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>;
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070 <span class="keyword">public</span>:
-<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 );
-<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>); 
-<a name="l00075"></a>00075 
-<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 );
-<a name="l00077"></a>00077 
-<a name="l00078"></a>00078 };
-<a name="l00079"></a>00079 
-<a name="l00081"></a>00081 
-<a name="l00082"></a>00082 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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 ) {
-<a name="l00084"></a>00084         dimx = A0.rows();
-<a name="l00085"></a>00085         dimu = B0.cols();
-<a name="l00086"></a>00086         dimy = C0.rows();
-<a name="l00087"></a>00087 
-<a name="l00088"></a>00088         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> );
-<a name="l00089"></a>00089         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> );
-<a name="l00090"></a>00090         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> );
-<a name="l00091"></a>00091         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> );
-<a name="l00092"></a>00092         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> );
-<a name="l00093"></a>00093         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> );
-<a name="l00094"></a>00094 
-<a name="l00095"></a>00095         A = A0;
-<a name="l00096"></a>00096         B = B0;
-<a name="l00097"></a>00097         C = C0;
-<a name="l00098"></a>00098         D = D0;
-<a name="l00099"></a>00099         R = R0;
-<a name="l00100"></a>00100         Q = Q0;
-<a name="l00101"></a>00101         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0;
-<a name="l00102"></a>00102         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0;
-<a name="l00103"></a>00103 
-<a name="l00104"></a>00104         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a> = 0;
-<a name="l00105"></a>00105 <span class="comment">//Fixme should we assign cache??</span>
-<a name="l00106"></a>00106         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span>
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108 
-<a name="l00109"></a>00109 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<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) {
-<a name="l00111"></a>00111         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
-<a name="l00112"></a>00112 
-<a name="l00113"></a>00113         vec u = dt.get( dimy,dimy+dimu-1 );
-<a name="l00114"></a>00114         vec y = dt.get( 0,dimy-1 );
-<a name="l00115"></a>00115         <span class="comment">//Time update</span>
-<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;
-<a name="l00117"></a>00117         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
-<a name="l00118"></a>00118         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A );
-<a name="l00119"></a>00119         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
-<a name="l00120"></a>00120 
-<a name="l00121"></a>00121         <span class="comment">//Data update</span>
-<a name="l00122"></a>00122         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
-<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>);
-<a name="l00124"></a>00124         _Ry+=R;
-<a name="l00125"></a>00125 
-<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();
-<a name="l00127"></a>00127         
-<a name="l00128"></a>00128         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span>
-<a name="l00129"></a>00129         _K = Pfull*C.transpose()*(_iRy.to_mat());
-<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>
-<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>
-<a name="l00132"></a>00132         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
-<a name="l00133"></a>00133         
-<a name="l00134"></a>00134         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
-<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 \
-<a name="l00136"></a>00136         +_Ry.logdet() +_iRy.qform(_yp));
-<a name="l00137"></a>00137         }
-<a name="l00138"></a>00138 };
+<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> { 
+<a name="l00055"></a>00055 <span class="keyword">protected</span>:
+<a name="l00056"></a>00056         <span class="keywordtype">int</span> dimx, dimy, dimu;
+<a name="l00057"></a>00057         mat A, B, C, D;
+<a name="l00058"></a>00058         sq_T R, Q;
+<a name="l00059"></a>00059         
+<a name="l00060"></a>00060         <span class="comment">//cache</span>
+<a name="l00061"></a>00061         mat _K;
+<a name="l00062"></a>00062         vec _yp;
+<a name="l00063"></a>00063         sq_T _Ry,_iRy;
+<a name="l00064"></a>00064 <span class="keyword">public</span>:
+<a name="l00065"></a>00065         <span class="comment">//posterior </span>
+<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>;
+<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>;
+<a name="l00070"></a>00070 
+<a name="l00071"></a>00071 <span class="keyword">public</span>:
+<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);
+<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 );
+<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>); 
+<a name="l00078"></a>00078 
+<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 );
+<a name="l00080"></a>00080 
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082 
+<a name="l00088"></a>00088 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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; {
+<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;
+<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;
+<a name="l00094"></a>00094 <span class="keyword">public</span>: 
+<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);
+<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>);    
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100 
+<a name="l00102"></a>00102 
+<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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){
+<a name="l00105"></a>00105         A = mat(dimx,dimx);
+<a name="l00106"></a>00106         B = mat(dimx,dimu);
+<a name="l00107"></a>00107         C = mat(dimy,dimx);
+<a name="l00108"></a>00108         D = mat(dimy,dimu);
+<a name="l00109"></a>00109 
+<a name="l00110"></a>00110         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = vec(dimx);
+<a name="l00111"></a>00111         <span class="comment">//TODO Initialize the rest?</span>
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113 
+<a name="l00114"></a>00114 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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>() {
+<a name="l00116"></a>00116         dimx = A0.rows();
+<a name="l00117"></a>00117         dimu = B0.cols();
+<a name="l00118"></a>00118         dimy = C0.rows();
+<a name="l00119"></a>00119 
+<a name="l00120"></a>00120         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> );
+<a name="l00121"></a>00121         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> );
+<a name="l00122"></a>00122         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> );
+<a name="l00123"></a>00123         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> );
+<a name="l00124"></a>00124         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> );
+<a name="l00125"></a>00125         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> );
+<a name="l00126"></a>00126 
+<a name="l00127"></a>00127         A = A0;
+<a name="l00128"></a>00128         B = B0;
+<a name="l00129"></a>00129         C = C0;
+<a name="l00130"></a>00130         D = D0;
+<a name="l00131"></a>00131         R = R0;
+<a name="l00132"></a>00132         Q = Q0;
+<a name="l00133"></a>00133         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0;
+<a name="l00134"></a>00134         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0;
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 <span class="comment">//Fixme should we assign cache??</span>
+<a name="l00137"></a>00137         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span>
+<a name="l00138"></a>00138 }
 <a name="l00139"></a>00139 
-<a name="l00140"></a>00140 <span class="comment">//extern template class Kalman&lt;ldmat&gt;; </span>
-<a name="l00141"></a>00141 
-<a name="l00142"></a>00142 
-<a name="l00143"></a>00143 <span class="preprocessor">#endif // KF_H</span>
-<a name="l00144"></a>00144 <span class="preprocessor"></span>
-<a name="l00145"></a>00145 
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp;
+<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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) {
+<a name="l00142"></a>00142         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00143"></a>00143 
+<a name="l00144"></a>00144         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00145"></a>00145         vec y = dt.get( 0,dimy-1 );
+<a name="l00146"></a>00146         <span class="comment">//Time update</span>
+<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;
+<a name="l00148"></a>00148         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<a name="l00149"></a>00149         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A );
+<a name="l00150"></a>00150         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152         <span class="comment">//Data update</span>
+<a name="l00153"></a>00153         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<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>);
+<a name="l00155"></a>00155         _Ry+=R;
+<a name="l00156"></a>00156 
+<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();
+<a name="l00158"></a>00158         
+<a name="l00159"></a>00159         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span>
+<a name="l00160"></a>00160         _K = Pfull*C.transpose()*(_iRy.to_mat());
+<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>
+<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>
+<a name="l00163"></a>00163         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
+<a name="l00164"></a>00164         
+<a name="l00165"></a>00165         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
+<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 \
+<a name="l00167"></a>00167         +_Ry.logdet() +_iRy.qform(_yp));
+<a name="l00168"></a>00168         }
+<a name="l00169"></a>00169 };
+<a name="l00170"></a>00170 
+<a name="l00171"></a>00171 
+<a name="l00172"></a>00172 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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()) {
+<a name="l00174"></a>00174                 
+<a name="l00175"></a>00175                 <span class="comment">//initialize matrices A C, later, these will be only updated!</span>
+<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>);
+<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>);
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179 
+<a name="l00180"></a>00180 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<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) {
+<a name="l00182"></a>00182         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00183"></a>00183 
+<a name="l00184"></a>00184         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00185"></a>00185         vec y = dt.get( 0,dimy-1 );
+<a name="l00186"></a>00186         <span class="comment">//Time update</span>
+<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);
+<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>
+<a name="l00189"></a>00189         
+<a name="l00190"></a>00190         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<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 );
+<a name="l00192"></a>00192         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
+<a name="l00193"></a>00193 
+<a name="l00194"></a>00194         <span class="comment">//Data update</span>
+<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>
+<a name="l00196"></a>00196         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<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>);
+<a name="l00198"></a>00198         _Ry+=R;
+<a name="l00199"></a>00199 
+<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>();
+<a name="l00201"></a>00201         
+<a name="l00202"></a>00202         _Ry.<a class="code" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">inv</a>( _iRy ); <span class="comment">// result is in _iRy;</span>
+<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>());
+<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>
+<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>
+<a name="l00206"></a>00206         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
+<a name="l00207"></a>00207         
+<a name="l00208"></a>00208         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
+<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 \
+<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));
+<a name="l00211"></a>00211         }
+<a name="l00212"></a>00212 };
+<a name="l00213"></a>00213 
+<a name="l00214"></a>00214 
+<a name="l00215"></a>00215 <span class="preprocessor">#endif // KF_H</span>
+<a name="l00216"></a>00216 <span class="preprocessor"></span>
+<a name="l00217"></a>00217 
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classTrivialPF.html
===================================================================
--- doc/html/classTrivialPF.html (revision 19)
+++ doc/html/classTrivialPF.html (revision 22)
@@ -97,5 +97,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:49 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libKF_8h.html
===================================================================
--- doc/html/libKF_8h.html (revision 19)
+++ doc/html/libKF_8h.html (revision 22)
@@ -13,8 +13,8 @@
   </ul>
 </div>
-<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>
+<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>
 <p>
 <code>#include &lt;itpp/itbase.h&gt;</code><br>
-<code>#include &quot;<a class="el" href="libBM_8h-source.html">../stat/libBM.h</a>&quot;</code><br>
+<code>#include &quot;../stat/libFN.h&quot;</code><br>
 <code>#include &quot;<a class="el" href="libDC_8h-source.html">../math/libDC.h</a>&quot;</code><br>
 
@@ -25,5 +25,5 @@
 <p><center><img src="libKF_8h__incl.png" border="0" usemap="#work/mixpp/bdm/estim/libKF.h_map" alt=""></center>
 <map name="work/mixpp/bdm/estim/libKF.h_map">
-<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>
+<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>
 </div>
 
@@ -34,15 +34,18 @@
 <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>
 
-<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>
+<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>
 <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>
 
-<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>
+<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>
+<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>
+
+<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>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-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. 
+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. 
 <p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-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;
+Using 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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libPF_8h-source.html
===================================================================
--- doc/html/libPF_8h-source.html (revision 19)
+++ doc/html/libPF_8h-source.html (revision 22)
@@ -62,5 +62,5 @@
 <a name="l00071"></a>00071 <span class="preprocessor"></span>
 <a name="l00072"></a>00072 
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classepdf-members.html
===================================================================
--- doc/html/classepdf-members.html (revision 19)
+++ doc/html/classepdf-members.html (revision 22)
@@ -21,7 +21,7 @@
 </div>
 <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>
-  <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>
+  <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:44 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/files.html
===================================================================
--- doc/html/files.html (revision 19)
+++ doc/html/files.html (revision 22)
@@ -15,5 +15,5 @@
 <h1>mixpp File List</h1>Here is a list of all documented files with brief descriptions:<table>
   <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>
-  <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>
+  <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>
   <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>
   <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>
@@ -23,5 +23,5 @@
   <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>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:50 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:23 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classsqmat-members.html
===================================================================
--- doc/html/classsqmat-members.html (revision 19)
+++ doc/html/classsqmat-members.html (revision 22)
@@ -22,5 +22,5 @@
 <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>
   <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>
-  <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>
+  <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>
   <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>
   <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>
@@ -28,8 +28,8 @@
   <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>
   <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>
-  <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>
+  <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>
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/functions_vars.html
===================================================================
--- doc/html/functions_vars.html (revision 19)
+++ doc/html/functions_vars.html (revision 22)
@@ -44,5 +44,5 @@
 : <a class="el" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classmpdf-members.html
===================================================================
--- doc/html/classmpdf-members.html (revision 19)
+++ doc/html/classmpdf-members.html (revision 22)
@@ -23,5 +23,5 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:47 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classRV-members.html
===================================================================
--- doc/html/classRV-members.html (revision 19)
+++ doc/html/classRV-members.html (revision 22)
@@ -22,6 +22,7 @@
 <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>
   <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>
-  <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>
+  <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>
   <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>
+  <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>
   <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>
   <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>
@@ -32,5 +33,5 @@
   <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>
   <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>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:48 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/classenorm.html
===================================================================
--- doc/html/classenorm.html (revision 19)
+++ doc/html/classenorm.html (revision 22)
@@ -20,5 +20,5 @@
   </ul>
 </div>
-<h1>enorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="enorm" --><!-- doxytag: inherits="eEF" -->General exponential family density.  
+<h1>enorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="enorm" --><!-- doxytag: inherits="eEF" -->Gaussian density with positive definite (decomposed) covariance matrix.  
 <a href="#_details">More...</a>
 <p>
@@ -48,9 +48,18 @@
 
 <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)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tupdate</b> (double phi, mat &amp;vbar, double nubar)</td></tr>
+void&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>
 
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tupdate in exponential form (not really handy) <br></td></tr>
 <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)" -->
 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dupdate</b> (mat &amp;v, double nu=1.0)</td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a1a522504c7788dfd7fb733157ee39e"></a><!-- doxytag: member="enorm::tupdate" ref="2a1a522504c7788dfd7fb733157ee39e" args="()" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e">tupdate</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tupdate used in KF <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1b0faf61260de09cf63bf823add5b32"></a><!-- doxytag: member="enorm::dupdate" ref="d1b0faf61260de09cf63bf823add5b32" args="()" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">dupdate</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dupdate used in KF <br></td></tr>
 <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>
 
@@ -60,6 +69,7 @@
 
 <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)" -->
-double&nbsp;</td><td class="memItemRight" valign="bottom"><b>eval</b> (const vec &amp;val)</td></tr>
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">eval</a> (const vec &amp;val)</td></tr>
 
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
 <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4de82a0d7ba9eaf31206318ae35d0d5"></a><!-- doxytag: member="enorm::RNG" ref="a4de82a0d7ba9eaf31206318ae35d0d5" args="" -->
@@ -71,5 +81,5 @@
  class enorm&lt; sq_T &gt;</h3>
 
-General exponential family density. 
+Gaussian density with positive definite (decomposed) covariance matrix. 
 <p>
 More?... <hr><h2>Member Function Documentation</h2>
@@ -94,5 +104,5 @@
 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>. 
 <p>
-Returns a sample from the density, $x  epdf(rv)$ 
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
 <p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>.</p>
 
@@ -101,5 +111,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:43 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/index.html
===================================================================
--- doc/html/index.html (revision 19)
+++ doc/html/index.html (revision 22)
@@ -15,5 +15,5 @@
 <h1>mixpp Documentation</h1>
 <p>
-<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;
+<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;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/html/libDC_8h-source.html
===================================================================
--- doc/html/libDC_8h-source.html (revision 19)
+++ doc/html/libDC_8h-source.html (revision 22)
@@ -41,7 +41,7 @@
 <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;
 <a name="l00071"></a>00071         
-<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;
+<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;};
 <a name="l00074"></a>00074 
-<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;
+<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;};
 <a name="l00077"></a>00077 
 <a name="l00078"></a>00078 <span class="keyword">protected</span>:
@@ -50,68 +50,78 @@
 <a name="l00081"></a>00081 
 <a name="l00082"></a>00082 
-<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> {
-<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 );
-<a name="l00089"></a>00089         mat to_mat();
-<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> );
-<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> );
-<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);
-<a name="l00093"></a>00093         <span class="keywordtype">void</span> clear();
-<a name="l00094"></a>00094         
-<a name="l00095"></a>00095         
-<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);
+<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> {
+<a name="l00088"></a>00088 <span class="keyword">protected</span>:
+<a name="l00089"></a>00089 mat M;
+<a name="l00090"></a>00090 <span class="keyword">public</span>:
+<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 );
+<a name="l00092"></a>00092         mat <a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>();
+<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> );
+<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> );
+<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);
+<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>();
+<a name="l00097"></a>00097         
 <a name="l00098"></a>00098         
-<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);
-<a name="l00105"></a>00105         
-<a name="l00106"></a>00106 
-<a name="l00107"></a>00107 };
-<a name="l00108"></a>00108 
-<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> {
-<a name="l00110"></a>00110 <span class="keyword">public</span>:
-<a name="l00111"></a>00111 
-<a name="l00113"></a>00113         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
-<a name="l00115"></a>00115         ldmat( mat V );
-<a name="l00117"></a>00117         ldmat( vec D0 );
-<a name="l00118"></a>00118         ldmat ();
-<a name="l00119"></a>00119 
-<a name="l00120"></a>00120         <span class="comment">// Reimplementation of compulsory operatios</span>
+<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>
+<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);
+<a name="l00102"></a>00102         
+<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);
+<a name="l00109"></a>00109         
+<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));};
+<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));};
+<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;};
+<a name="l00113"></a>00113 
+<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>;};
+<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>;};
+<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>;};
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118 
+<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> {
+<a name="l00120"></a>00120 <span class="keyword">public</span>:
 <a name="l00121"></a>00121 
-<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 );
-<a name="l00123"></a>00123         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
-<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> );
-<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 );
-<a name="l00126"></a>00126         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>();
-<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);
-<a name="l00128"></a>00128 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
-<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>();
-<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>();
-<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>();
-<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);
-<a name="l00133"></a>00133 
-<a name="l00139"></a>00139         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv);
-<a name="l00140"></a>00140         
-<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> );
-<a name="l00147"></a>00147 
-<a name="l00156"></a>00156    <span class="keywordtype">void</span> ldform( mat &amp;A, vec &amp;D0 );
+<a name="l00123"></a>00123         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
+<a name="l00125"></a>00125         ldmat( mat V );
+<a name="l00127"></a>00127         ldmat( vec D0 );
+<a name="l00128"></a>00128         ldmat ();
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130         <span class="comment">// Reimplementation of compulsory operatios</span>
+<a name="l00131"></a>00131 
+<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 );
+<a name="l00133"></a>00133         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
+<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> );
+<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 );
+<a name="l00136"></a>00136         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>();
+<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);
+<a name="l00138"></a>00138 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
+<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>();
+<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>();
+<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>();
+<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);
+<a name="l00143"></a>00143 
+<a name="l00149"></a>00149         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv);
+<a name="l00150"></a>00150         
+<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> );
 <a name="l00157"></a>00157 
-<a name="l00158"></a>00158         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA);
-<a name="l00159"></a>00159         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA);
-<a name="l00160"></a>00160         ldmat&amp; operator *= (<span class="keywordtype">double</span> x);
-<a name="l00161"></a>00161         
-<a name="l00162"></a>00162         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq );
-<a name="l00163"></a>00163 
-<a name="l00164"></a>00164 <span class="keyword">protected</span>:
-<a name="l00165"></a>00165         vec D;
-<a name="l00166"></a>00166         mat L;
+<a name="l00166"></a>00166    <span class="keywordtype">void</span> ldform( mat &amp;A, vec &amp;D0 );
 <a name="l00167"></a>00167 
-<a name="l00168"></a>00168 };
-<a name="l00169"></a>00169 
-<a name="l00171"></a>00171 
-<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>;}
-<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>;}
-<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;}
-<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;}
-<a name="l00176"></a>00176 
-<a name="l00177"></a>00177 <span class="preprocessor">#endif // DC_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 15 18:57:36 2008 for mixpp by&nbsp;
+<a name="l00168"></a>00168         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA);
+<a name="l00169"></a>00169         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA);
+<a name="l00170"></a>00170         ldmat&amp; operator *= (<span class="keywordtype">double</span> x);
+<a name="l00171"></a>00171         
+<a name="l00172"></a>00172         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq );
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174 <span class="keyword">protected</span>:
+<a name="l00175"></a>00175         vec D;
+<a name="l00176"></a>00176         mat L;
+<a name="l00177"></a>00177 
+<a name="l00178"></a>00178 };
+<a name="l00179"></a>00179 
+<a name="l00181"></a>00181 
+<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>;}
+<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>;}
+<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;}
+<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;}
+<a name="l00186"></a>00186 
+<a name="l00187"></a>00187 <span class="preprocessor">#endif // DC_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: doc/latex/libBM_8h.tex
===================================================================
--- doc/latex/libBM_8h.tex (revision 19)
+++ doc/latex/libBM_8h.tex (revision 22)
@@ -19,5 +19,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=420pt]{libBM_8h__dep__incl}
+\includegraphics[width=361pt]{libBM_8h__dep__incl}
 \end{center}
 \end{figure}
@@ -28,5 +28,5 @@
 \begin{CompactList}\small\item\em Class representing variables, most often random variables. \item\end{CompactList}\item 
 class {\bf fnc}
-\begin{CompactList}\small\item\em Class representing function of variables. \item\end{CompactList}\item 
+\begin{CompactList}\small\item\em Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv}. \item\end{CompactList}\item 
 class {\bf BM}
 \begin{CompactList}\small\item\em Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities. \item\end{CompactList}\item 
Index: doc/latex/classfnc.tex
===================================================================
--- doc/latex/classfnc.tex (revision 19)
+++ doc/latex/classfnc.tex (revision 22)
@@ -1,5 +1,5 @@
 \section{fnc Class Reference}
 \label{classfnc}\index{fnc@{fnc}}
-Class representing function of variables.  
+Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv}.  
 
 
@@ -10,18 +10,20 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=48pt]{classfnc__inherit__graph}
+\includegraphics[width=109pt]{classfnc__inherit__graph}
 \end{center}
 \end{figure}
-Collaboration diagram for fnc:\nopagebreak
-\begin{figure}[H]
-\begin{center}
-\leavevmode
-\includegraphics[width=37pt]{classfnc__coll__graph}
-\end{center}
-\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual vec {\bf eval} (const vec \&cond)\label{classfnc_7fad2e6cb35909a165ec5a53def4a18c}
+
+\begin{CompactList}\small\item\em function evaluates numerical value of \$f(x)\$ at \$x=cond\$ \item\end{CompactList}\item 
+int {\bf \_\-dimy} () const \label{classfnc_a8891973d0ca48ce38e1886df45ca298}
+
+\begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize}
 
 
 \subsection{Detailed Description}
-Class representing function of variables. 
+Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv}. 
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: doc/latex/classepdf.tex
===================================================================
--- doc/latex/classepdf.tex (revision 19)
+++ doc/latex/classepdf.tex (revision 22)
@@ -25,7 +25,7 @@
 virtual vec {\bf sample} ()=0
 \begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
-virtual double \textbf{eval} (const vec \&val)\label{classepdf_f333ceeb88ebc37d81fcd4cea4526bfc}
+virtual double {\bf eval} (const vec \&val)\label{classepdf_f333ceeb88ebc37d81fcd4cea4526bfc}
 
-\end{CompactItemize}
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\end{CompactItemize}
 
 
@@ -41,5 +41,5 @@
 Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
 
-Returns a sample from the density, \$x  epdf(rv)\$ 
+Returns a sample from the density, $x \sim epdf(rv)$ 
 
 Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
Index: doc/latex/libEF_8h.tex
===================================================================
--- doc/latex/libEF_8h.tex (revision 19)
+++ doc/latex/libEF_8h.tex (revision 22)
@@ -23,5 +23,5 @@
 \item 
 class {\bf enorm$<$ sq\_\-T $>$}
-\begin{CompactList}\small\item\em General exponential family density. \item\end{CompactList}\item 
+\begin{CompactList}\small\item\em Gaussian density with positive definite (decomposed) covariance matrix. \item\end{CompactList}\item 
 class \textbf{mlnorm$<$ sq\_\-T $>$}
 \end{CompactItemize}
Index: doc/latex/classfsqmat.tex
===================================================================
--- doc/latex/classfsqmat.tex (revision 19)
+++ doc/latex/classfsqmat.tex (revision 22)
@@ -20,4 +20,51 @@
 \end{center}
 \end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+void {\bf opupdt} (const vec \&v, double w)
+\item 
+mat {\bf to\_\-mat} ()\label{classfsqmat_cedf4f048309056f4262c930914dfda8}
+
+\begin{CompactList}\small\item\em Conversion to full matrix. \item\end{CompactList}\item 
+void {\bf mult\_\-sym} (const mat \&C, bool trans=false)
+\begin{CompactList}\small\item\em Inplace symmetric multiplication by a SQUARE matrix \$C\$, i.e. \$V = C$\ast$V$\ast$C'\$. \item\end{CompactList}\item 
+void \textbf{mult\_\-sym} (const mat \&C, {\bf fsqmat} \&U, bool trans=false)\label{classfsqmat_ccf5ad8fb038f82e9d2201c0606b65fa}
+
+\item 
+void \textbf{inv} ({\bf fsqmat} \&Inv)\label{classfsqmat_9fa853e1ca28f2a1a1c43377e798ecb1}
+
+\item 
+void {\bf clear} ()\label{classfsqmat_cfa4c359483d2322f32d1d50050f8ac4}
+
+\begin{CompactList}\small\item\em Clearing matrix so that it corresponds to zeros. \item\end{CompactList}\item 
+{\bf fsqmat} (const mat \&M)\label{classfsqmat_1929fbc9fe375f1d67f979d0d302336f}
+
+\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
+virtual void {\bf inv} ({\bf fsqmat} $\ast$Inv)
+\begin{CompactList}\small\item\em Matrix inversion preserving the chosen form. \item\end{CompactList}\item 
+double {\bf logdet} ()\label{classfsqmat_bf212272ec195ad2706e2bf4d8e7c9b3}
+
+\begin{CompactList}\small\item\em Logarithm of a determinant. \item\end{CompactList}\item 
+double {\bf qform} (vec \&v)\label{classfsqmat_6d047b9f7a27dfc093303a13cc9b1fba}
+
+\begin{CompactList}\small\item\em Evaluates quadratic form \$x= v'$\ast$V$\ast$v\$;. \item\end{CompactList}\item 
+vec {\bf sqrt\_\-mult} (vec \&v)
+\begin{CompactList}\small\item\em Multiplies square root of \$V\$ by vector \$x\$. \item\end{CompactList}\item 
+{\bf fsqmat} \& \textbf{operator+=} (const {\bf fsqmat} \&A)\label{classfsqmat_514d1fdd8a382dbd6a774f2cf1ebd3de}
+
+\item 
+{\bf fsqmat} \& \textbf{operator-=} (const {\bf fsqmat} \&A)\label{classfsqmat_e976bc9d899961e1d2087b0630ed33b7}
+
+\item 
+{\bf fsqmat} \& \textbf{operator $\ast$=} (double x)\label{classfsqmat_8f7ce97628a50e06641281096b2af9b7}
+
+\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+mat \textbf{M}\label{classfsqmat_a7a1fcb9aae19d1e4daddfc9c22ce453}
+
+\end{CompactItemize}
 
 
@@ -27,4 +74,54 @@
 This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; 
 
+\subsection{Member Function Documentation}
+\index{fsqmat@{fsqmat}!opupdt@{opupdt}}
+\index{opupdt@{opupdt}!fsqmat@{fsqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::opupdt (const vec \& {\em v}, double {\em w})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_b36530e155667fe9f1bd58394e50c65a}
+
+
+Perfroms a rank-1 update by outer product of vectors: \$V = V + w v v'\$. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em v}]Vector forming the outer product to be added \item[{\em w}]weight of updating; can be negative\end{description}
+\end{Desc}
+BLAS-2b operation. 
+
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_b223484796661f2dadb5607a86ce0581}.\index{fsqmat@{fsqmat}!mult_sym@{mult\_\-sym}}
+\index{mult_sym@{mult\_\-sym}!fsqmat@{fsqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::mult\_\-sym (const mat \& {\em C}, bool {\em trans} = {\tt false})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_acc5d2d0a243f1de6d0106065f01f518}
+
+
+Inplace symmetric multiplication by a SQUARE matrix \$C\$, i.e. \$V = C$\ast$V$\ast$C'\$. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em C}]multiplying matrix, \item[{\em trans}]if true, product \$V = C'$\ast$V$\ast$C\$ will be computed instead; \end{description}
+\end{Desc}
+
+
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_faa3bc90be142adde9cf74f573c70157}.\index{fsqmat@{fsqmat}!inv@{inv}}
+\index{inv@{inv}!fsqmat@{fsqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void fsqmat::inv ({\bf fsqmat} $\ast$ {\em Inv})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_788423cc2679620dd6da8d2fca2e3e4d}
+
+
+Matrix inversion preserving the chosen form. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em Inv}]a space where the inverse is stored. \end{description}
+\end{Desc}
+\index{fsqmat@{fsqmat}!sqrt_mult@{sqrt\_\-mult}}
+\index{sqrt_mult@{sqrt\_\-mult}!fsqmat@{fsqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vec fsqmat::sqrt\_\-mult (vec \& {\em v})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classfsqmat_6648dd4291b809cce14e8497d0433ad3}
+
+
+Multiplies square root of \$V\$ by vector \$x\$. 
+
+Used e.g. in generating normal samples. 
+
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_b5236c8a050199e1a9d338b0da1a08d2}.
+
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item 
Index: doc/latex/classBM.tex
===================================================================
--- doc/latex/classBM.tex (revision 19)
+++ doc/latex/classBM.tex (revision 22)
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=142pt]{classBM__inherit__graph}
+\includegraphics[width=161pt]{classBM__inherit__graph}
 \end{center}
 \end{figure}
@@ -16,4 +16,7 @@
 \begin{CompactItemize}
 \item 
+{\bf BM} ()\label{classBM_ef32a12f4f89e4000bf5390ceda762ae}
+
+\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
 virtual void {\bf bayes} (const vec \&dt, bool evall=true)=0
 \begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\item 
@@ -47,5 +50,5 @@
 
 
-Implemented in {\bf KalmanFull} \doxyref{}{p.}{classKalmanFull_048b13739b94c331cda08249b278552b}, {\bf Kalman$<$ sq\_\-T $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}, {\bf PF} \doxyref{}{p.}{classPF_eb06bd7d4325f22f54233967295793b9}, and {\bf TrivialPF} \doxyref{}{p.}{classTrivialPF_77a92bf054d763f806d27fc37a058389}.
+Implemented in {\bf KalmanFull} \doxyref{}{p.}{classKalmanFull_048b13739b94c331cda08249b278552b}, {\bf Kalman$<$ sq\_\-T $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}, {\bf EKF$<$ sq\_\-T $>$} \doxyref{}{p.}{classEKF_fb0a08463f14e5584344ea2df99fe747}, {\bf PF} \doxyref{}{p.}{classPF_eb06bd7d4325f22f54233967295793b9}, {\bf TrivialPF} \doxyref{}{p.}{classTrivialPF_77a92bf054d763f806d27fc37a058389}, and {\bf Kalman$<$ fsqmat $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}.
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: doc/latex/libKF_8h.tex
===================================================================
--- doc/latex/libKF_8h.tex (revision 19)
+++ doc/latex/libKF_8h.tex (revision 22)
@@ -4,5 +4,5 @@
 
 {\tt \#include $<$itpp/itbase.h$>$}\par
-{\tt \#include \char`\"{}../stat/libBM.h\char`\"{}}\par
+{\tt \#include \char`\"{}../stat/libFN.h\char`\"{}}\par
 {\tt \#include \char`\"{}../math/libDC.h\char`\"{}}\par
 
@@ -12,5 +12,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=135pt]{libKF_8h__incl}
+\includegraphics[width=134pt]{libKF_8h__incl}
 \end{center}
 \end{figure}
@@ -21,5 +21,7 @@
 \begin{CompactList}\small\item\em Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! \item\end{CompactList}\item 
 class {\bf Kalman$<$ sq\_\-T $>$}
-\begin{CompactList}\small\item\em \doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em \doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form. \item\end{CompactList}\item 
+class {\bf EKF$<$ sq\_\-T $>$}
+\begin{CompactList}\small\item\em Extended \doxyref{Kalman}{p.}{classKalman} Filter. \item\end{CompactList}\end{CompactItemize}
 
 
Index: doc/latex/classKalman.tex
===================================================================
--- doc/latex/classKalman.tex (revision 19)
+++ doc/latex/classKalman.tex (revision 22)
@@ -1,5 +1,5 @@
 \section{Kalman$<$ sq\_\-T $>$ Class Template Reference}
 \label{classKalman}\index{Kalman@{Kalman}}
-\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form.  
+\doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form.  
 
 
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=70pt]{classKalman__inherit__graph}
+\includegraphics[width=77pt]{classKalman__inherit__graph}
 \end{center}
 \end{figure}
@@ -23,4 +23,7 @@
 \begin{CompactItemize}
 \item 
+{\bf Kalman} (int dimx, int dimu, int dimy)\label{classKalman_96958a5ebfa966d892137987f265083a}
+
+\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
 {\bf Kalman} (mat A0, mat B0, mat C0, mat D0, sq\_\-T R0, sq\_\-T Q0, sq\_\-T P0, vec mu0)\label{classKalman_83118f4bd2ecbc70b03cfd573088ed6f}
 
@@ -38,4 +41,46 @@
 
 \begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int \textbf{dimx}\label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}
+
+\item 
+int \textbf{dimy}\label{classKalman_ba17b956df1e38b31fbbc299c8213b6a}
+
+\item 
+int \textbf{dimu}\label{classKalman_b0153795a1444b6968a86409c778d9ce}
+
+\item 
+mat \textbf{A}\label{classKalman_5e02efe86ee91e9c74b93b425fe060b9}
+
+\item 
+mat \textbf{B}\label{classKalman_dc87704284a6c0bca13bf51f4345a50a}
+
+\item 
+mat \textbf{C}\label{classKalman_86a805cd6515872d1132ad0d6eb5dc13}
+
+\item 
+mat \textbf{D}\label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}
+
+\item 
+sq\_\-T \textbf{R}\label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}
+
+\item 
+sq\_\-T \textbf{Q}\label{classKalman_9b69015c800eb93f3ee49da23a6f55d9}
+
+\item 
+mat \textbf{\_\-K}\label{classKalman_d422f51467c7a06174af2476d2826132}
+
+\item 
+vec \textbf{\_\-yp}\label{classKalman_30b7461989185d3d02cf42b8e2a37649}
+
+\item 
+sq\_\-T \textbf{\_\-Ry}\label{classKalman_477dca07d91ea1a1f41d51bb0229934f}
+
+\item 
+sq\_\-T \textbf{\_\-iRy}\label{classKalman_15f1a793210750a7e4642fcd948b24c5}
+
+\end{CompactItemize}
 \subsection*{Friends}
 \begin{CompactItemize}
@@ -49,5 +94,5 @@
 \subsubsection*{template$<$class sq\_\-T$>$ class Kalman$<$ sq\_\-T $>$}
 
-\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form. 
+\doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form. 
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: doc/latex/doxygen.sty
===================================================================
--- doc/latex/doxygen.sty (revision 19)
+++ doc/latex/doxygen.sty (revision 22)
@@ -11,6 +11,6 @@
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Fri Feb 15 18:57:36 2008 for mixpp by Doxygen }]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Feb 15 18:57:36 2008 for mixpp by Doxygen }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Feb 17 16:14:14 2008 for mixpp by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Feb 17 16:14:14 2008 for mixpp by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
Index: doc/latex/classenorm.tex
===================================================================
--- doc/latex/classenorm.tex (revision 19)
+++ doc/latex/classenorm.tex (revision 22)
@@ -1,5 +1,5 @@
 \section{enorm$<$ sq\_\-T $>$ Class Template Reference}
 \label{classenorm}\index{enorm@{enorm}}
-General exponential family density.  
+Gaussian density with positive definite (decomposed) covariance matrix.  
 
 
@@ -26,10 +26,16 @@
 
 \item 
-void \textbf{tupdate} (double phi, mat \&vbar, double nubar)\label{classenorm_5b5fd142b6b17ea334597960e3fe126a}
+void {\bf tupdate} (double phi, mat \&vbar, double nubar)\label{classenorm_5b5fd142b6b17ea334597960e3fe126a}
 
-\item 
+\begin{CompactList}\small\item\em tupdate in exponential form (not really handy) \item\end{CompactList}\item 
 void \textbf{dupdate} (mat \&v, double nu=1.0)\label{classenorm_5bf185e31e5954fceb90ada3debd2ff2}
 
 \item 
+void {\bf tupdate} ()\label{classenorm_2a1a522504c7788dfd7fb733157ee39e}
+
+\begin{CompactList}\small\item\em tupdate used in KF \item\end{CompactList}\item 
+double {\bf dupdate} ()\label{classenorm_d1b0faf61260de09cf63bf823add5b32}
+
+\begin{CompactList}\small\item\em dupdate used in KF \item\end{CompactList}\item 
 vec {\bf sample} ()
 \begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
@@ -37,7 +43,7 @@
 
 \item 
-double \textbf{eval} (const vec \&val)\label{classenorm_93107f05a8e9b34b64853767200121a4}
+double {\bf eval} (const vec \&val)\label{classenorm_93107f05a8e9b34b64853767200121a4}
 
-\end{CompactItemize}
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Public Attributes}
 \begin{CompactItemize}
@@ -51,5 +57,5 @@
 \subsubsection*{template$<$class sq\_\-T$>$ class enorm$<$ sq\_\-T $>$}
 
-General exponential family density. 
+Gaussian density with positive definite (decomposed) covariance matrix. 
 
 More?... 
@@ -63,5 +69,5 @@
 Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
 
-Returns a sample from the density, \$x  epdf(rv)\$ 
+Returns a sample from the density, $x \sim epdf(rv)$ 
 
 Implements {\bf epdf} \doxyref{}{p.}{classepdf_7f74d871d50b9ff360f1b3879092a9fa}.
Index: doc/latex/refman.tex
===================================================================
--- doc/latex/refman.tex (revision 19)
+++ doc/latex/refman.tex (revision 22)
@@ -21,5 +21,5 @@
 {\large Generated by Doxygen 1.5.3}\\
 \vspace*{0.5cm}
-{\small Fri Feb 15 18:57:36 2008}\\
+{\small Sun Feb 17 16:14:14 2008}\\
 \end{center}
 \end{titlepage}
@@ -36,7 +36,11 @@
 \input{files}
 \chapter{mixpp Class Documentation}
-\input{classBM}
+\input{classbilinfn}
+\include{classBM}
+\include{classconstfn}
+\include{classdiffbifn}
 \include{classDS}
 \include{classeEF}
+\include{classEKF}
 \include{classenorm}
 \include{classepdf}
@@ -45,4 +49,5 @@
 \include{classKalman}
 \include{classKalmanFull}
+\include{classlinfn}
 \include{classMemDS}
 \include{classmpdf}
Index: doc/latex/classsqmat.tex
===================================================================
--- doc/latex/classsqmat.tex (revision 19)
+++ doc/latex/classsqmat.tex (revision 22)
@@ -34,10 +34,10 @@
 
 \begin{CompactList}\small\item\em Clearing matrix so that it corresponds to zeros. \item\end{CompactList}\item 
-virtual int {\bf cols} ()=0\label{classsqmat_743d3799d9e73403230c54e14ecf09ed}
+int {\bf cols} () const \label{classsqmat_ecc2e2540f95a04f4449842588170f5b}
 
-\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_743d3799d9e73403230c54e14ecf09ed}. \item\end{CompactList}\item 
-virtual int {\bf rows} ()=0\label{classsqmat_f59664a4be09450f8c6ce3f5e5ab2dc7}
+\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_ecc2e2540f95a04f4449842588170f5b}. \item\end{CompactList}\item 
+int {\bf rows} () const \label{classsqmat_071e80ced9cc3b8cbb360fa7462eb646}
 
-\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_743d3799d9e73403230c54e14ecf09ed}. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_ecc2e2540f95a04f4449842588170f5b}. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
@@ -64,5 +64,7 @@
 \item[{\em v}]Vector forming the outer product to be added \item[{\em w}]weight of updating; can be negative\end{description}
 \end{Desc}
-BLAS-2b operation. \index{sqmat@{sqmat}!mult_sym@{mult\_\-sym}}
+BLAS-2b operation. 
+
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_b36530e155667fe9f1bd58394e50c65a}.\index{sqmat@{sqmat}!mult_sym@{mult\_\-sym}}
 \index{mult_sym@{mult\_\-sym}!sqmat@{sqmat}}
 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sqmat::mult\_\-sym (const mat \& {\em C}, bool {\em trans} = {\tt true})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_faa3bc90be142adde9cf74f573c70157}
@@ -76,5 +78,7 @@
 \item[{\em C}]multiplying matrix, \item[{\em trans}]if true, product \$V = C'$\ast$V$\ast$C\$ will be computed instead; \end{description}
 \end{Desc}
-\index{sqmat@{sqmat}!sqrt_mult@{sqrt\_\-mult}}
+
+
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_acc5d2d0a243f1de6d0106065f01f518}.\index{sqmat@{sqmat}!sqrt_mult@{sqrt\_\-mult}}
 \index{sqrt_mult@{sqrt\_\-mult}!sqmat@{sqmat}}
 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec sqmat::sqrt\_\-mult (vec \& {\em v})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_b5236c8a050199e1a9d338b0da1a08d2}
@@ -85,4 +89,6 @@
 Used e.g. in generating normal samples. 
 
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_6648dd4291b809cce14e8497d0433ad3}.
+
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item 
Index: doc/latex/annotated.tex
===================================================================
--- doc/latex/annotated.tex (revision 19)
+++ doc/latex/annotated.tex (revision 22)
@@ -1,13 +1,18 @@
 \section{mixpp Class List}
 Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{{\bf bilinfn} (Class representing function \$f(x,u) = Ax+Bu\$ )}{\pageref{classbilinfn}}{}
 \item\contentsline{section}{{\bf BM} (Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities )}{\pageref{classBM}}{}
+\item\contentsline{section}{{\bf constfn} (Class representing function \$f(x) = a\$, here rv is empty )}{\pageref{classconstfn}}{}
+\item\contentsline{section}{{\bf diffbifn} (Class representing a differentiable function of two variables \$f(x,u)\$ )}{\pageref{classdiffbifn}}{}
 \item\contentsline{section}{{\bf DS} (Abstract class for discrete-time sources of data )}{\pageref{classDS}}{}
 \item\contentsline{section}{{\bf eEF} (General conjugate exponential family posterior density )}{\pageref{classeEF}}{}
-\item\contentsline{section}{{\bf enorm$<$ sq\_\-T $>$} (General exponential family density )}{\pageref{classenorm}}{}
+\item\contentsline{section}{{\bf EKF$<$ sq\_\-T $>$} (Extended \doxyref{Kalman}{p.}{classKalman} Filter )}{\pageref{classEKF}}{}
+\item\contentsline{section}{{\bf enorm$<$ sq\_\-T $>$} (Gaussian density with positive definite (decomposed) covariance matrix )}{\pageref{classenorm}}{}
 \item\contentsline{section}{{\bf epdf} (Probability density function with numerical statistics, e.g. posterior density )}{\pageref{classepdf}}{}
-\item\contentsline{section}{{\bf fnc} (Class representing function of variables )}{\pageref{classfnc}}{}
+\item\contentsline{section}{{\bf fnc} (Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv} )}{\pageref{classfnc}}{}
 \item\contentsline{section}{{\bf fsqmat} (Fake \doxyref{sqmat}{p.}{classsqmat}. This class maps \doxyref{sqmat}{p.}{classsqmat} operations to operations on full matrix )}{\pageref{classfsqmat}}{}
-\item\contentsline{section}{{\bf Kalman$<$ sq\_\-T $>$} (\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form )}{\pageref{classKalman}}{}
+\item\contentsline{section}{{\bf Kalman$<$ sq\_\-T $>$} (\doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form )}{\pageref{classKalman}}{}
 \item\contentsline{section}{{\bf KalmanFull} (Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! )}{\pageref{classKalmanFull}}{}
+\item\contentsline{section}{{\bf linfn} (Class representing function \$f(x) = Ax+B\$ )}{\pageref{classlinfn}}{}
 \item\contentsline{section}{{\bf MemDS} (Class representing off-line data stored in memory )}{\pageref{classMemDS}}{}
 \item\contentsline{section}{{\bf mpdf} (Conditional probability density, e.g. modeling some dependencies )}{\pageref{classmpdf}}{}
Index: doc/latex/classRV.tex
===================================================================
--- doc/latex/classRV.tex (revision 19)
+++ doc/latex/classRV.tex (revision 22)
@@ -18,5 +18,5 @@
 
 \begin{CompactList}\small\item\em Empty constructor will be set later. \item\end{CompactList}\item 
-int {\bf count} ()\label{classRV_9dcaca7b87cfb0e24a19260067d62f04}
+int {\bf count} () const \label{classRV_f5c7b8bd589eef09ccdf3329a0addea0}
 
 \begin{CompactList}\small\item\em Return length (number of scalars) of the \doxyref{RV}{p.}{classRV}. \item\end{CompactList}\item 
@@ -38,5 +38,8 @@
 void {\bf t} (int delta)\label{classRV_e0a158d53ab9430627241f844f4c9a60}
 
-\begin{CompactList}\small\item\em Generate new {\tt \doxyref{RV}{p.}{classRV}} with {\tt time} shifted by delta. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Generate new {\tt \doxyref{RV}{p.}{classRV}} with {\tt time} shifted by delta. \item\end{CompactList}\item 
+ivec {\bf indexlist} ()\label{classRV_8470cf53be6e7bdba78ad0efbd203ee7}
+
+\begin{CompactList}\small\item\em generate a list of indeces, i.e. which \item\end{CompactList}\end{CompactItemize}
 \subsection*{Friends}
 \begin{CompactItemize}
Index: doc/latex/hierarchy.tex
===================================================================
--- doc/latex/hierarchy.tex (revision 19)
+++ doc/latex/hierarchy.tex (revision 22)
@@ -4,4 +4,8 @@
 \begin{CompactList}
 \item \contentsline{section}{Kalman$<$ sq\_\-T $>$}{\pageref{classKalman}}{}
+\item \contentsline{section}{Kalman$<$ fsqmat $>$}{\pageref{classKalman}}{}
+\begin{CompactList}
+\item \contentsline{section}{EKF$<$ sq\_\-T $>$}{\pageref{classEKF}}{}
+\end{CompactList}
 \item \contentsline{section}{KalmanFull}{\pageref{classKalmanFull}}{}
 \item \contentsline{section}{PF}{\pageref{classPF}}{}
@@ -22,4 +26,12 @@
 \end{CompactList}
 \item \contentsline{section}{fnc}{\pageref{classfnc}}{}
+\begin{CompactList}
+\item \contentsline{section}{constfn}{\pageref{classconstfn}}{}
+\item \contentsline{section}{diffbifn}{\pageref{classdiffbifn}}{}
+\begin{CompactList}
+\item \contentsline{section}{bilinfn}{\pageref{classbilinfn}}{}
+\end{CompactList}
+\item \contentsline{section}{linfn}{\pageref{classlinfn}}{}
+\end{CompactList}
 \item \contentsline{section}{mpdf}{\pageref{classmpdf}}{}
 \item \contentsline{section}{RV}{\pageref{classRV}}{}
