Index: mixpp.tag
===================================================================
--- mixpp.tag (revision 7)
+++ mixpp.tag (revision 8)
@@ -15,5 +15,16 @@
     <path>/home/smidl/work/mixpp/</path>
     <filename>libDC_8h</filename>
-    <class kind="class">LD</class>
+    <class kind="class">sqmat</class>
+    <class kind="class">fsqmat</class>
+    <class kind="class">ldmat</class>
+  </compound>
+  <compound kind="file">
+    <name>libEF.h</name>
+    <path>/home/smidl/work/mixpp/</path>
+    <filename>libEF_8h</filename>
+    <class kind="class">eEF</class>
+    <class kind="class">mEF</class>
+    <class kind="class">enorm</class>
+    <class kind="class">mlnorm</class>
   </compound>
   <compound kind="file">
@@ -26,4 +37,14 @@
     <class kind="class">Kalman</class>
   </compound>
+  <compound kind="file">
+    <name>libPF.h</name>
+    <path>/home/smidl/work/mixpp/</path>
+    <filename>libPF_8h</filename>
+    <includes id="libBM_8h" name="libBM.h" local="yes" imported="no">libBM.h</includes>
+    <includes id="libDC_8h" name="libDC.h" local="yes" imported="no">libDC.h</includes>
+    <class kind="class">PF</class>
+    <class kind="class">TrivialPF</class>
+    <class kind="class">MPF</class>
+  </compound>
   <compound kind="class">
     <name>BM</name>
@@ -43,4 +64,71 @@
       <arglist>(mat Dt)</arglist>
     </member>
+    <member kind="variable">
+      <type>double</type>
+      <name>ll</name>
+      <anchorfile>classBM.html</anchorfile>
+      <anchor>5623fef6572a08c2b53b8c87b82dc979</anchor>
+      <arglist></arglist>
+    </member>
+  </compound>
+  <compound kind="class">
+    <name>eEF</name>
+    <filename>classeEF.html</filename>
+    <base>epdf</base>
+    <member kind="function" virtualness="virtual">
+      <type>virtual void</type>
+      <name>tupdate</name>
+      <anchorfile>classeEF.html</anchorfile>
+      <anchor>fd88bc35550ec8fe9281d358216d0fcf</anchor>
+      <arglist>(double phi, mat &amp;vbar, double nubar)</arglist>
+    </member>
+    <member kind="function" virtualness="virtual">
+      <type>virtual void</type>
+      <name>dupdate</name>
+      <anchorfile>classeEF.html</anchorfile>
+      <anchor>5863718c3b2fb1496dece10c5b745d5c</anchor>
+      <arglist>(mat &amp;v, double nu=1.0)</arglist>
+    </member>
+  </compound>
+  <compound kind="class">
+    <name>enorm</name>
+    <filename>classenorm.html</filename>
+    <templarg>sq_T</templarg>
+    <base>eEF</base>
+    <member kind="function">
+      <type></type>
+      <name>enorm</name>
+      <anchorfile>classenorm.html</anchorfile>
+      <anchor>183891111686898adef0f6ca292e600d</anchor>
+      <arglist>(RV &amp;rv, vec &amp;mu, sq_T &amp;R)</arglist>
+    </member>
+    <member kind="function">
+      <type>void</type>
+      <name>tupdate</name>
+      <anchorfile>classenorm.html</anchorfile>
+      <anchor>5b5fd142b6b17ea334597960e3fe126a</anchor>
+      <arglist>(double phi, mat &amp;vbar, double nubar)</arglist>
+    </member>
+    <member kind="function">
+      <type>void</type>
+      <name>dupdate</name>
+      <anchorfile>classenorm.html</anchorfile>
+      <anchor>5bf185e31e5954fceb90ada3debd2ff2</anchor>
+      <arglist>(mat &amp;v, double nu=1.0)</arglist>
+    </member>
+    <member kind="function">
+      <type>vec</type>
+      <name>sample</name>
+      <anchorfile>classenorm.html</anchorfile>
+      <anchor>6020bcd89db2c9584bd8871001bd2023</anchor>
+      <arglist>()</arglist>
+    </member>
+    <member kind="function">
+      <type>double</type>
+      <name>eval</name>
+      <anchorfile>classenorm.html</anchorfile>
+      <anchor>93107f05a8e9b34b64853767200121a4</anchor>
+      <arglist>(const vec &amp;val)</arglist>
+    </member>
   </compound>
   <compound kind="class">
@@ -49,8 +137,15 @@
     <member kind="function" virtualness="virtual">
       <type>virtual vec</type>
-      <name>moment</name>
+      <name>sample</name>
       <anchorfile>classepdf.html</anchorfile>
-      <anchor>545555f9d561555603911f7d3989611f</anchor>
-      <arglist>(const int order=1)</arglist>
+      <anchor>e6ce993603a95c2645eb86305ea51396</anchor>
+      <arglist>()</arglist>
+    </member>
+    <member kind="function" virtualness="virtual">
+      <type>virtual double</type>
+      <name>eval</name>
+      <anchorfile>classepdf.html</anchorfile>
+      <anchor>f333ceeb88ebc37d81fcd4cea4526bfc</anchor>
+      <arglist>(const vec &amp;val)</arglist>
     </member>
   </compound>
@@ -60,6 +155,12 @@
   </compound>
   <compound kind="class">
+    <name>fsqmat</name>
+    <filename>classfsqmat.html</filename>
+    <base protection="private">sqmat</base>
+  </compound>
+  <compound kind="class">
     <name>Kalman</name>
     <filename>classKalman.html</filename>
+    <templarg>sq_T</templarg>
     <base>BM</base>
     <member kind="function">
@@ -67,6 +168,6 @@
       <name>Kalman</name>
       <anchorfile>classKalman.html</anchorfile>
-      <anchor>04e31a807dae4dea4aef3f0a47ec191a</anchor>
-      <arglist>(mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0)</arglist>
+      <anchor>83118f4bd2ecbc70b03cfd573088ed6f</anchor>
+      <arglist>(mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)</arglist>
     </member>
     <member kind="function">
@@ -74,5 +175,5 @@
       <name>bayes</name>
       <anchorfile>classKalman.html</anchorfile>
-      <anchor>398ecc4378c139ef3dabdd210452fd54</anchor>
+      <anchor>e945d9205ca14acbd83ba80ea6f72b8e</anchor>
       <arglist>(const vec &amp;dt, bool evalll=true)</arglist>
     </member>
@@ -81,12 +182,12 @@
       <name>mu</name>
       <anchorfile>classKalman.html</anchorfile>
-      <anchor>950f5196f688fc0e4e58640d07b11e5d</anchor>
+      <anchor>3063a3f58a74cea672ae889971012eed</anchor>
       <arglist></arglist>
     </member>
     <member kind="variable">
-      <type>mat</type>
+      <type>sq_T</type>
       <name>P</name>
       <anchorfile>classKalman.html</anchorfile>
-      <anchor>4b09f16863a10e0fa17f5106432c6da4</anchor>
+      <anchor>188cd5ac1c9e496b1a371eb7c57c97d3</anchor>
       <arglist></arglist>
     </member>
@@ -114,6 +215,6 @@
       <name>bayes</name>
       <anchorfile>classKalmanFull.html</anchorfile>
-      <anchor>13a041cd98ff157703766be275a657bb</anchor>
-      <arglist>(const vec &amp;dt)</arglist>
+      <anchor>048b13739b94c331cda08249b278552b</anchor>
+      <arglist>(const vec &amp;dt, bool evalll=true)</arglist>
     </member>
     <member kind="variable">
@@ -129,11 +230,4 @@
       <anchorfile>classKalmanFull.html</anchorfile>
       <anchor>b75dc059e84fa8ffc076203b30f926cc</anchor>
-      <arglist></arglist>
-    </member>
-    <member kind="variable">
-      <type>double</type>
-      <name>ll</name>
-      <anchorfile>classKalmanFull.html</anchorfile>
-      <anchor>3aa4bf6128980d0627413dcf9cd07308</anchor>
       <arglist></arglist>
     </member>
@@ -150,9 +244,42 @@
     <filename>classmpdf.html</filename>
     <member kind="function" virtualness="virtual">
-      <type>virtual fnc</type>
-      <name>moment</name>
+      <type>virtual vec</type>
+      <name>samplecond</name>
       <anchorfile>classmpdf.html</anchorfile>
-      <anchor>0863640c439869e8fbbbeb2bd8ea1fc0</anchor>
-      <arglist>(const int order=1)</arglist>
+      <anchor>c20c796f8d0a201f0897299150e45a41</anchor>
+      <arglist>(vec &amp;cond, double lik)</arglist>
+    </member>
+    <member kind="function" virtualness="virtual">
+      <type>virtual void</type>
+      <name>condition</name>
+      <anchorfile>classmpdf.html</anchorfile>
+      <anchor>cfb3dffef7c03598622e414668bb0588</anchor>
+      <arglist>(vec &amp;cond)</arglist>
+    </member>
+  </compound>
+  <compound kind="class">
+    <name>PF</name>
+    <filename>classPF.html</filename>
+    <base>BM</base>
+    <member kind="function">
+      <type>ivec</type>
+      <name>resample</name>
+      <anchorfile>classPF.html</anchorfile>
+      <anchor>a0e26b2f6a5884aca49122f3e4f0cf19</anchor>
+      <arglist>(RESAMPLING_METHOD method=SYSTEMATIC)</arglist>
+    </member>
+    <member kind="variable" protection="protected">
+      <type>int</type>
+      <name>n</name>
+      <anchorfile>classPF.html</anchorfile>
+      <anchor>2c2f44ed7a4eaa42e07bdb58d503f280</anchor>
+      <arglist></arglist>
+    </member>
+    <member kind="variable" protection="protected">
+      <type>vec</type>
+      <name>w</name>
+      <anchorfile>classPF.html</anchorfile>
+      <anchor>f6bc92f7979af4513b06b161497ba868</anchor>
+      <arglist></arglist>
     </member>
   </compound>
@@ -175,4 +302,18 @@
     </member>
     <member kind="function">
+      <type></type>
+      <name>RV</name>
+      <anchorfile>classRV.html</anchorfile>
+      <anchor>6a22f5c06d6403870d4e414b1993bf9e</anchor>
+      <arglist>()</arglist>
+    </member>
+    <member kind="function">
+      <type>int</type>
+      <name>length</name>
+      <anchorfile>classRV.html</anchorfile>
+      <anchor>a764092415291a0e6452a3711749d18e</anchor>
+      <arglist>()</arglist>
+    </member>
+    <member kind="function">
       <type>ivec</type>
       <name>rvfind</name>
@@ -208,4 +349,11 @@
       <anchor>28bbcb8873bafdac317bafb7b481cc45</anchor>
       <arglist>(ivec ind)</arglist>
+    </member>
+    <member kind="function">
+      <type>void</type>
+      <name>t</name>
+      <anchorfile>classRV.html</anchorfile>
+      <anchor>e0a158d53ab9430627241f844f4c9a60</anchor>
+      <arglist>(int delta)</arglist>
     </member>
     <member kind="friend">
@@ -217,3 +365,96 @@
     </member>
   </compound>
+  <compound kind="class">
+    <name>sqmat</name>
+    <filename>classsqmat.html</filename>
+    <member kind="function" virtualness="pure">
+      <type>virtual void</type>
+      <name>opupdt</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>b223484796661f2dadb5607a86ce0581</anchor>
+      <arglist>(const vec &amp;v, double w)=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual mat</type>
+      <name>to_mat</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>9a5b6fddfeb42339e1dc9b978a2590fc</anchor>
+      <arglist>()=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual void</type>
+      <name>mult_sym</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>faa3bc90be142adde9cf74f573c70157</anchor>
+      <arglist>(const mat &amp;C, bool trans=true)=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual double</type>
+      <name>logdet</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>5c852819589f74cdaefbd648c0ce8547</anchor>
+      <arglist>()=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual double</type>
+      <name>qform</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>44e079468bc8bfccf634dc85b32ba6be</anchor>
+      <arglist>(vec &amp;v)=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual void</type>
+      <name>clear</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>6fca246f9eabbdeb8cac03030e826b5e</anchor>
+      <arglist>()=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual int</type>
+      <name>cols</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>743d3799d9e73403230c54e14ecf09ed</anchor>
+      <arglist>()=0</arglist>
+    </member>
+    <member kind="function" virtualness="pure">
+      <type>virtual int</type>
+      <name>rows</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>f59664a4be09450f8c6ce3f5e5ab2dc7</anchor>
+      <arglist>()=0</arglist>
+    </member>
+    <member kind="friend">
+      <type>friend std::ostream &amp;</type>
+      <name>operator&lt;&lt;</name>
+      <anchorfile>classsqmat.html</anchorfile>
+      <anchor>c9eb5aa871432ddb9c5a45ddbbb19eab</anchor>
+      <arglist>(std::ostream &amp;os, sqmat &amp;sq)</arglist>
+    </member>
+  </compound>
+  <compound kind="class">
+    <name>TrivialPF</name>
+    <filename>classTrivialPF.html</filename>
+    <base>PF</base>
+    <member kind="function">
+      <type></type>
+      <name>TrivialPF</name>
+      <anchorfile>classTrivialPF.html</anchorfile>
+      <anchor>e6d9e3506da221a10a517bd5712b5a84</anchor>
+      <arglist>(mpdf &amp;par, mpdf &amp;obs, mpdf &amp;prop, int n0)</arglist>
+    </member>
+    <member kind="function">
+      <type></type>
+      <name>TrivialPF</name>
+      <anchorfile>classTrivialPF.html</anchorfile>
+      <anchor>59fc4c55a2d5fbb6bc9a17a9dd9a2e13</anchor>
+      <arglist>(mpdf &amp;par, mpdf &amp;obs, int n0)</arglist>
+    </member>
+    <member kind="function">
+      <type>void</type>
+      <name>bayes</name>
+      <anchorfile>classTrivialPF.html</anchorfile>
+      <anchor>77a92bf054d763f806d27fc37a058389</anchor>
+      <arglist>(const vec &amp;dt, bool evalll)</arglist>
+    </member>
+  </compound>
 </tagfile>
