Index: /mixpp.kdevelop.filelist
===================================================================
--- /mixpp.kdevelop.filelist (revision 7)
+++ /mixpp.kdevelop.filelist (revision 8)
@@ -1,4 +1,5 @@
 # KDevelop Custom Project File List
 Makefile
+arx.cpp
 doc
 doc/latex
@@ -6,9 +7,14 @@
 itpp_ext.cpp
 itpp_ext.h
-doc
-doc/latex
-doc/latex/Makefile
 libBM.cpp
 libBM.h
 libDC.cpp
+libDC.h
+libEF.h
+libKF.cpp
+libKF.h
+libPF.cpp
+libPF.h
 test0.cpp
+testKF.cpp
+testPF.cpp
Index: /testKF.cpp
===================================================================
--- /testKF.cpp (revision 7)
+++ /testKF.cpp (revision 8)
@@ -11,36 +11,51 @@
 int main() {
 
-	mat A="1 -0.5; 1 0";
-	mat B="1;0";
-	mat C="1 0";
-	mat D="0";
-	ldmat R=ldmat("0.1");
-	ldmat Q=ldmat("0.2 0 ; 0 0.02");
-
-	ldmat P0=Q; P0*=1000.0; //increase P0
-	vec mu0="0 0";
-
-	Kalman<ldmat> KF( A,B,C,D,R,Q,P0,mu0 );
-//	cout << KF;
-
+	// Klaman filter
+	mat A, B,C,D,R,Q,P0;
+	vec mu0;
+	mat Mu0;;
+	// input from Matlab
 	it_file fin( "matlab/testKF.it" );
-	mat Dt;
+	mat Dt, Xt,Xt2;
+	int Ndat;
 
 	fin >> Name( "d" ) >> Dt;
-	int Ndat = Dt.cols();
-	mat Xt=zeros( 2,Ndat );
+	fin.seek( "A" ); 
+	fin >> A;
+	fin.seek( "B" ); 
+	fin >> B;
+	fin.seek( "C" ); 
+	fin >> C;
+	fin.seek( "D" ); 
+	fin >> D;
+	fin.seek( "R" ); 
+	fin >> R;
+	fin.seek( "Q" ); fin >> Q;
+	fin.seek( "P0" ); fin >> P0;
+	fin.seek( "mu0" ); fin >> Mu0; mu0=Mu0;
 	
+	Ndat = Dt.cols();
+	Xt=zeros( 2,Ndat );
+	Xt2=zeros( 2,Ndat );
+
+	Kalman<ldmat> KF( A,B,C,D,ldmat(R),ldmat(Q),ldmat(P0),mu0 );
+//	cout << KF;
+	KalmanFull KF2( A,B,C,D,R,Q,P0,mu0 );
 
 	Xt.set_col( 0,KF.mu );
+	Xt2.set_col( 0,KF.mu );
 	for ( int t=1;t<Ndat;t++ ) {
 		KF.bayes( Dt.get_col( t ));
+		KF2.bayes( Dt.get_col( t ));
 		Xt.set_col(t,KF.mu);
+		Xt2.set_col(t,KF2.mu);
 //		Kmu = KF.mu;
 //		cout <<  "t:" <<t<< "  " << dt<<"  "<<Kmu <<endl;
-
+		cout <<t <<endl;
 	}
 
 	it_file fou( "matlab/testKF_res.it" );
 	fou << Name("xth") << Xt;
+	fou << Name("xth2") << Xt2;
 	//Exit program:
 	return 0;
Index: /libPF.h
===================================================================
--- /libPF.h (revision 8)
+++ /libPF.h (revision 8)
@@ -0,0 +1,69 @@
+/*!
+  \file
+  \brief Bayesian Filtering using stochastic sampling (Particle Filters)
+  \author Vaclav Smidl.
+
+  -----------------------------------
+  BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+  Using IT++ for numerical operations
+  -----------------------------------
+*/
+
+#ifndef PF_H
+#define PF_H
+
+#include <itpp/itbase.h>
+#include "libBM.h"
+#include "libDC.h"
+
+using namespace itpp;
+
+enum RESAMPLING_METHOD { MULTINOMIAL = 0, DETERMINISTIC = 1, RESIDUAL = 2, SYSTEMATIC = 3 };
+
+/*!
+* \brief A Particle Filter prototype
+
+Bayesian Filtering equations hold.
+*/
+class PF : public BM { 
+protected:
+	int n; //number of particles
+	vec w; //particle weights
+	
+public:
+	//! Returns indexes of particles that should be resampled
+	ivec resample(RESAMPLING_METHOD method = SYSTEMATIC);
+	//TODO get them on the web
+};
+
+/*!
+* \brief Trivial particle filter with proposal density that is not conditioned on the data.
+
+
+*/
+
+class TrivialPF : public PF {
+	Array<vec> ptcls;
+	
+	bool is_proposal;
+	mpdf *prop;
+	mpdf *par;
+	mpdf *obs;
+	
+	public:
+	TrivialPF(mpdf &par, mpdf &obs, mpdf &prop, int n0);
+	TrivialPF(mpdf &par, mpdf &obs, int n0);
+	void bayes(const vec &dt, bool evalll);
+};
+
+class MPF : public TrivialPF {
+	Array<BM> Bms;
+	public:
+	MPF(BM &B, mpdf &prop, mpdf &obs, mpdf &par);
+	void bayes(vec &dt);	
+};
+
+#endif // KF_H
+
+
Index: /testPF.cpp
===================================================================
--- /testPF.cpp (revision 8)
+++ /testPF.cpp (revision 8)
@@ -0,0 +1,28 @@
+#include <itpp/itbase.h>
+#include "libPF.h"
+#include "libDC.h"
+#include "libEF.h"
+
+using namespace itpp;
+
+//These lines are needed for use of cout and endl
+using std::cout;
+using std::endl;
+
+int main() {
+
+	RV x("1");
+	RV xm=x; xm.t(-1);
+	RV y("2");
+	
+	mat A = "1";
+	ldmat R("1");
+	
+	mlnorm<ldmat> obs(x,xm,A,R);
+	mlnorm<ldmat> par(y,x,A,R);
+	
+	TrivialPF TPF(obs,par,10);
+	//Exit program:
+	return 0;
+
+}
Index: /libDC.cpp
===================================================================
--- /libDC.cpp (revision 7)
+++ /libDC.cpp (revision 8)
@@ -115,9 +115,9 @@
 }
 
-void ldmat::mult_qform( const mat &C, bool trans ) {
+void ldmat::mult_sym( const mat &C, bool trans ) {
 
 //TODO better
 
-	it_assert_debug( C.cols()==L.cols(), "ldmat::mult_qform wrong input argument" );
+	it_assert_debug( C.cols()==L.cols(), "ldmat::mult_sym wrong input argument" );
 	mat Ct=C;
 
@@ -128,4 +128,26 @@
 		Ct = C.transpose();
 		Ct *= this->to_mat();
+		Ct *= C;
+	}
+
+	ldmat Lnew=ldmat( Ct );
+	L = Lnew.L;
+	D = Lnew.D;
+}
+
+void ldmat::mult_sym( const mat &C, ldmat &U, bool trans ) {
+
+//TODO better
+
+//TODO input test
+
+	mat Ct=C;
+
+	if ( trans==false ) { // return C*this*C'
+		Ct *= U.to_mat();
+		Ct *= C.transpose();
+	} else {	// return C'*this*C
+		Ct = C.transpose();
+		Ct *= U.to_mat();
 		Ct *= C;
 	}
@@ -232,5 +254,6 @@
 		kD = 1.0;
 		*kr = 0.0;
-		if ( *Df < -threshold ) it_warning( "Problem in dydr: subraction of dyad results in negative definitness. Likely mistake in calling function." );
+		if ( *Df < -threshold ) {
+		it_warning( "Problem in dydr: subraction of dyad results in negative definitness. Likely mistake in calling function." );}
 		*Df = 0.0;
 	}
Index: /matlab/itsave.m
===================================================================
--- /matlab/itsave.m (revision 7)
+++ /matlab/itsave.m (revision 8)
@@ -67,6 +67,6 @@
 
   is_scalar = all(size(v) == 1); % true if scalar (for future use)
-  is_vector = (sum(size(v) > 1) <= 1); % true if a vector (or a scalar)
-  is_intbin = min(min(v == round(v))); % true if integer or binary
+  is_vector = 0;%(sum(size(v) > 1) <= 1); % true if a vector (or a scalar)
+  is_intbin = 0;%min(min(v == round(v))); % true if integer or binary
 
   if ( isreal(v) && is_intbin ) % binary or integer type
Index: /matlab/testKF.m
===================================================================
--- /matlab/testKF.m (revision 7)
+++ /matlab/testKF.m (revision 8)
@@ -11,4 +11,6 @@
 
 N =1000;
+mu0 = [0;0];
+P0 = 200*eye(2);
 
 u = ones(1,N);
@@ -24,11 +26,14 @@
 
 d=[y;u];
-itsave('testKF.it',d)
+itsave('testKF.it',d,A,B,C,D,Q,R,P0,mu0)
+save testKF
 else
 %!cd ../testKF
 
+load testKF
 % init 
-mu = [0;0];
-P = 200*eye(2);
+mu = mu0;
+P = P0;
+EP = [0;0];
 
 for t=2:N
@@ -41,4 +46,6 @@
 	K = P*C'*iRy; 
 	P = P- K*C*P; % P = P -KCP;
+	EP(:,t) = eig(P); 
+	if any(EP<0), keyboard; end
 	mu = mu + K*(y(t)-C*mu-D*u(t));
 	Mu(1:2,t)=mu;
@@ -53,4 +60,5 @@
 hold on
 plot(xth','--');
+plot(xth2','+');
 plot(Mu',':');
 end
Index: /libDC.h
===================================================================
--- /libDC.h (revision 7)
+++ /libDC.h (revision 8)
@@ -38,10 +38,11 @@
 	virtual mat to_mat() =0;
 
-	/*! \brief Inplace multiplication by a matrix $C$ from both sides, i.e. $V = C*V*C'$
+	/*! \brief Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$
 	@param C multiplying matrix,
 	@param trans if true, product $V = C'*V*C$ will be computed instead;
 	*/
-	virtual void mult_qform( const mat &C, bool trans=false ) =0;
+	virtual void mult_sym( const mat &C, bool trans=true ) =0;
 
+	
 	/*!
 	\brief Logarithm of a determinant.
@@ -80,5 +81,6 @@
 	void opupdt( const vec &v, double w );
 	mat to_mat();
-	void mult_qform( const mat &C, bool trans=false );
+	void mult_sym( const mat &C, bool trans=false );
+   void mult_sym( const mat &C, fsqmat &U, bool trans=false );
 	void inv(fsqmat &Inv);
 	void clear();
@@ -108,6 +110,5 @@
 	void opupdt( const vec &v, double w );
 	mat to_mat();
-	void mult_qform( const mat &C, bool trans=false );
-	void inv(sqmat* Inv);
+   void mult_sym( const mat &C, bool trans=false );
 	void add ( const ldmat &ld2, double w=1.0 );
 	double logdet();
@@ -124,6 +125,14 @@
 	*/
 	virtual void inv(ldmat &Inv);
+	
+	/*! \brief Symmetric multiplication of $U$ by a general matrix $C$, result of which is stored in the current class.
+
+	@param Inv a space where the inverse is stored.
+	
+	*/
+   void mult_sym( const mat &C, ldmat &U, bool trans=false );
 
 	ldmat& operator += (const ldmat &ldA);
+	ldmat& operator -= (const ldmat &ldA);
 	ldmat& operator *= (double x);
 	
@@ -137,4 +146,5 @@
 
 inline ldmat& ldmat::operator += (const ldmat &ldA)  {this->add(ldA);return *this;}
+inline ldmat& ldmat::operator -= (const ldmat &ldA)  {this->add(ldA,-1.0);return *this;}
 inline int ldmat::cols(){return L.cols();}
 inline int ldmat::rows(){return L.rows();}
Index: /doc/html/classBM-members.html
===================================================================
--- /doc/html/classBM-members.html (revision 8)
+++ /doc/html/classBM-members.html (revision 8)
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>BM Member List</h1>This is the complete list of members for <a class="el" href="classBM.html">BM</a>, including all inherited members.<p><table>
+  <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#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 Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classKalmanFull.html
===================================================================
--- /doc/html/classKalmanFull.html (revision 8)
+++ /doc/html/classKalmanFull.html (revision 8)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: KalmanFull Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </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!  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libKF_8h-source.html">libKF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for KalmanFull:</div>
+<div class="dynsection">
+
+<p><center><img src="classKalmanFull.png" usemap="#KalmanFull_map" border="0" alt=""></center>
+<map name="KalmanFull_map">
+<area href="classBM.html" alt="BM" shape="rect" coords="0,0,74,24">
+</map>
+</div>
+
+<p>
+<a href="classKalmanFull-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="7197ab6e7380790006394eabd3b97043"></a><!-- doxytag: member="KalmanFull::KalmanFull" ref="7197ab6e7380790006394eabd3b97043" args="(mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="048b13739b94c331cda08249b278552b"></a><!-- doxytag: member="KalmanFull::bayes" ref="048b13739b94c331cda08249b278552b" args="(const vec &amp;dt, bool evalll=true)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">bayes</a> (const vec &amp;dt, bool evalll=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <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="fb5aec635e2720cc5ac31bc01c18a68a"></a><!-- doxytag: member="KalmanFull::mu" ref="fb5aec635e2720cc5ac31bc01c18a68a" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">mu</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b75dc059e84fa8ffc076203b30f926cc"></a><!-- doxytag: member="KalmanFull::P" ref="b75dc059e84fa8ffc076203b30f926cc" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">P</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Variance of the posterior density. <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="86ba216243ed95bb46d80d88775d16af"></a><!-- doxytag: member="KalmanFull::operator&lt;&lt;" ref="86ba216243ed95bb46d80d88775d16af" args="(std::ostream &amp;os, const KalmanFull &amp;kf)" -->
+std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classKalmanFull.html">KalmanFull</a> &amp;kf)</td></tr>
+
+</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>
+<li>work/mixpp/<a class="el" href="libKF_8h-source.html">libKF.h</a><li>work/mixpp/libKF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/libDC_8h.html
===================================================================
--- /doc/html/libDC_8h.html (revision 8)
+++ /doc/html/libDC_8h.html (revision 8)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libDC.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libDC.h File Reference</h1>Matrices in decomposed forms (LDL', LU, UDU', etc). <a href="#_details">More...</a>
+<p>
+<code>#include &lt;itpp/itbase.h&gt;</code><br>
+
+<p>
+<a href="libDC_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html">sqmat</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual class for representation of double symmetric matrices in square-root form.  <a href="classsqmat.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="classfsqmat.html">fsqmat</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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.  <a href="classfsqmat.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>ldmat</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Matrices in decomposed forms (LDL', LU, UDU', etc). 
+<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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classTrivialPF-members.html
===================================================================
--- /doc/html/classTrivialPF-members.html (revision 8)
+++ /doc/html/classTrivialPF-members.html (revision 8)
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>TrivialPF Member List</h1>This is the complete list of members for <a class="el" href="classTrivialPF.html">TrivialPF</a>, including all inherited members.<p><table>
+  <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">PF::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#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>
+  <tr class="memlist"><td><a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">resample</a>(RESAMPLING_METHOD method=SYSTEMATIC)</td><td><a class="el" href="classPF.html">PF</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TrivialPF</b>(mpdf &amp;par, mpdf &amp;obs, mpdf &amp;prop, int n0) (defined in <a class="el" href="classTrivialPF.html">TrivialPF</a>)</td><td><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>TrivialPF</b>(mpdf &amp;par, mpdf &amp;obs, int n0) (defined in <a class="el" href="classTrivialPF.html">TrivialPF</a>)</td><td><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td></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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/hierarchy.html
===================================================================
--- /doc/html/hierarchy.html (revision 8)
+++ /doc/html/hierarchy.html (revision 8)
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Hierarchical Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mixpp Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="classBM.html">BM</a>
+<ul>
+<li><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>
+<li><a class="el" href="classKalmanFull.html">KalmanFull</a>
+<li><a class="el" href="classPF.html">PF</a>
+<ul>
+<li><a class="el" href="classTrivialPF.html">TrivialPF</a>
+</ul>
+</ul>
+<li><a class="el" href="classepdf.html">epdf</a>
+<ul>
+<li><a class="el" href="classeEF.html">eEF</a>
+<ul>
+<li><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>
+</ul>
+</ul>
+<li><a class="el" href="classfnc.html">fnc</a>
+<li><a class="el" href="classmpdf.html">mpdf</a>
+<li><a class="el" href="classRV.html">RV</a>
+<li><a class="el" href="classsqmat.html">sqmat</a>
+<ul>
+<li><a class="el" href="classfsqmat.html">fsqmat</a>
+</ul>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classfsqmat.html
===================================================================
--- /doc/html/classfsqmat.html (revision 8)
+++ /doc/html/classfsqmat.html (revision 8)
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: fsqmat Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>fsqmat Class Reference</h1><!-- doxytag: class="fsqmat" --><!-- doxytag: inherits="sqmat" -->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.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libDC_8h-source.html">libDC.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for fsqmat:</div>
+<div class="dynsection">
+
+<p><center><img src="classfsqmat.png" usemap="#fsqmat_map" border="0" alt=""></center>
+<map name="fsqmat_map">
+<area href="classsqmat.html" alt="sqmat" shape="rect" coords="0,0,47,24">
+</map>
+</div>
+
+<p>
+<a href="classfsqmat-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></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>
+<li>work/mixpp/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/libBM_8h-source.html
===================================================================
--- /doc/html/libBM_8h-source.html (revision 7)
+++ /doc/html/libBM_8h-source.html (revision 8)
@@ -33,44 +33,54 @@
 <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#e46882dec2c30b12be282d34b03417b2" title="Full constructor which is called by the others.">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#e46882dec2c30b12be282d34b03417b2" title="Full constructor which is called by the others.">RV</a> ( ivec ids );
-<a name="l00042"></a>00042         <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="l00043"></a>00043 
-<a name="l00045"></a>00045         ivec <a class="code" href="classRV.html#45b869bced40dc3fa0df584aaf8228c0" title="Find indexes of another rv in self.">rvfind</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00047"></a>00047         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#f47ab0015ebac822da3b2e00f42a8fc6" title="Add (concat) another variable to the current one.">rvadd</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00049"></a>00049         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#269023ac4d41b21c4e1f7f17db1603b9" title="Subtract another variable from the current one.">rvsubt</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00051"></a>00051         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#70a53f2bc37929bae899b0b24cda9d8e" title="Select only variables at indeces ind.">rvsubselect</a>(ivec ind);
-<a name="l00053"></a>00053         <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="l00054"></a>00054 };
-<a name="l00055"></a>00055 
-<a name="l00056"></a>00056 
-<a name="l00057"></a>00057 
-<a name="l00058"></a>00058 
-<a name="l00060"></a><a class="code" href="classfnc.html">00060</a> <span class="keyword">class </span><a class="code" href="classfnc.html" title="Class representing function of variables.">fnc</a> {
-<a name="l00061"></a>00061         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00062"></a>00062 };
+<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>00048         <span class="keywordtype">int</span> <a class="code" href="classRV.html#a764092415291a0e6452a3711749d18e" title="Return length (number of scalars) of the RV.">length</a>();
+<a name="l00050"></a>00050         ivec <a class="code" href="classRV.html#45b869bced40dc3fa0df584aaf8228c0" title="Find indexes of another rv in self.">rvfind</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
+<a name="l00052"></a>00052         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#f47ab0015ebac822da3b2e00f42a8fc6" title="Add (concat) another variable to the current one.">rvadd</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> <a class="code" href="classRV.html#269023ac4d41b21c4e1f7f17db1603b9" title="Subtract another variable from the current one.">rvsubt</a>(<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#70a53f2bc37929bae899b0b24cda9d8e" title="Select only variables at indeces ind.">rvsubselect</a>(ivec ind);
+<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#28bbcb8873bafdac317bafb7b481cc45" title="Select only variables at indeces ind.">operator()</a>(ivec ind);
+<a name="l00060"></a>00060         <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="l00061"></a>00061 };
+<a name="l00062"></a>00062 
 <a name="l00063"></a>00063 
-<a name="l00065"></a><a class="code" href="classBM.html">00065</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="l00066"></a>00066 <span class="keyword">public</span>:
-<a name="l00071"></a>00071         <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="l00073"></a>00073         <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( mat Dt );
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075 
-<a name="l00077"></a><a class="code" href="classepdf.html">00077</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="l00078"></a>00078         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00079"></a>00079 <span class="keyword">public</span>:
-<a name="l00081"></a>00081         <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#545555f9d561555603911f7d3989611f" title="Returns the required moment of the epdf.">moment</a> ( <span class="keyword">const</span> <span class="keywordtype">int</span> order = 1 );
-<a name="l00082"></a>00082 };
-<a name="l00083"></a>00083 
-<a name="l00085"></a><a class="code" href="classmpdf.html">00085</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="l00087"></a>00087         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00089"></a>00089         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
-<a name="l00090"></a>00090 <span class="keyword">public</span>:
-<a name="l00091"></a>00091 
-<a name="l00093"></a>00093         <span class="keyword">virtual</span> <a class="code" href="classfnc.html" title="Class representing function of variables.">fnc</a> <a class="code" href="classmpdf.html#0863640c439869e8fbbbeb2bd8ea1fc0" title="Returns the required moment of the epdf.">moment</a> ( <span class="keyword">const</span> <span class="keywordtype">int</span> order = 1 );
-<a name="l00094"></a>00094 };
-<a name="l00095"></a>00095 
-<a name="l00096"></a>00096 <span class="preprocessor">#endif // BM_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Jan 20 12:47:33 2008 for mixpp by&nbsp;
+<a name="l00064"></a>00064 
+<a name="l00065"></a>00065 
+<a name="l00067"></a><a class="code" href="classfnc.html">00067</a> <span class="keyword">class </span><a class="code" href="classfnc.html" title="Class representing function of variables.">fnc</a> {
+<a name="l00068"></a>00068         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070 
+<a name="l00072"></a><a class="code" href="classBM.html">00072</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="l00073"></a>00073 <span class="keyword">public</span>:
+<a name="l00075"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00075</a>         <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>;
+<a name="l00076"></a>00076 
+<a name="l00081"></a>00081         <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="l00083"></a>00083         <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( mat Dt );
+<a name="l00084"></a>00084 };
+<a name="l00085"></a>00085 
+<a name="l00087"></a><a class="code" href="classepdf.html">00087</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="l00088"></a>00088         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00089"></a>00089 <span class="keyword">public</span>:
+<a name="l00091"></a>00091 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
+<a name="l00093"></a><a class="code" href="classepdf.html#e6ce993603a95c2645eb86305ea51396">00093</a> <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#e6ce993603a95c2645eb86305ea51396" title="Returns the required moment of the epdf.">sample</a> (){};
+<a name="l00094"></a>00094         <span class="keyword">virtual</span> <span class="keywordtype">double</span> eval(<span class="keyword">const</span> vec &amp;val){};
+<a name="l00095"></a>00095 };
+<a name="l00096"></a>00096 
+<a name="l00098"></a><a class="code" href="classmpdf.html">00098</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="l00100"></a>00100         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00102"></a>00102         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
+<a name="l00103"></a>00103 <span class="keyword">public</span>:
+<a name="l00104"></a>00104 
+<a name="l00106"></a>00106 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
+<a name="l00108"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00108</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="l00109"></a>00109         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){};
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111 
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // BM_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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 7)
+++ /doc/html/libBM_8h.html (revision 8)
@@ -42,5 +42,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 Sun Jan 20 12:47:33 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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 8)
+++ /doc/html/classeEF.html (revision 8)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: eEF Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>eEF Class Reference</h1><!-- doxytag: class="eEF" --><!-- doxytag: inherits="epdf" -->General conjugate exponential family posterior density.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for eEF:</div>
+<div class="dynsection">
+
+<p><center><img src="classeEF.png" usemap="#eEF_map" border="0" alt=""></center>
+<map name="eEF_map">
+<area href="classepdf.html" alt="epdf" shape="rect" coords="0,0,97,24">
+<area href="classenorm.html" alt="enorm< sq_T >" shape="rect" coords="0,112,97,136">
+</map>
+</div>
+
+<p>
+<a href="classeEF-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="fd88bc35550ec8fe9281d358216d0fcf"></a><!-- doxytag: member="eEF::tupdate" ref="fd88bc35550ec8fe9281d358216d0fcf" args="(double phi, mat &amp;vbar, double nubar)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tupdate</b> (double phi, mat &amp;vbar, double nubar)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5863718c3b2fb1496dece10c5b745d5c"></a><!-- doxytag: member="eEF::dupdate" ref="5863718c3b2fb1496dece10c5b745d5c" args="(mat &amp;v, double nu=1.0)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dupdate</b> (mat &amp;v, double nu=1.0)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+General conjugate exponential family posterior density. 
+<p>
+More?... <hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/itpp__ext_8h-source.html
===================================================================
--- /doc/html/itpp__ext_8h-source.html (revision 8)
+++ /doc/html/itpp__ext_8h-source.html (revision 8)
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/itpp_ext.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/itpp_ext.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
+<a name="l00002"></a>00002 <span class="comment">// C++ Interface: itpp_ext</span>
+<a name="l00003"></a>00003 <span class="comment">//</span>
+<a name="l00004"></a>00004 <span class="comment">// Description: </span>
+<a name="l00005"></a>00005 <span class="comment">//</span>
+<a name="l00006"></a>00006 <span class="comment">//</span>
+<a name="l00007"></a>00007 <span class="comment">// Author: smidl &lt;smidl@utia.cas.cz&gt;, (C) 2008</span>
+<a name="l00008"></a>00008 <span class="comment">//</span>
+<a name="l00009"></a>00009 <span class="comment">// Copyright: See COPYING file that comes with this distribution</span>
+<a name="l00010"></a>00010 <span class="comment">//</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="keyword">namespace </span>itpp {
+<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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classKalman.html
===================================================================
--- /doc/html/classKalman.html (revision 8)
+++ /doc/html/classKalman.html (revision 8)
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Kalman&lt; sq_T &gt; Class Template Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </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.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libKF_8h-source.html">libKF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for Kalman&lt; sq_T &gt;:</div>
+<div class="dynsection">
+
+<p><center><img src="classKalman.png" usemap="#Kalman< sq_T >_map" border="0" alt=""></center>
+<map name="Kalman< sq_T >_map">
+<area href="classBM.html" alt="BM" shape="rect" coords="0,0,103,24">
+</map>
+</div>
+
+<p>
+<a href="classKalman-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="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>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e945d9205ca14acbd83ba80ea6f72b8e"></a><!-- doxytag: member="Kalman::bayes" ref="e945d9205ca14acbd83ba80ea6f72b8e" args="(const vec &amp;dt, bool evalll=true)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a> (const vec &amp;dt, bool evalll=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <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="3063a3f58a74cea672ae889971012eed"></a><!-- doxytag: member="Kalman::mu" ref="3063a3f58a74cea672ae889971012eed" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">mu</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="188cd5ac1c9e496b1a371eb7c57c97d3"></a><!-- doxytag: member="Kalman::P" ref="188cd5ac1c9e496b1a371eb7c57c97d3" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">P</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <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="86ba216243ed95bb46d80d88775d16af"></a><!-- doxytag: member="Kalman::operator&lt;&lt;" ref="86ba216243ed95bb46d80d88775d16af" args="(std::ostream &amp;os, const KalmanFull &amp;kf)" -->
+std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classKalmanFull.html">KalmanFull</a> &amp;kf)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class sq_T&gt;<br>
+ 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>
+<li>work/mixpp/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/libPF_8h.html
===================================================================
--- /doc/html/libPF_8h.html (revision 8)
+++ /doc/html/libPF_8h.html (revision 8)
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libPF.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libPF.h File Reference</h1>Bayesian Filtering using stochastic sampling (Particle Filters). <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">libBM.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="libDC_8h-source.html">libDC.h</a>&quot;</code><br>
+
+<p>
+<a href="libPF_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html">PF</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A Particle Filter prototype.  <a href="classPF.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="classTrivialPF.html">TrivialPF</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trivial particle filter with proposal density that is not conditioned on the data.  <a href="classTrivialPF.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>MPF</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>RESAMPLING_METHOD</b> { <b>MULTINOMIAL</b> =  0, 
+<b>DETERMINISTIC</b> =  1, 
+<b>RESIDUAL</b> =  2, 
+<b>SYSTEMATIC</b> =  3
+ }</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Bayesian Filtering using stochastic sampling (Particle Filters). 
+<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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classPF.html
===================================================================
--- /doc/html/classPF.html (revision 8)
+++ /doc/html/classPF.html (revision 8)
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: PF Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>PF Class Reference</h1><!-- doxytag: class="PF" --><!-- doxytag: inherits="BM" -->A Particle Filter prototype.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libPF_8h-source.html">libPF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for PF:</div>
+<div class="dynsection">
+
+<p><center><img src="classPF.png" usemap="#PF_map" border="0" alt=""></center>
+<map name="PF_map">
+<area href="classBM.html" alt="BM" shape="rect" coords="0,0,63,24">
+<area href="classTrivialPF.html" alt="TrivialPF" shape="rect" coords="0,112,63,136">
+</map>
+</div>
+
+<p>
+<a href="classPF-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="a0e26b2f6a5884aca49122f3e4f0cf19"></a><!-- doxytag: member="PF::resample" ref="a0e26b2f6a5884aca49122f3e4f0cf19" args="(RESAMPLING_METHOD method=SYSTEMATIC)" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">resample</a> (RESAMPLING_METHOD method=SYSTEMATIC)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns indexes of particles that should be resampled. <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="2c2f44ed7a4eaa42e07bdb58d503f280"></a><!-- doxytag: member="PF::n" ref="2c2f44ed7a4eaa42e07bdb58d503f280" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>n</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6bc92f7979af4513b06b161497ba868"></a><!-- doxytag: member="PF::w" ref="f6bc92f7979af4513b06b161497ba868" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>w</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A Particle Filter prototype. 
+<p>
+Bayesian Filtering equations hold. <hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/libPF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classfnc.html
===================================================================
--- /doc/html/classfnc.html (revision 7)
+++ /doc/html/classfnc.html (revision 8)
@@ -33,5 +33,5 @@
 Class representing function of variables. <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jan 20 12:47:34 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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 8)
+++ /doc/html/classenorm-members.html (revision 8)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<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 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#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>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 Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classKalmanFull-members.html
===================================================================
--- /doc/html/classKalmanFull-members.html (revision 8)
+++ /doc/html/classKalmanFull-members.html (revision 8)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>KalmanFull Member List</h1>This is the complete list of members for <a class="el" href="classKalmanFull.html">KalmanFull</a>, including all inherited members.<p><table>
+  <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="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>
+  <tr class="memlist"><td><a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">mu</a></td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
+  <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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classepdf.html
===================================================================
--- /doc/html/classepdf.html (revision 8)
+++ /doc/html/classepdf.html (revision 8)
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: epdf Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>epdf Class Reference</h1><!-- doxytag: class="epdf" -->Probability density function with numerical statistics, e.g. posterior density.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libBM_8h-source.html">libBM.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for epdf:</div>
+<div class="dynsection">
+
+<p><center><img src="classepdf.png" usemap="#epdf_map" border="0" alt=""></center>
+<map name="epdf_map">
+<area href="classeEF.html" alt="eEF" shape="rect" coords="0,56,97,80">
+<area href="classenorm.html" alt="enorm< sq_T >" shape="rect" coords="0,112,97,136">
+</map>
+</div>
+
+<p>
+<a href="classepdf-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">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#e6ce993603a95c2645eb86305ea51396">sample</a> ()</td></tr>
+
+<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="#e6ce993603a95c2645eb86305ea51396"></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>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Probability density function with numerical statistics, e.g. posterior density. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="e6ce993603a95c2645eb86305ea51396"></a><!-- doxytag: member="epdf::sample" ref="e6ce993603a95c2645eb86305ea51396" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual vec epdf::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+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)$ 
+<p>Reimplemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/functions.html
===================================================================
--- /doc/html/functions.html (revision 8)
+++ /doc/html/functions.html (revision 8)
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li class="current"><a href="functions.html"><span>All</span></a></li>
+    <li><a href="functions_func.html"><span>Functions</span></a></li>
+    <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="#index_b"><span>b</span></a></li>
+    <li><a href="#index_c"><span>c</span></a></li>
+    <li><a href="#index_k"><span>k</span></a></li>
+    <li><a href="#index_l"><span>l</span></a></li>
+    <li><a href="#index_m"><span>m</span></a></li>
+    <li><a href="#index_o"><span>o</span></a></li>
+    <li><a href="#index_p"><span>p</span></a></li>
+    <li><a href="#index_q"><span>q</span></a></li>
+    <li><a href="#index_r"><span>r</span></a></li>
+    <li><a href="#index_s"><span>s</span></a></li>
+    <li><a href="#index_t"><span>t</span></a></li>
+  </ul>
+</div>
+
+<p>
+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_b">- b -</a></h3><ul>
+<li>bayes()
+: <a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">BM</a>
+, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
+, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
+, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">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>
+<li>cols()
+: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</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>
+<li>KalmanFull()
+: <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
+</ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>length()
+: <a class="el" href="classRV.html#a764092415291a0e6452a3711749d18e">RV</a>
+<li>ll
+: <a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">BM</a>
+<li>logdet()
+: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
+</ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>mu
+: <a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">KalmanFull</a>
+, <a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">Kalman&lt; sq_T &gt;</a>
+<li>mult_sym()
+: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
+</ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>operator()()
+: <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+<li>operator&lt;&lt;
+: <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
+<li>opupdt()
+: <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>
+</ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>P
+: <a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">KalmanFull</a>
+, <a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">Kalman&lt; sq_T &gt;</a>
+</ul>
+<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<li>qform()
+: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
+</ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>resample()
+: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
+<li>rows()
+: <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a>
+<li>RV()
+: <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>
+<li>rvadd()
+: <a class="el" href="classRV.html#f47ab0015ebac822da3b2e00f42a8fc6">RV</a>
+<li>rvfind()
+: <a class="el" href="classRV.html#45b869bced40dc3fa0df584aaf8228c0">RV</a>
+<li>rvsubselect()
+: <a class="el" href="classRV.html#70a53f2bc37929bae899b0b24cda9d8e">RV</a>
+<li>rvsubt()
+: <a class="el" href="classRV.html#269023ac4d41b21c4e1f7f17db1603b9">RV</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>sample()
+: <a class="el" href="classepdf.html#e6ce993603a95c2645eb86305ea51396">epdf</a>
+, <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>
+<li>samplecond()
+: <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+</ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>t()
+: <a class="el" href="classRV.html#e0a158d53ab9430627241f844f4c9a60">RV</a>
+<li>to_mat()
+: <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classfsqmat-members.html
===================================================================
--- /doc/html/classfsqmat-members.html (revision 8)
+++ /doc/html/classfsqmat-members.html (revision 8)
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</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 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 bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [friend]</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>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/functions_rela.html
===================================================================
--- /doc/html/functions_rela.html (revision 8)
+++ /doc/html/functions_rela.html (revision 8)
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members - Related Functions</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="functions.html"><span>All</span></a></li>
+    <li><a href="functions_func.html"><span>Functions</span></a></li>
+    <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    <li class="current"><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>operator&lt;&lt;
+: <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classsqmat.html
===================================================================
--- /doc/html/classsqmat.html (revision 8)
+++ /doc/html/classsqmat.html (revision 8)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: sqmat Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>sqmat Class Reference</h1><!-- doxytag: class="sqmat" -->Virtual class for representation of double symmetric matrices in square-root form.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libDC_8h-source.html">libDC.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for sqmat:</div>
+<div class="dynsection">
+
+<p><center><img src="classsqmat.png" usemap="#sqmat_map" border="0" alt=""></center>
+<map name="sqmat_map">
+<area href="classfsqmat.html" alt="fsqmat" shape="rect" coords="0,56,47,80">
+</map>
+</div>
+
+<p>
+<a href="classsqmat-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">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">opupdt</a> (const vec &amp;v, double w)=0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a5b6fddfeb42339e1dc9b978a2590fc"></a><!-- doxytag: member="sqmat::to_mat" ref="9a5b6fddfeb42339e1dc9b978a2590fc" args="()=0" -->
+virtual mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">to_mat</a> ()=0</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">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">mult_sym</a> (const mat &amp;C, bool trans=true)=0</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="#faa3bc90be142adde9cf74f573c70157"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c852819589f74cdaefbd648c0ce8547"></a><!-- doxytag: member="sqmat::logdet" ref="5c852819589f74cdaefbd648c0ce8547" args="()=0" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">logdet</a> ()=0</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="44e079468bc8bfccf634dc85b32ba6be"></a><!-- doxytag: member="sqmat::qform" ref="44e079468bc8bfccf634dc85b32ba6be" args="(vec &amp;v)=0" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">qform</a> (vec &amp;v)=0</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"><a class="anchor" name="6fca246f9eabbdeb8cac03030e826b5e"></a><!-- doxytag: member="sqmat::clear" ref="6fca246f9eabbdeb8cac03030e826b5e" args="()=0" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">clear</a> ()=0</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="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="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#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols()</a>. <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="c9eb5aa871432ddb9c5a45ddbbb19eab"></a><!-- doxytag: member="sqmat::operator&lt;&lt;" ref="c9eb5aa871432ddb9c5a45ddbbb19eab" args="(std::ostream &amp;os, sqmat &amp;sq)" -->
+std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, <a class="el" href="classsqmat.html">sqmat</a> &amp;sq)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Virtual class for representation of double symmetric matrices in square-root form. 
+<p>
+All operations defined on this class should be optimized for the chosed decomposition. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="b223484796661f2dadb5607a86ce0581"></a><!-- doxytag: member="sqmat::opupdt" ref="b223484796661f2dadb5607a86ce0581" args="(const vec &amp;v, double w)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void sqmat::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> [pure 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. 
+</div>
+</div><p>
+<a class="anchor" name="faa3bc90be142adde9cf74f573c70157"></a><!-- doxytag: member="sqmat::mult_sym" ref="faa3bc90be142adde9cf74f573c70157" args="(const mat &amp;C, bool trans=true)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void sqmat::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>true</code></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [pure 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>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classmpdf.html
===================================================================
--- /doc/html/classmpdf.html (revision 8)
+++ /doc/html/classmpdf.html (revision 8)
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: mpdf Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mpdf Class Reference</h1><!-- doxytag: class="mpdf" -->Conditional probability density, e.g. modeling some dependencies.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libBM_8h-source.html">libBM.h</a>&gt;</code>
+<p>
+Inherited by mEF.
+<p>
+
+<p>
+<a href="classmpdf-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">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">samplecond</a> (vec &amp;cond, double lik)</td></tr>
+
+<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="#c20c796f8d0a201f0897299150e45a41"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfb3dffef7c03598622e414668bb0588"></a><!-- doxytag: member="mpdf::condition" ref="cfb3dffef7c03598622e414668bb0588" args="(vec &amp;cond)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>condition</b> (vec &amp;cond)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Conditional probability density, e.g. modeling some dependencies. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c20c796f8d0a201f0897299150e45a41"></a><!-- doxytag: member="mpdf::samplecond" ref="c20c796f8d0a201f0897299150e45a41" args="(vec &amp;cond, double lik)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual vec mpdf::samplecond           </td>
+          <td>(</td>
+          <td class="paramtype">vec &amp;&nbsp;</td>
+          <td class="paramname"> <em>cond</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>lik</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+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 conditioned on <code>cond</code>, $x  <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>(rv|cond)$ 
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classRV.html
===================================================================
--- /doc/html/classRV.html (revision 8)
+++ /doc/html/classRV.html (revision 8)
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: RV Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>RV Class Reference</h1><!-- doxytag: class="RV" -->Class representing variables, most often random variables.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libBM_8h-source.html">libBM.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="classRV-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="e46882dec2c30b12be282d34b03417b2"></a><!-- doxytag: member="RV::RV" ref="e46882dec2c30b12be282d34b03417b2" args="(ivec in_ids, Array&lt; std::string &gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#e46882dec2c30b12be282d34b03417b2">RV</a> (ivec in_ids, Array&lt; std::string &gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full constructor which is called by the others. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf911c3900214460ade1366b04058462"></a><!-- doxytag: member="RV::RV" ref="cf911c3900214460ade1366b04058462" args="(ivec ids)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a> (ivec ids)</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="6a22f5c06d6403870d4e414b1993bf9e"></a><!-- doxytag: member="RV::RV" ref="6a22f5c06d6403870d4e414b1993bf9e" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e">RV</a> ()</td></tr>
+
+<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="a764092415291a0e6452a3711749d18e"></a><!-- doxytag: member="RV::length" ref="a764092415291a0e6452a3711749d18e" args="()" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#a764092415291a0e6452a3711749d18e">length</a> ()</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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45b869bced40dc3fa0df584aaf8228c0"></a><!-- doxytag: member="RV::rvfind" ref="45b869bced40dc3fa0df584aaf8228c0" args="(RV rv2)" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#45b869bced40dc3fa0df584aaf8228c0">rvfind</a> (<a class="el" href="classRV.html">RV</a> rv2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find indexes of another rv in self. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f47ab0015ebac822da3b2e00f42a8fc6"></a><!-- doxytag: member="RV::rvadd" ref="f47ab0015ebac822da3b2e00f42a8fc6" args="(RV rv2)" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#f47ab0015ebac822da3b2e00f42a8fc6">rvadd</a> (<a class="el" href="classRV.html">RV</a> rv2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add (concat) another variable to the current one. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="269023ac4d41b21c4e1f7f17db1603b9"></a><!-- doxytag: member="RV::rvsubt" ref="269023ac4d41b21c4e1f7f17db1603b9" args="(RV rv2)" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#269023ac4d41b21c4e1f7f17db1603b9">rvsubt</a> (<a class="el" href="classRV.html">RV</a> rv2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract another variable from the current one. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70a53f2bc37929bae899b0b24cda9d8e"></a><!-- doxytag: member="RV::rvsubselect" ref="70a53f2bc37929bae899b0b24cda9d8e" args="(ivec ind)" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#70a53f2bc37929bae899b0b24cda9d8e">rvsubselect</a> (ivec ind)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select only variables at indeces ind. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28bbcb8873bafdac317bafb7b481cc45"></a><!-- doxytag: member="RV::operator()" ref="28bbcb8873bafdac317bafb7b481cc45" args="(ivec ind)" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">operator()</a> (ivec ind)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select only variables at indeces ind. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0a158d53ab9430627241f844f4c9a60"></a><!-- doxytag: member="RV::t" ref="e0a158d53ab9430627241f844f4c9a60" args="(int delta)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#e0a158d53ab9430627241f844f4c9a60">t</a> (int delta)</td></tr>
+
+<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 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)" -->
+std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classRV.html">RV</a> &amp;rv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Printing output e.g. for debugging. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Class representing variables, most often random variables. 
+<p>
+More?... <hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/<a class="el" href="libBM_8h-source.html">libBM.h</a><li>work/mixpp/libBM.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/annotated.html
===================================================================
--- /doc/html/annotated.html (revision 7)
+++ /doc/html/annotated.html (revision 8)
@@ -22,12 +22,18 @@
 <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="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="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="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="classKalman.html">Kalman</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)! </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="classmpdf.html">mpdf</a></td><td class="indexvalue">Conditional probability density, e.g. modeling some dependencies </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classPF.html">PF</a></td><td class="indexvalue">A Particle Filter prototype </td></tr>
   <tr><td class="indexkey"><a class="el" href="classRV.html">RV</a></td><td class="indexvalue">Class representing variables, most often random variables </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classsqmat.html">sqmat</a></td><td class="indexvalue">Virtual class for representation of double symmetric matrices in square-root form </td></tr>
+  <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 Sun Jan 20 12:47:33 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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 8)
+++ /doc/html/classeEF-members.html (revision 8)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<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#e6ce993603a95c2645eb86305ea51396">sample</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, 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 Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/libEF_8h-source.html
===================================================================
--- /doc/html/libEF_8h-source.html (revision 8)
+++ /doc/html/libEF_8h-source.html (revision 8)
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libEF.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libEF.h</h1><a href="libEF_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef EF_H</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define EF_H</span>
+<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="comment">//#include &lt;std&gt;</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="keyword">using namespace </span>itpp;
+<a name="l00020"></a>00020 
+<a name="l00026"></a><a class="code" href="classeEF.html">00026</a> <span class="keyword">class </span><a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> :<span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 <span class="keyword">public</span>:
+<a name="l00029"></a>00029         <span class="keyword">virtual</span> <span class="keywordtype">void</span> tupdate( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ){};
+<a name="l00030"></a>00030         <span class="keyword">virtual</span> <span class="keywordtype">void</span> dupdate( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 ){};
+<a name="l00031"></a>00031 };
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 <span class="keyword">class </span>mEF :<span class="keyword">public</span> <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> {
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 <span class="keyword">public</span>:
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038 
+<a name="l00044"></a>00044 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00045"></a><a class="code" href="classenorm.html">00045</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="l00046"></a>00046         vec mu;
+<a name="l00047"></a>00047         sq_T R;
+<a name="l00048"></a>00048 <span class="keyword">public</span>:
+<a name="l00049"></a>00049         <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="l00050"></a>00050         <a class="code" href="classenorm.html" title="General exponential family density.">enorm</a>();
+<a name="l00051"></a>00051         <span class="keywordtype">void</span> tupdate( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar );
+<a name="l00052"></a>00052         <span class="keywordtype">void</span> dupdate( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 );
+<a name="l00053"></a>00053         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>();
+<a name="l00054"></a>00054         <span class="keywordtype">double</span> eval( <span class="keyword">const</span> vec &amp;val );
+<a name="l00055"></a>00055 
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057 
+<a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00062"></a>00062 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF {
+<a name="l00063"></a>00063         <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="l00064"></a>00064         mat A;
+<a name="l00065"></a>00065 <span class="keyword">public</span>:
+<a name="l00067"></a>00067         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="l00069"></a>00069         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
+<a name="l00070"></a>00070         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
+<a name="l00071"></a>00071         <span class="keywordtype">void</span> condition( vec &amp;cond );
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073 
+<a name="l00075"></a>00075 
+<a name="l00076"></a>00076 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00077"></a>00077 <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="l00078"></a>00078         mu = mu0;
+<a name="l00079"></a>00079         R = R0;
+<a name="l00080"></a>00080 };
+<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>00083 <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="l00084"></a>00084         <span class="comment">//</span>
+<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;::tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) {
+<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><a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">00093</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="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>00098 <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="l00099"></a>00099         <span class="comment">//</span>
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101 
+<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>00104 <a class="code" href="classenorm.html" title="General exponential family density.">enorm&lt;sq_T&gt;::enorm</a>() {};
+<a name="l00105"></a>00105 
+<a name="l00106"></a>00106 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00107"></a>00107 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="l00108"></a>00108         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#a764092415291a0e6452a3711749d18e" title="Return length (number of scalars) of the RV.">length</a>();
+<a name="l00109"></a>00109         vec mu( dim );
+<a name="l00110"></a>00110 
+<a name="l00111"></a>00111         <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="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>00115 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) {
+<a name="l00116"></a>00116         this-&gt;condition( cond );
+<a name="l00117"></a>00117         vec smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
+<a name="l00118"></a>00118         lik = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval(smp);
+<a name="l00119"></a>00119         <span class="keywordflow">return</span> smp;
+<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 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) {
+<a name="l00124"></a>00124         <span class="keywordtype">int</span> i;
+<a name="l00125"></a>00125         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#a764092415291a0e6452a3711749d18e" title="Return length (number of scalars) of the RV.">length</a>();
+<a name="l00126"></a>00126         mat Smp( dim,n );
+<a name="l00127"></a>00127         vec smp( dim);
+<a name="l00128"></a>00128         this-&gt;condition( cond );
+<a name="l00129"></a>00129         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) {
+<a name="l00130"></a>00130                 smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
+<a name="l00131"></a>00131                 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="l00132"></a>00132                 Smp.set_col( i ,smp);
+<a name="l00133"></a>00133         }
+<a name="l00134"></a>00134         <span class="keywordflow">return</span> Smp;
+<a name="l00135"></a>00135 }
+<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 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond) {
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141 <span class="preprocessor">#endif //EF_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/libEF_8h.html
===================================================================
--- /doc/html/libEF_8h.html (revision 8)
+++ /doc/html/libEF_8h.html (revision 8)
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libEF.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libEF.h File Reference</h1>Probability distributions for Exponential Family models. <a href="#_details">More...</a>
+<p>
+<code>#include &lt;itpp/itbase.h&gt;</code><br>
+
+<p>
+<a href="libEF_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html">eEF</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">General conjugate exponential family posterior density.  <a href="classeEF.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>mEF</b></td></tr>
+
+<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="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>mlnorm&lt; sq_T &gt;</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Probability distributions for Exponential Family models. 
+<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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classKalman-members.html
===================================================================
--- /doc/html/classKalman-members.html (revision 8)
+++ /doc/html/classKalman-members.html (revision 8)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</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 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="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>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">mu</a></td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td></td></tr>
+  <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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classPF-members.html
===================================================================
--- /doc/html/classPF-members.html (revision 8)
+++ /doc/html/classPF-members.html (revision 8)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>PF Member List</h1>This is the complete list of members for <a class="el" href="classPF.html">PF</a>, including all inherited members.<p><table>
+  <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#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>
+  <tr class="memlist"><td><a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">resample</a>(RESAMPLING_METHOD method=SYSTEMATIC)</td><td><a class="el" href="classPF.html">PF</a></td><td></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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/functions_func.html
===================================================================
--- /doc/html/functions_func.html (revision 8)
+++ /doc/html/functions_func.html (revision 8)
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members - Functions</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="functions.html"><span>All</span></a></li>
+    <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+    <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>bayes()
+: <a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">BM</a>
+, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
+, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
+, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
+<li>clear()
+: <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a>
+<li>cols()
+: <a class="el" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed">sqmat</a>
+<li>Kalman()
+: <a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman&lt; sq_T &gt;</a>
+<li>KalmanFull()
+: <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
+<li>length()
+: <a class="el" href="classRV.html#a764092415291a0e6452a3711749d18e">RV</a>
+<li>logdet()
+: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
+<li>mult_sym()
+: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
+<li>operator()()
+: <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+<li>opupdt()
+: <a class="el" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">sqmat</a>
+<li>qform()
+: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
+<li>resample()
+: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
+<li>rows()
+: <a class="el" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7">sqmat</a>
+<li>RV()
+: <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>
+<li>rvadd()
+: <a class="el" href="classRV.html#f47ab0015ebac822da3b2e00f42a8fc6">RV</a>
+<li>rvfind()
+: <a class="el" href="classRV.html#45b869bced40dc3fa0df584aaf8228c0">RV</a>
+<li>rvsubselect()
+: <a class="el" href="classRV.html#70a53f2bc37929bae899b0b24cda9d8e">RV</a>
+<li>rvsubt()
+: <a class="el" href="classRV.html#269023ac4d41b21c4e1f7f17db1603b9">RV</a>
+<li>sample()
+: <a class="el" href="classepdf.html#e6ce993603a95c2645eb86305ea51396">epdf</a>
+, <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>
+<li>samplecond()
+: <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+<li>t()
+: <a class="el" href="classRV.html#e0a158d53ab9430627241f844f4c9a60">RV</a>
+<li>to_mat()
+: <a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">sqmat</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classfnc-members.html
===================================================================
--- /doc/html/classfnc-members.html (revision 7)
+++ /doc/html/classfnc-members.html (revision 8)
@@ -21,5 +21,5 @@
 </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 Sun Jan 20 12:47:34 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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 8)
+++ /doc/html/classBM.html (revision 8)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: BM Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>BM Class Reference</h1><!-- doxytag: class="BM" -->Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libBM_8h-source.html">libBM.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for BM:</div>
+<div class="dynsection">
+
+<p><center><img src="classBM.png" usemap="#BM_map" border="0" alt=""></center>
+<map name="BM_map">
+<area href="classKalman.html" alt="Kalman< sq_T >" shape="rect" coords="0,56,103,80">
+<area href="classKalmanFull.html" alt="KalmanFull" shape="rect" coords="113,56,216,80">
+<area href="classPF.html" alt="PF" shape="rect" coords="226,56,329,80">
+<area href="classTrivialPF.html" alt="TrivialPF" shape="rect" coords="226,112,329,136">
+</map>
+</div>
+
+<p>
+<a href="classBM-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">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>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#c52edf4ad6e1dff9bf64b9e1e0cfb1f0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="BM::bayes" ref="87b07867fd4c133aa89a18543f68d9f9" args="(mat Dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">bayes</a> (mat Dt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Batch Bayes rule (columns of Dt are observations). <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="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="BM::ll" ref="5623fef6572a08c2b53b8c87b82dc979" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of marginalized data likelihood. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c52edf4ad6e1dff9bf64b9e1e0cfb1f0"></a><!-- doxytag: member="BM::bayes" ref="c52edf4ad6e1dff9bf64b9e1e0cfb1f0" args="(const vec &amp;dt, bool evall=true)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void BM::bayes           </td>
+          <td>(</td>
+          <td class="paramtype">const vec &amp;&nbsp;</td>
+          <td class="paramname"> <em>dt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&nbsp;</td>
+          <td class="paramname"> <em>evall</em> = <code>true</code></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Incremental Bayes rule. 
+<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>dt</em>&nbsp;</td><td>vector of input data </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>evall</em>&nbsp;</td><td>If true, the filter will compute likelihood of the data record and store it in <code>ll</code> </td></tr>
+  </table>
+</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>, and <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/libKF_8h-source.html
===================================================================
--- /doc/html/libKF_8h-source.html (revision 8)
+++ /doc/html/libKF_8h-source.html (revision 8)
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libKF.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libKF.h</h1><a href="libKF_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef KF_H</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define KF_H</span>
+<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 "<a class="code" href="libBM_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations.">libBM.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="libDC_8h.html" title="Matrices in decomposed forms (LDL&amp;#39;, LU, UDU&amp;#39;, etc).">libDC.h</a>"</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 
+<a name="l00021"></a>00021 <span class="keyword">using namespace </span>itpp;
+<a name="l00022"></a>00022 
+<a name="l00026"></a><a class="code" href="classKalmanFull.html">00026</a> <span class="keyword">class </span><a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</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="l00027"></a>00027         <span class="keywordtype">int</span> dimx, dimy, dimu;
+<a name="l00028"></a>00028         mat A, B, C, D, R, Q;
+<a name="l00029"></a>00029         
+<a name="l00030"></a>00030         <span class="comment">//cache </span>
+<a name="l00031"></a>00031         mat _Pp, _Ry, _iRy, _K;
+<a name="l00032"></a>00032 <span class="keyword">public</span>:
+<a name="l00033"></a>00033         <span class="comment">//posterior </span>
+<a name="l00035"></a><a class="code" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">00035</a> <span class="comment"></span>        vec <a class="code" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a" title="Mean value of the posterior density.">mu</a>;
+<a name="l00037"></a><a class="code" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">00037</a>         mat <a class="code" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc" title="Variance of the posterior density.">P</a>;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00041"></a>00041         <a class="code" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043" title="Full constructor.">KalmanFull</a> ( mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0);
+<a name="l00043"></a>00043         <span class="keywordtype">void</span> <a class="code" href="classKalmanFull.html#048b13739b94c331cda08249b278552b" 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="l00044"></a>00044 
+<a name="l00045"></a>00045         <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="l00046"></a>00046 
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048 
+<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="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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classTrivialPF.html
===================================================================
--- /doc/html/classTrivialPF.html (revision 8)
+++ /doc/html/classTrivialPF.html (revision 8)
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: TrivialPF Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>TrivialPF Class Reference</h1><!-- doxytag: class="TrivialPF" --><!-- doxytag: inherits="PF" -->Trivial particle filter with proposal density that is not conditioned on the data.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libPF_8h-source.html">libPF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for TrivialPF:</div>
+<div class="dynsection">
+
+<p><center><img src="classTrivialPF.png" usemap="#TrivialPF_map" border="0" alt=""></center>
+<map name="TrivialPF_map">
+<area href="classPF.html" alt="PF" shape="rect" coords="0,56,63,80">
+<area href="classBM.html" alt="BM" shape="rect" coords="0,0,63,24">
+</map>
+</div>
+
+<p>
+<a href="classTrivialPF-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="e6d9e3506da221a10a517bd5712b5a84"></a><!-- doxytag: member="TrivialPF::TrivialPF" ref="e6d9e3506da221a10a517bd5712b5a84" args="(mpdf &amp;par, mpdf &amp;obs, mpdf &amp;prop, int n0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>TrivialPF</b> (<a class="el" href="classmpdf.html">mpdf</a> &amp;par, <a class="el" href="classmpdf.html">mpdf</a> &amp;obs, <a class="el" href="classmpdf.html">mpdf</a> &amp;prop, int n0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59fc4c55a2d5fbb6bc9a17a9dd9a2e13"></a><!-- doxytag: member="TrivialPF::TrivialPF" ref="59fc4c55a2d5fbb6bc9a17a9dd9a2e13" args="(mpdf &amp;par, mpdf &amp;obs, int n0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>TrivialPF</b> (<a class="el" href="classmpdf.html">mpdf</a> &amp;par, <a class="el" href="classmpdf.html">mpdf</a> &amp;obs, int n0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">bayes</a> (const vec &amp;dt, bool evalll)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#77a92bf054d763f806d27fc37a058389"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Trivial particle filter with proposal density that is not conditioned on the data. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="77a92bf054d763f806d27fc37a058389"></a><!-- doxytag: member="TrivialPF::bayes" ref="77a92bf054d763f806d27fc37a058389" args="(const vec &amp;dt, bool evalll)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void TrivialPF::bayes           </td>
+          <td>(</td>
+          <td class="paramtype">const vec &amp;&nbsp;</td>
+          <td class="paramname"> <em>dt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&nbsp;</td>
+          <td class="paramname"> <em>evall</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>
+Incremental Bayes rule. 
+<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>dt</em>&nbsp;</td><td>vector of input data </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>evall</em>&nbsp;</td><td>If true, the filter will compute likelihood of the data record and store it in <code>ll</code> </td></tr>
+  </table>
+</dl>
+
+<p>Implements <a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">BM</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/libPF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/libKF_8h.html
===================================================================
--- /doc/html/libKF_8h.html (revision 8)
+++ /doc/html/libKF_8h.html (revision 8)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libKF.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/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>
+<p>
+<code>#include &lt;itpp/itbase.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="libBM_8h-source.html">libBM.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="libDC_8h-source.html">libDC.h</a>&quot;</code><br>
+
+<p>
+<a href="libKF_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<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="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>
+</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. 
+<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 Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/libPF_8h-source.html
===================================================================
--- /doc/html/libPF_8h-source.html (revision 8)
+++ /doc/html/libPF_8h-source.html (revision 8)
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libPF.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libPF.h</h1><a href="libPF_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef PF_H</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define PF_H</span>
+<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 "<a class="code" href="libBM_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations.">libBM.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="libDC_8h.html" title="Matrices in decomposed forms (LDL&amp;#39;, LU, UDU&amp;#39;, etc).">libDC.h</a>"</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="keyword">using namespace </span>itpp;
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="keyword">enum</span> RESAMPLING_METHOD { MULTINOMIAL = 0, DETERMINISTIC = 1, RESIDUAL = 2, SYSTEMATIC = 3 };
+<a name="l00023"></a>00023 
+<a name="l00029"></a><a class="code" href="classPF.html">00029</a> <span class="keyword">class </span><a class="code" href="classPF.html" title="A Particle Filter prototype.">PF</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="l00030"></a>00030 <span class="keyword">protected</span>:
+<a name="l00031"></a>00031         <span class="keywordtype">int</span> n; <span class="comment">//number of particles</span>
+<a name="l00032"></a>00032         vec w; <span class="comment">//particle weights</span>
+<a name="l00033"></a>00033         
+<a name="l00034"></a>00034 <span class="keyword">public</span>:
+<a name="l00036"></a>00036         ivec <a class="code" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19" title="Returns indexes of particles that should be resampled.">resample</a>(RESAMPLING_METHOD method = SYSTEMATIC);
+<a name="l00037"></a>00037         <span class="comment">//TODO get them on the web</span>
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039 
+<a name="l00046"></a><a class="code" href="classTrivialPF.html">00046</a> <span class="keyword">class </span><a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a> : <span class="keyword">public</span> <a class="code" href="classPF.html" title="A Particle Filter prototype.">PF</a> {
+<a name="l00047"></a>00047         Array&lt;vec&gt; ptcls;
+<a name="l00048"></a>00048         
+<a name="l00049"></a>00049         <span class="keywordtype">bool</span> is_proposal;
+<a name="l00050"></a>00050         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *prop;
+<a name="l00051"></a>00051         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *par;
+<a name="l00052"></a>00052         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *obs;
+<a name="l00053"></a>00053         
+<a name="l00054"></a>00054         <span class="keyword">public</span>:
+<a name="l00055"></a>00055         <a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a>(<a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;par, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;obs, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;prop, <span class="keywordtype">int</span> n0);
+<a name="l00056"></a>00056         <a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a>(<a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;par, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;obs, <span class="keywordtype">int</span> n0);
+<a name="l00057"></a>00057         <span class="keywordtype">void</span> <a class="code" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389" title="Incremental Bayes rule.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll);
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060 <span class="keyword">class </span>MPF : <span class="keyword">public</span> <a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a> {
+<a name="l00061"></a>00061         Array&lt;BM&gt; Bms;
+<a name="l00062"></a>00062         <span class="keyword">public</span>:
+<a name="l00063"></a>00063         MPF(<a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> &amp;B, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;prop, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;obs, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;par);
+<a name="l00064"></a>00064         <span class="keywordtype">void</span> <a class="code" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389" title="Incremental Bayes rule.">bayes</a>(vec &amp;dt);    
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066 
+<a name="l00067"></a>00067 <span class="preprocessor">#endif // KF_H</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069 
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/html/classepdf-members.html
===================================================================
--- /doc/html/classepdf-members.html (revision 8)
+++ /doc/html/classepdf-members.html (revision 8)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</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#e6ce993603a95c2645eb86305ea51396">sample</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/files.html
===================================================================
--- /doc/html/files.html (revision 7)
+++ /doc/html/files.html (revision 8)
@@ -17,7 +17,9 @@
   <tr><td class="indexkey">work/mixpp/<a class="el" href="libBM_8h.html">libBM.h</a> <a href="libBM_8h-source.html">[code]</a></td><td class="indexvalue">Bayesian Models (bm) that use Bayes rule to learn from observations </td></tr>
   <tr><td class="indexkey">work/mixpp/<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>
+  <tr><td class="indexkey">work/mixpp/<a class="el" href="libEF_8h.html">libEF.h</a> <a href="libEF_8h-source.html">[code]</a></td><td class="indexvalue">Probability distributions for Exponential Family models </td></tr>
   <tr><td class="indexkey">work/mixpp/<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/<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>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jan 20 12:47:34 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:12 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 8)
+++ /doc/html/classsqmat-members.html (revision 8)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<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#5c852819589f74cdaefbd648c0ce8547">logdet</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#faa3bc90be142adde9cf74f573c70157">mult_sym</a>(const mat &amp;C, bool trans=true)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [friend]</code></td></tr>
+  <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#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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/functions_vars.html
===================================================================
--- /doc/html/functions_vars.html (revision 8)
+++ /doc/html/functions_vars.html (revision 8)
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members - Variables</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="functions.html"><span>All</span></a></li>
+    <li><a href="functions_func.html"><span>Functions</span></a></li>
+    <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+    <li><a href="functions_rela.html"><span>Related&nbsp;Functions</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>ll
+: <a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">BM</a>
+<li>mu
+: <a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">KalmanFull</a>
+, <a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">Kalman&lt; sq_T &gt;</a>
+<li>P
+: <a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">KalmanFull</a>
+, <a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">Kalman&lt; sq_T &gt;</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/classmpdf-members.html
===================================================================
--- /doc/html/classmpdf-members.html (revision 8)
+++ /doc/html/classmpdf-members.html (revision 8)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mpdf Member List</h1>This is the complete list of members for <a class="el" href="classmpdf.html">mpdf</a>, including all inherited members.<p><table>
+  <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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classRV-members.html
===================================================================
--- /doc/html/classRV-members.html (revision 8)
+++ /doc/html/classRV-members.html (revision 8)
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<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#a764092415291a0e6452a3711749d18e">length</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#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>
+  <tr class="memlist"><td><a class="el" href="classRV.html#e46882dec2c30b12be282d34b03417b2">RV</a>(ivec in_ids, Array&lt; std::string &gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>(ivec ids)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e">RV</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#f47ab0015ebac822da3b2e00f42a8fc6">rvadd</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#45b869bced40dc3fa0df584aaf8228c0">rvfind</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#70a53f2bc37929bae899b0b24cda9d8e">rvsubselect</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#269023ac4d41b21c4e1f7f17db1603b9">rvsubt</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 Wed Jan 23 11:30:12 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>
+</body>
+</html>
Index: /doc/html/classenorm.html
===================================================================
--- /doc/html/classenorm.html (revision 8)
+++ /doc/html/classenorm.html (revision 8)
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: enorm&lt; sq_T &gt; Class Template Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>enorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="enorm" --><!-- doxytag: inherits="eEF" -->General exponential family density.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for enorm&lt; sq_T &gt;:</div>
+<div class="dynsection">
+
+<p><center><img src="classenorm.png" usemap="#enorm< sq_T >_map" border="0" alt=""></center>
+<map name="enorm< sq_T >_map">
+<area href="classeEF.html" alt="eEF" shape="rect" coords="0,56,97,80">
+<area href="classepdf.html" alt="epdf" shape="rect" coords="0,0,97,24">
+</map>
+</div>
+
+<p>
+<a href="classenorm-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="183891111686898adef0f6ca292e600d"></a><!-- doxytag: member="enorm::enorm" ref="183891111686898adef0f6ca292e600d" args="(RV &amp;rv, vec &amp;mu, sq_T &amp;R)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>enorm</b> (<a class="el" href="classRV.html">RV</a> &amp;rv, vec &amp;mu, sq_T &amp;R)</td></tr>
+
+<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>
+
+<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">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">sample</a> ()</td></tr>
+
+<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="#6020bcd89db2c9584bd8871001bd2023"></a><br></td></tr>
+<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>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class sq_T&gt;<br>
+ class enorm&lt; sq_T &gt;</h3>
+
+General exponential family density. 
+<p>
+More?... <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6020bcd89db2c9584bd8871001bd2023"></a><!-- doxytag: member="enorm::sample" ref="6020bcd89db2c9584bd8871001bd2023" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class sq_T&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">vec <a class="el" href="classenorm.html">enorm</a>&lt; sq_T &gt;::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+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)$ 
+<p>Reimplemented from <a class="el" href="classepdf.html#e6ce993603a95c2645eb86305ea51396">epdf</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li>work/mixpp/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:11 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>
+</body>
+</html>
Index: /doc/html/index.html
===================================================================
--- /doc/html/index.html (revision 7)
+++ /doc/html/index.html (revision 8)
@@ -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 Sun Jan 20 12:47:33 2008 for mixpp by&nbsp;
+<h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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 8)
+++ /doc/html/libDC_8h-source.html (revision 8)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: work/mixpp/libDC.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+  </ul>
+</div>
+<h1>work/mixpp/libDC.h</h1><a href="libDC_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00013"></a>00013 <span class="preprocessor">#ifndef DC_H</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define DC_H</span>
+<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 
+<a name="l00018"></a>00018 <span class="keyword">using namespace </span>itpp;
+<a name="l00019"></a>00019 
+<a name="l00024"></a><a class="code" href="classsqmat.html">00024</a> <span class="keyword">class </span><a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> {
+<a name="l00025"></a>00025 <span class="keyword">public</span>:
+<a name="l00033"></a>00033         <span class="keyword">virtual</span> <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 ) =0;
+<a name="l00034"></a>00034 
+<a name="l00038"></a>00038         <span class="keyword">virtual</span> mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>() =0;
+<a name="l00039"></a>00039 
+<a name="l00044"></a>00044         <span class="keyword">virtual</span> <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">true</span> ) =0;
+<a name="l00045"></a>00045 
+<a name="l00046"></a>00046         
+<a name="l00051"></a>00051         <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>() =0;
+<a name="l00052"></a>00052 
+<a name="l00057"></a>00057         <span class="keyword">virtual</span> <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) =0;
+<a name="l00058"></a>00058 
+<a name="l00059"></a>00059 <span class="comment">//      //! easy version of the </span>
+<a name="l00060"></a>00060 <span class="comment">//      sqmat inv();</span>
+<a name="l00061"></a>00061 
+<a name="l00062"></a>00062         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> &amp;sq );
+<a name="l00063"></a>00063 
+<a name="l00065"></a>00065         <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="l00066"></a>00066         
+<a name="l00068"></a>00068         <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="l00069"></a>00069 
+<a name="l00071"></a>00071         <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="l00072"></a>00072 
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074 
+<a name="l00075"></a>00075 
+<a name="l00080"></a><a class="code" href="classfsqmat.html">00080</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="l00081"></a>00081         <span class="keywordtype">void</span> opupdt( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w );
+<a name="l00082"></a>00082         mat to_mat();
+<a name="l00083"></a>00083         <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="l00084"></a>00084    <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="l00085"></a>00085         <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="l00086"></a>00086         <span class="keywordtype">void</span> clear();
+<a name="l00087"></a>00087         
+<a name="l00089"></a>00089         <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="l00090"></a>00090         
+<a name="l00096"></a>00096         <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="l00097"></a>00097 };
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099 <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="l00100"></a>00100 <span class="keyword">public</span>:
+<a name="l00101"></a>00101 
+<a name="l00103"></a>00103         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
+<a name="l00105"></a>00105         ldmat( mat V );
+<a name="l00106"></a>00106         ldmat ();
+<a name="l00107"></a>00107 
+<a name="l00108"></a>00108         <span class="comment">// Reimplementation of compulsory operatios</span>
+<a name="l00109"></a>00109 
+<a name="l00110"></a>00110         <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="l00111"></a>00111         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
+<a name="l00112"></a>00112    <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="l00113"></a>00113         <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="l00114"></a>00114         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>();
+<a name="l00115"></a>00115         <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="l00116"></a>00116 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
+<a name="l00117"></a>00117         <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="l00118"></a>00118         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#743d3799d9e73403230c54e14ecf09ed" title="Reimplementing common functions of mat: cols().">cols</a>();
+<a name="l00119"></a>00119         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#f59664a4be09450f8c6ce3f5e5ab2dc7" title="Reimplementing common functions of mat: cols().">rows</a>();
+<a name="l00120"></a>00120 
+<a name="l00126"></a>00126         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv);
+<a name="l00127"></a>00127         
+<a name="l00133"></a>00133    <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="l00134"></a>00134 
+<a name="l00135"></a>00135         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA);
+<a name="l00136"></a>00136         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA);
+<a name="l00137"></a>00137         ldmat&amp; operator *= (<span class="keywordtype">double</span> x);
+<a name="l00138"></a>00138         
+<a name="l00139"></a>00139 <span class="keyword">protected</span>:
+<a name="l00140"></a>00140         vec D;
+<a name="l00141"></a>00141         mat L;
+<a name="l00142"></a>00142 
+<a name="l00143"></a>00143 };
+<a name="l00144"></a>00144 
+<a name="l00146"></a>00146 
+<a name="l00147"></a>00147 <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="l00148"></a>00148 <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="l00149"></a>00149 <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> L.cols();}
+<a name="l00150"></a>00150 <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> L.rows();}
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152 <span class="preprocessor">#endif // DC_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Wed Jan 23 11:30:10 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>
+</body>
+</html>
Index: /doc/latex/classKalman.eps
===================================================================
--- /doc/latex/classKalman.eps (revision 8)
+++ /doc/latex/classKalman.eps (revision 8)
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 360.36
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.3875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(Kalman< sq_T >) cw
+(BM) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (Kalman< sq_T >) 0 0 box
+ (BM) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
Index: /doc/latex/classPF.eps
===================================================================
--- /doc/latex/classPF.eps (revision 8)
+++ /doc/latex/classPF.eps (revision 8)
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 845.07
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.591667 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(PF) cw
+(BM) cw
+(TrivialPF) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (PF) 0 1 box
+ (BM) 0 2 box
+ (TrivialPF) 0 0 box
+
+% ----- relations -----
+
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+1 0 0.25 out
+solid
+0 0 0.75 in
Index: /doc/latex/classenorm.eps
===================================================================
--- /doc/latex/classenorm.eps (revision 8)
+++ /doc/latex/classenorm.eps (revision 8)
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 571.429
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(enorm< sq_T >) cw
+(eEF) cw
+(epdf) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (enorm< sq_T >) 0 0 box
+ (eEF) 0 1 box
+ (epdf) 0 2 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
Index: /doc/latex/classsqmat.eps
===================================================================
--- /doc/latex/classsqmat.eps (revision 8)
+++ /doc/latex/classsqmat.eps (revision 8)
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 727.273
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.6875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(sqmat) cw
+(fsqmat) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (sqmat) 0 1 box
+ (fsqmat) 0 0 box
+
+% ----- relations -----
+
+dotted
+1 0 0.25 out
+dotted
+0 0 0.75 in
Index: /doc/latex/classKalmanFull.eps
===================================================================
--- /doc/latex/classKalmanFull.eps (revision 8)
+++ /doc/latex/classKalmanFull.eps (revision 8)
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 487.805
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.025 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(KalmanFull) cw
+(BM) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (KalmanFull) 0 0 box
+ (BM) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
Index: /doc/latex/classepdf.tex
===================================================================
--- /doc/latex/classepdf.tex (revision 8)
+++ /doc/latex/classepdf.tex (revision 8)
@@ -0,0 +1,41 @@
+\section{epdf Class Reference}
+\label{classepdf}\index{epdf@{epdf}}
+Probability density function with numerical statistics, e.g. posterior density.  
+
+
+{\tt \#include $<$libBM.h$>$}
+
+Inheritance diagram for epdf::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classepdf}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual vec {\bf sample} ()
+\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}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Probability density function with numerical statistics, e.g. posterior density. 
+
+\subsection{Member Function Documentation}
+\index{epdf@{epdf}!sample@{sample}}
+\index{sample@{sample}!epdf@{epdf}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec epdf::sample ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classepdf_e6ce993603a95c2645eb86305ea51396}
+
+
+Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
+
+Returns a sample from the density, \$x  epdf(rv)\$ 
+
+Reimplemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libBM.h}\end{CompactItemize}
Index: /doc/latex/classmpdf.tex
===================================================================
--- /doc/latex/classmpdf.tex (revision 8)
+++ /doc/latex/classmpdf.tex (revision 8)
@@ -0,0 +1,35 @@
+\section{mpdf Class Reference}
+\label{classmpdf}\index{mpdf@{mpdf}}
+Conditional probability density, e.g. modeling some dependencies.  
+
+
+{\tt \#include $<$libBM.h$>$}
+
+Inherited by mEF.
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual vec {\bf samplecond} (vec \&cond, double lik)
+\begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
+virtual void \textbf{condition} (vec \&cond)\label{classmpdf_cfb3dffef7c03598622e414668bb0588}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Conditional probability density, e.g. modeling some dependencies. 
+
+\subsection{Member Function Documentation}
+\index{mpdf@{mpdf}!samplecond@{samplecond}}
+\index{samplecond@{samplecond}!mpdf@{mpdf}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec mpdf::samplecond (vec \& {\em cond}, double {\em lik})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classmpdf_c20c796f8d0a201f0897299150e45a41}
+
+
+Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
+
+Returns a sample from the density conditioned on {\tt cond}, \$x  \doxyref{epdf}{p.}{classepdf}(rv$|$cond)\$ 
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libBM.h}\end{CompactItemize}
Index: /doc/latex/libEF_8h.tex
===================================================================
--- /doc/latex/libEF_8h.tex (revision 8)
+++ /doc/latex/libEF_8h.tex (revision 8)
@@ -0,0 +1,26 @@
+\section{work/mixpp/libEF.h File Reference}
+\label{libEF_8h}\index{work/mixpp/libEF.h@{work/mixpp/libEF.h}}
+Probability distributions for Exponential Family models. 
+
+{\tt \#include $<$itpp/itbase.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf eEF}
+\begin{CompactList}\small\item\em General conjugate exponential family posterior density. \item\end{CompactList}\item 
+class \textbf{mEF}
+\item 
+class {\bf enorm$<$ sq\_\-T $>$}
+\begin{CompactList}\small\item\em General exponential family density. \item\end{CompactList}\item 
+class \textbf{mlnorm$<$ sq\_\-T $>$}
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Probability distributions for Exponential Family models. 
+
+\begin{Desc}
+\item[Author:]Vaclav Smidl.\end{Desc}
+----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+Using IT++ for numerical operations ----------------------------------- 
Index: /doc/latex/classfsqmat.tex
===================================================================
--- /doc/latex/classfsqmat.tex (revision 8)
+++ /doc/latex/classfsqmat.tex (revision 8)
@@ -0,0 +1,23 @@
+\section{fsqmat Class Reference}
+\label{classfsqmat}\index{fsqmat@{fsqmat}}
+Fake \doxyref{sqmat}{p.}{classsqmat}. This class maps \doxyref{sqmat}{p.}{classsqmat} operations to operations on full matrix.  
+
+
+{\tt \#include $<$libDC.h$>$}
+
+Inheritance diagram for fsqmat::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classfsqmat}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Fake \doxyref{sqmat}{p.}{classsqmat}. This class maps \doxyref{sqmat}{p.}{classsqmat} operations to operations on full matrix. 
+
+This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; 
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libDC.h}\end{CompactItemize}
Index: /doc/latex/classBM.tex
===================================================================
--- /doc/latex/classBM.tex (revision 8)
+++ /doc/latex/classBM.tex (revision 8)
@@ -0,0 +1,52 @@
+\section{BM Class Reference}
+\label{classBM}\index{BM@{BM}}
+Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.  
+
+
+{\tt \#include $<$libBM.h$>$}
+
+Inheritance diagram for BM::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classBM}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual void {\bf bayes} (const vec \&dt, bool evall=true)=0
+\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\item 
+void {\bf bayes} (mat Dt)\label{classBM_87b07867fd4c133aa89a18543f68d9f9}
+
+\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\end{CompactItemize}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
+
+\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities. 
+
+\subsection{Member Function Documentation}
+\index{BM@{BM}!bayes@{bayes}}
+\index{bayes@{bayes}!BM@{BM}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt}, bool {\em evall} = {\tt true})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classBM_c52edf4ad6e1dff9bf64b9e1e0cfb1f0}
+
+
+Incremental Bayes rule. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]vector of input data \item[{\em evall}]If true, the filter will compute likelihood of the data record and store it in {\tt ll} \end{description}
+\end{Desc}
+
+
+Implemented in {\bf KalmanFull} \doxyref{}{p.}{classKalmanFull_048b13739b94c331cda08249b278552b}, {\bf Kalman$<$ sq\_\-T $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}, and {\bf TrivialPF} \doxyref{}{p.}{classTrivialPF_77a92bf054d763f806d27fc37a058389}.
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libBM.h}\end{CompactItemize}
Index: /doc/latex/classeEF.tex
===================================================================
--- /doc/latex/classeEF.tex (revision 8)
+++ /doc/latex/classeEF.tex (revision 8)
@@ -0,0 +1,32 @@
+\section{eEF Class Reference}
+\label{classeEF}\index{eEF@{eEF}}
+General conjugate exponential family posterior density.  
+
+
+{\tt \#include $<$libEF.h$>$}
+
+Inheritance diagram for eEF::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classeEF}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual void \textbf{tupdate} (double phi, mat \&vbar, double nubar)\label{classeEF_fd88bc35550ec8fe9281d358216d0fcf}
+
+\item 
+virtual void \textbf{dupdate} (mat \&v, double nu=1.0)\label{classeEF_5863718c3b2fb1496dece10c5b745d5c}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+General conjugate exponential family posterior density. 
+
+More?... 
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libEF.h}\end{CompactItemize}
Index: /doc/latex/libKF_8h.tex
===================================================================
--- /doc/latex/libKF_8h.tex (revision 8)
+++ /doc/latex/libKF_8h.tex (revision 8)
@@ -0,0 +1,24 @@
+\section{work/mixpp/libKF.h File Reference}
+\label{libKF_8h}\index{work/mixpp/libKF.h@{work/mixpp/libKF.h}}
+Bayesian Filtering for linear Gaussian models (\doxyref{Kalman}{p.}{classKalman} Filter) and extensions. 
+
+{\tt \#include $<$itpp/itbase.h$>$}\par
+{\tt \#include \char`\"{}libBM.h\char`\"{}}\par
+{\tt \#include \char`\"{}libDC.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf KalmanFull}
+\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}
+
+
+\subsection{Detailed Description}
+Bayesian Filtering for linear Gaussian models (\doxyref{Kalman}{p.}{classKalman} Filter) and extensions. 
+
+\begin{Desc}
+\item[Author:]Vaclav Smidl.\end{Desc}
+----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+Using IT++ for numerical operations ----------------------------------- 
Index: /doc/latex/classTrivialPF.tex
===================================================================
--- /doc/latex/classTrivialPF.tex (revision 8)
+++ /doc/latex/classTrivialPF.tex (revision 8)
@@ -0,0 +1,50 @@
+\section{TrivialPF Class Reference}
+\label{classTrivialPF}\index{TrivialPF@{TrivialPF}}
+Trivial particle filter with proposal density that is not conditioned on the data.  
+
+
+{\tt \#include $<$libPF.h$>$}
+
+Inheritance diagram for TrivialPF::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classTrivialPF}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+\textbf{TrivialPF} ({\bf mpdf} \&par, {\bf mpdf} \&obs, {\bf mpdf} \&prop, int n0)\label{classTrivialPF_e6d9e3506da221a10a517bd5712b5a84}
+
+\item 
+\textbf{TrivialPF} ({\bf mpdf} \&par, {\bf mpdf} \&obs, int n0)\label{classTrivialPF_59fc4c55a2d5fbb6bc9a17a9dd9a2e13}
+
+\item 
+void {\bf bayes} (const vec \&dt, bool evalll)
+\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Trivial particle filter with proposal density that is not conditioned on the data. 
+
+\subsection{Member Function Documentation}
+\index{TrivialPF@{TrivialPF}!bayes@{bayes}}
+\index{bayes@{bayes}!TrivialPF@{TrivialPF}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TrivialPF::bayes (const vec \& {\em dt}, bool {\em evall})\hspace{0.3cm}{\tt  [virtual]}}\label{classTrivialPF_77a92bf054d763f806d27fc37a058389}
+
+
+Incremental Bayes rule. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]vector of input data \item[{\em evall}]If true, the filter will compute likelihood of the data record and store it in {\tt ll} \end{description}
+\end{Desc}
+
+
+Implements {\bf BM} \doxyref{}{p.}{classBM_c52edf4ad6e1dff9bf64b9e1e0cfb1f0}.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libPF.h}\item 
+work/mixpp/libPF.cpp\end{CompactItemize}
Index: /doc/latex/classKalman.tex
===================================================================
--- /doc/latex/classKalman.tex (revision 8)
+++ /doc/latex/classKalman.tex (revision 8)
@@ -0,0 +1,47 @@
+\section{Kalman$<$ sq\_\-T $>$ Class Template Reference}
+\label{classKalman}\index{Kalman@{Kalman}}
+\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form.  
+
+
+{\tt \#include $<$libKF.h$>$}
+
+Inheritance diagram for Kalman$<$ sq\_\-T $>$::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classKalman}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\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}
+
+\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
+void {\bf bayes} (const vec \&dt, bool evalll=true)\label{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}
+
+\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+vec {\bf mu}\label{classKalman_3063a3f58a74cea672ae889971012eed}
+
+\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item 
+sq\_\-T {\bf P}\label{classKalman_188cd5ac1c9e496b1a371eb7c57c97d3}
+
+\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const {\bf KalmanFull} \&kf)\label{classKalman_86ba216243ed95bb46d80d88775d16af}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class sq\_\-T$>$ class Kalman$<$ sq\_\-T $>$}
+
+\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form. 
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libKF.h}\end{CompactItemize}
Index: /doc/latex/libPF_8h.tex
===================================================================
--- /doc/latex/libPF_8h.tex (revision 8)
+++ /doc/latex/libPF_8h.tex (revision 8)
@@ -0,0 +1,35 @@
+\section{work/mixpp/libPF.h File Reference}
+\label{libPF_8h}\index{work/mixpp/libPF.h@{work/mixpp/libPF.h}}
+Bayesian Filtering using stochastic sampling (Particle Filters). 
+
+{\tt \#include $<$itpp/itbase.h$>$}\par
+{\tt \#include \char`\"{}libBM.h\char`\"{}}\par
+{\tt \#include \char`\"{}libDC.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf PF}
+\begin{CompactList}\small\item\em A Particle Filter prototype. \item\end{CompactList}\item 
+class {\bf TrivialPF}
+\begin{CompactList}\small\item\em Trivial particle filter with proposal density that is not conditioned on the data. \item\end{CompactList}\item 
+class \textbf{MPF}
+\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum \textbf{RESAMPLING\_\-METHOD} \{ \textbf{MULTINOMIAL} =  0, 
+\textbf{DETERMINISTIC} =  1, 
+\textbf{RESIDUAL} =  2, 
+\textbf{SYSTEMATIC} =  3
+ \}
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Bayesian Filtering using stochastic sampling (Particle Filters). 
+
+\begin{Desc}
+\item[Author:]Vaclav Smidl.\end{Desc}
+----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+Using IT++ for numerical operations ----------------------------------- 
Index: /doc/latex/classPF.tex
===================================================================
--- /doc/latex/classPF.tex (revision 8)
+++ /doc/latex/classPF.tex (revision 8)
@@ -0,0 +1,39 @@
+\section{PF Class Reference}
+\label{classPF}\index{PF@{PF}}
+A Particle Filter prototype.  
+
+
+{\tt \#include $<$libPF.h$>$}
+
+Inheritance diagram for PF::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classPF}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+ivec {\bf resample} (RESAMPLING\_\-METHOD method=SYSTEMATIC)\label{classPF_a0e26b2f6a5884aca49122f3e4f0cf19}
+
+\begin{CompactList}\small\item\em Returns indexes of particles that should be resampled. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int \textbf{n}\label{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}
+
+\item 
+vec \textbf{w}\label{classPF_f6bc92f7979af4513b06b161497ba868}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+A Particle Filter prototype. 
+
+Bayesian Filtering equations hold. 
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libPF.h}\item 
+work/mixpp/libPF.cpp\end{CompactItemize}
Index: /doc/latex/classepdf.eps
===================================================================
--- /doc/latex/classepdf.eps (revision 8)
+++ /doc/latex/classepdf.eps (revision 8)
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 571.429
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(epdf) cw
+(eEF) cw
+(enorm< sq_T >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (epdf) 0 2 box
+ (eEF) 0 1 box
+ (enorm< sq_T >) 0 0 box
+
+% ----- relations -----
+
+solid
+1 0 1.25 out
+solid
+0 0 1.75 in
+solid
+1 0 0.25 out
+solid
+0 0 0.75 in
Index: /doc/latex/doxygen.sty
===================================================================
--- /doc/latex/doxygen.sty (revision 7)
+++ /doc/latex/doxygen.sty (revision 8)
@@ -11,6 +11,6 @@
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Jan 20 12:47:33 2008 for mixpp by Doxygen }]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Jan 20 12:47:33 2008 for mixpp by Doxygen }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Wed Jan 23 11:30:10 2008 for mixpp by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Jan 23 11:30:10 2008 for mixpp by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
Index: /doc/latex/files.tex
===================================================================
--- /doc/latex/files.tex (revision 7)
+++ /doc/latex/files.tex (revision 8)
@@ -4,4 +4,6 @@
 \item\contentsline{section}{work/mixpp/{\bf libBM.h} (Bayesian Models (bm) that use Bayes rule to learn from observations )}{\pageref{libBM_8h}}{}
 \item\contentsline{section}{work/mixpp/{\bf libDC.h} (Matrices in decomposed forms (LDL', LU, UDU', etc) )}{\pageref{libDC_8h}}{}
+\item\contentsline{section}{work/mixpp/{\bf libEF.h} (Probability distributions for Exponential Family models )}{\pageref{libEF_8h}}{}
 \item\contentsline{section}{work/mixpp/{\bf libKF.h} (Bayesian Filtering for linear Gaussian models (\doxyref{Kalman}{p.}{classKalman} Filter) and extensions )}{\pageref{libKF_8h}}{}
+\item\contentsline{section}{work/mixpp/{\bf libPF.h} (Bayesian Filtering using stochastic sampling (Particle Filters) )}{\pageref{libPF_8h}}{}
 \end{CompactList}
Index: /doc/latex/classenorm.tex
===================================================================
--- /doc/latex/classenorm.tex (revision 8)
+++ /doc/latex/classenorm.tex (revision 8)
@@ -0,0 +1,54 @@
+\section{enorm$<$ sq\_\-T $>$ Class Template Reference}
+\label{classenorm}\index{enorm@{enorm}}
+General exponential family density.  
+
+
+{\tt \#include $<$libEF.h$>$}
+
+Inheritance diagram for enorm$<$ sq\_\-T $>$::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=3cm]{classenorm}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+\textbf{enorm} ({\bf RV} \&rv, vec \&mu, sq\_\-T \&R)\label{classenorm_183891111686898adef0f6ca292e600d}
+
+\item 
+void \textbf{tupdate} (double phi, mat \&vbar, double nubar)\label{classenorm_5b5fd142b6b17ea334597960e3fe126a}
+
+\item 
+void \textbf{dupdate} (mat \&v, double nu=1.0)\label{classenorm_5bf185e31e5954fceb90ada3debd2ff2}
+
+\item 
+vec {\bf sample} ()
+\begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
+double \textbf{eval} (const vec \&val)\label{classenorm_93107f05a8e9b34b64853767200121a4}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+\subsubsection*{template$<$class sq\_\-T$>$ class enorm$<$ sq\_\-T $>$}
+
+General exponential family density. 
+
+More?... 
+
+\subsection{Member Function Documentation}
+\index{enorm@{enorm}!sample@{sample}}
+\index{sample@{sample}!enorm@{enorm}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$class sq\_\-T$>$ vec {\bf enorm}$<$ sq\_\-T $>$::sample ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classenorm_6020bcd89db2c9584bd8871001bd2023}
+
+
+Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
+
+Returns a sample from the density, \$x  epdf(rv)\$ 
+
+Reimplemented from {\bf epdf} \doxyref{}{p.}{classepdf_e6ce993603a95c2645eb86305ea51396}.
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libEF.h}\end{CompactItemize}
Index: /doc/latex/refman.tex
===================================================================
--- /doc/latex/refman.tex (revision 7)
+++ /doc/latex/refman.tex (revision 8)
@@ -21,5 +21,5 @@
 {\large Generated by Doxygen 1.5.3}\\
 \vspace*{0.5cm}
-{\small Sun Jan 20 12:47:33 2008}\\
+{\small Wed Jan 23 11:30:10 2008}\\
 \end{center}
 \end{titlepage}
@@ -37,14 +37,22 @@
 \chapter{mixpp Class Documentation}
 \input{classBM}
+\include{classeEF}
+\include{classenorm}
 \include{classepdf}
 \include{classfnc}
+\include{classfsqmat}
 \include{classKalman}
 \include{classKalmanFull}
 \include{classmpdf}
+\include{classPF}
 \include{classRV}
+\include{classsqmat}
+\include{classTrivialPF}
 \chapter{mixpp File Documentation}
 \input{libBM_8h}
 \include{libDC_8h}
+\include{libEF_8h}
 \include{libKF_8h}
+\include{libPF_8h}
 \printindex
 \end{document}
Index: /doc/latex/classfsqmat.eps
===================================================================
--- /doc/latex/classfsqmat.eps (revision 8)
+++ /doc/latex/classfsqmat.eps (revision 8)
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 727.273
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.6875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(fsqmat) cw
+(sqmat) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (fsqmat) 0 0 box
+ (sqmat) 0 1 box
+
+% ----- relations -----
+
+dotted
+0 0 0 out
+dotted
+1 0 1 in
Index: /doc/latex/classBM.eps
===================================================================
--- /doc/latex/classBM.eps (revision 8)
+++ /doc/latex/classBM.eps (revision 8)
@@ -0,0 +1,213 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 180.18
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.775 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 3 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(BM) cw
+(Kalman< sq_T >) cw
+(KalmanFull) cw
+(PF) cw
+(TrivialPF) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (BM) 1 2 box
+ (Kalman< sq_T >) 0 1 box
+ (KalmanFull) 1 1 box
+ (PF) 2 1 box
+ (TrivialPF) 2 0 box
+
+% ----- relations -----
+
+solid
+1 1 1.25 out
+solid
+0 2 2 conn
+solid
+0 0 1.75 in
+solid
+0 1 1.75 in
+solid
+0 2 1.75 in
+solid
+1 2 0.25 out
+solid
+0 2 0.75 in
Index: /doc/latex/classsqmat.tex
===================================================================
--- /doc/latex/classsqmat.tex (revision 8)
+++ /doc/latex/classsqmat.tex (revision 8)
@@ -0,0 +1,79 @@
+\section{sqmat Class Reference}
+\label{classsqmat}\index{sqmat@{sqmat}}
+Virtual class for representation of double symmetric matrices in square-root form.  
+
+
+{\tt \#include $<$libDC.h$>$}
+
+Inheritance diagram for sqmat::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classsqmat}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+virtual void {\bf opupdt} (const vec \&v, double w)=0
+\item 
+virtual mat {\bf to\_\-mat} ()=0\label{classsqmat_9a5b6fddfeb42339e1dc9b978a2590fc}
+
+\begin{CompactList}\small\item\em Conversion to full matrix. \item\end{CompactList}\item 
+virtual void {\bf mult\_\-sym} (const mat \&C, bool trans=true)=0
+\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 
+virtual double {\bf logdet} ()=0\label{classsqmat_5c852819589f74cdaefbd648c0ce8547}
+
+\begin{CompactList}\small\item\em Logarithm of a determinant. \item\end{CompactList}\item 
+virtual double {\bf qform} (vec \&v)=0\label{classsqmat_44e079468bc8bfccf634dc85b32ba6be}
+
+\begin{CompactList}\small\item\em Evaluates quadratic form \$x= v'$\ast$V$\ast$v\$;. \item\end{CompactList}\item 
+virtual void {\bf clear} ()=0\label{classsqmat_6fca246f9eabbdeb8cac03030e826b5e}
+
+\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}
+
+\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_743d3799d9e73403230c54e14ecf09ed}. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, {\bf sqmat} \&sq)\label{classsqmat_c9eb5aa871432ddb9c5a45ddbbb19eab}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Virtual class for representation of double symmetric matrices in square-root form. 
+
+All operations defined on this class should be optimized for the chosed decomposition. 
+
+\subsection{Member Function Documentation}
+\index{sqmat@{sqmat}!opupdt@{opupdt}}
+\index{opupdt@{opupdt}!sqmat@{sqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sqmat::opupdt (const vec \& {\em v}, double {\em w})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_b223484796661f2dadb5607a86ce0581}
+
+
+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. \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}
+
+
+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}
+
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libDC.h}\end{CompactItemize}
Index: /doc/latex/classeEF.eps
===================================================================
--- /doc/latex/classeEF.eps (revision 8)
+++ /doc/latex/classeEF.eps (revision 8)
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 571.429
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(eEF) cw
+(epdf) cw
+(enorm< sq_T >) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (eEF) 0 1 box
+ (epdf) 0 2 box
+ (enorm< sq_T >) 0 0 box
+
+% ----- relations -----
+
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+1 0 0.25 out
+solid
+0 0 0.75 in
Index: /doc/latex/classKalmanFull.tex
===================================================================
--- /doc/latex/classKalmanFull.tex (revision 8)
+++ /doc/latex/classKalmanFull.tex (revision 8)
@@ -0,0 +1,46 @@
+\section{KalmanFull Class Reference}
+\label{classKalmanFull}\index{KalmanFull@{KalmanFull}}
+Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon!  
+
+
+{\tt \#include $<$libKF.h$>$}
+
+Inheritance diagram for KalmanFull::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classKalmanFull}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf KalmanFull} (mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0)\label{classKalmanFull_7197ab6e7380790006394eabd3b97043}
+
+\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
+void {\bf bayes} (const vec \&dt, bool evalll=true)\label{classKalmanFull_048b13739b94c331cda08249b278552b}
+
+\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+vec {\bf mu}\label{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}
+
+\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item 
+mat {\bf P}\label{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}
+
+\begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const {\bf KalmanFull} \&kf)\label{classKalmanFull_86ba216243ed95bb46d80d88775d16af}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! 
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libKF.h}\item 
+work/mixpp/libKF.cpp\end{CompactItemize}
Index: /doc/latex/libDC_8h.tex
===================================================================
--- /doc/latex/libDC_8h.tex (revision 8)
+++ /doc/latex/libDC_8h.tex (revision 8)
@@ -0,0 +1,24 @@
+\section{work/mixpp/libDC.h File Reference}
+\label{libDC_8h}\index{work/mixpp/libDC.h@{work/mixpp/libDC.h}}
+Matrices in decomposed forms (LDL', LU, UDU', etc). 
+
+{\tt \#include $<$itpp/itbase.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf sqmat}
+\begin{CompactList}\small\item\em Virtual class for representation of double symmetric matrices in square-root form. \item\end{CompactList}\item 
+class {\bf fsqmat}
+\begin{CompactList}\small\item\em Fake \doxyref{sqmat}{p.}{classsqmat}. This class maps \doxyref{sqmat}{p.}{classsqmat} operations to operations on full matrix. \item\end{CompactList}\item 
+class \textbf{ldmat}
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Matrices in decomposed forms (LDL', LU, UDU', etc). 
+
+\begin{Desc}
+\item[Author:]Vaclav Smidl.\end{Desc}
+----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+Using IT++ for numerical operations ----------------------------------- 
Index: /doc/latex/annotated.tex
===================================================================
--- /doc/latex/annotated.tex (revision 7)
+++ /doc/latex/annotated.tex (revision 8)
@@ -2,9 +2,15 @@
 Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
 \item\contentsline{section}{{\bf BM} (Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities )}{\pageref{classBM}}{}
+\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 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 Kalman} (\doxyref{Kalman}{p.}{classKalman} filter with covaraince matrices in square root form )}{\pageref{classKalman}}{}
-\item\contentsline{section}{{\bf KalmanFull} (Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! )}{\pageref{classKalmanFull}}{}
+\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 KalmanFull} (Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! )}{\pageref{classKalmanFull}}{}
 \item\contentsline{section}{{\bf mpdf} (Conditional probability density, e.g. modeling some dependencies )}{\pageref{classmpdf}}{}
+\item\contentsline{section}{{\bf PF} (A Particle Filter prototype )}{\pageref{classPF}}{}
 \item\contentsline{section}{{\bf RV} (Class representing variables, most often random variables )}{\pageref{classRV}}{}
+\item\contentsline{section}{{\bf sqmat} (Virtual class for representation of double symmetric matrices in square-root form )}{\pageref{classsqmat}}{}
+\item\contentsline{section}{{\bf TrivialPF} (Trivial particle filter with proposal density that is not conditioned on the data )}{\pageref{classTrivialPF}}{}
 \end{CompactList}
Index: /doc/latex/classRV.tex
===================================================================
--- /doc/latex/classRV.tex (revision 8)
+++ /doc/latex/classRV.tex (revision 8)
@@ -0,0 +1,57 @@
+\section{RV Class Reference}
+\label{classRV}\index{RV@{RV}}
+Class representing variables, most often random variables.  
+
+
+{\tt \#include $<$libBM.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf RV} (ivec in\_\-ids, Array$<$ std::string $>$ in\_\-names, ivec in\_\-sizes, ivec in\_\-times, ivec in\_\-obs)\label{classRV_e46882dec2c30b12be282d34b03417b2}
+
+\begin{CompactList}\small\item\em Full constructor which is called by the others. \item\end{CompactList}\item 
+{\bf RV} (ivec ids)\label{classRV_cf911c3900214460ade1366b04058462}
+
+\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item 
+{\bf RV} ()\label{classRV_6a22f5c06d6403870d4e414b1993bf9e}
+
+\begin{CompactList}\small\item\em Empty constructor will be set later. \item\end{CompactList}\item 
+int {\bf length} ()\label{classRV_a764092415291a0e6452a3711749d18e}
+
+\begin{CompactList}\small\item\em Return length (number of scalars) of the \doxyref{RV}{p.}{classRV}. \item\end{CompactList}\item 
+ivec {\bf rvfind} ({\bf RV} rv2)\label{classRV_45b869bced40dc3fa0df584aaf8228c0}
+
+\begin{CompactList}\small\item\em Find indexes of another rv in self. \item\end{CompactList}\item 
+{\bf RV} {\bf rvadd} ({\bf RV} rv2)\label{classRV_f47ab0015ebac822da3b2e00f42a8fc6}
+
+\begin{CompactList}\small\item\em Add (concat) another variable to the current one. \item\end{CompactList}\item 
+{\bf RV} {\bf rvsubt} ({\bf RV} rv2)\label{classRV_269023ac4d41b21c4e1f7f17db1603b9}
+
+\begin{CompactList}\small\item\em Subtract another variable from the current one. \item\end{CompactList}\item 
+{\bf RV} {\bf rvsubselect} (ivec ind)\label{classRV_70a53f2bc37929bae899b0b24cda9d8e}
+
+\begin{CompactList}\small\item\em Select only variables at indeces ind. \item\end{CompactList}\item 
+{\bf RV} {\bf operator()} (ivec ind)\label{classRV_28bbcb8873bafdac317bafb7b481cc45}
+
+\begin{CompactList}\small\item\em Select only variables at indeces ind. \item\end{CompactList}\item 
+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}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+std::ostream \& {\bf operator$<$$<$} (std::ostream \&os, const {\bf RV} \&rv)\label{classRV_cad6f15535d10437f6690cb4492176a8}
+
+\begin{CompactList}\small\item\em Printing output e.g. for debugging. \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Class representing variables, most often random variables. 
+
+More?... 
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+work/mixpp/{\bf libBM.h}\item 
+work/mixpp/libBM.cpp\end{CompactItemize}
Index: /doc/latex/classTrivialPF.eps
===================================================================
--- /doc/latex/classTrivialPF.eps (revision 8)
+++ /doc/latex/classTrivialPF.eps (revision 8)
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 845.07
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.591667 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 3 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(TrivialPF) cw
+(PF) cw
+(BM) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (TrivialPF) 0 0 box
+ (PF) 0 1 box
+ (BM) 0 2 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
Index: /doc/latex/hierarchy.tex
===================================================================
--- /doc/latex/hierarchy.tex (revision 8)
+++ /doc/latex/hierarchy.tex (revision 8)
@@ -0,0 +1,26 @@
+\section{mixpp Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically:\begin{CompactList}
+\item \contentsline{section}{BM}{\pageref{classBM}}{}
+\begin{CompactList}
+\item \contentsline{section}{Kalman$<$ sq\_\-T $>$}{\pageref{classKalman}}{}
+\item \contentsline{section}{KalmanFull}{\pageref{classKalmanFull}}{}
+\item \contentsline{section}{PF}{\pageref{classPF}}{}
+\begin{CompactList}
+\item \contentsline{section}{TrivialPF}{\pageref{classTrivialPF}}{}
+\end{CompactList}
+\end{CompactList}
+\item \contentsline{section}{epdf}{\pageref{classepdf}}{}
+\begin{CompactList}
+\item \contentsline{section}{eEF}{\pageref{classeEF}}{}
+\begin{CompactList}
+\item \contentsline{section}{enorm$<$ sq\_\-T $>$}{\pageref{classenorm}}{}
+\end{CompactList}
+\end{CompactList}
+\item \contentsline{section}{fnc}{\pageref{classfnc}}{}
+\item \contentsline{section}{mpdf}{\pageref{classmpdf}}{}
+\item \contentsline{section}{RV}{\pageref{classRV}}{}
+\item \contentsline{section}{sqmat}{\pageref{classsqmat}}{}
+\begin{CompactList}
+\item \contentsline{section}{fsqmat}{\pageref{classfsqmat}}{}
+\end{CompactList}
+\end{CompactList}
Index: /libBM.cpp
===================================================================
--- /libBM.cpp (revision 5)
+++ /libBM.cpp (revision 8)
@@ -31,4 +31,8 @@
 }
 
+RV::RV () {};
+
+inline int RV::length () {return len;};
+
 RV::RV ( ivec in_ids ) {
 	
@@ -48,4 +52,6 @@
 }
 
+void RV::t(int delta){ times +=delta;}
+
 RV RV::operator()(ivec ind){
 	return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind), obs(ind));
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>
Index: /libEF.h
===================================================================
--- /libEF.h (revision 8)
+++ /libEF.h (revision 8)
@@ -0,0 +1,141 @@
+/*!
+  \file
+  \brief Probability distributions for Exponential Family models.
+  \author Vaclav Smidl.
+
+  -----------------------------------
+  BDM++ - C++ library for Bayesian Decision Making under Uncertainty
+
+  Using IT++ for numerical operations
+  -----------------------------------
+*/
+
+#ifndef EF_H
+#define EF_H
+
+#include <itpp/itbase.h>
+//#include <std>
+
+using namespace itpp;
+
+/*!
+* \brief General conjugate exponential family posterior density.
+
+* More?...
+*/
+class eEF :public epdf {
+
+public:
+	virtual void tupdate( double phi, mat &vbar, double nubar ){};
+	virtual void dupdate( mat &v,double nu=1.0 ){};
+};
+
+class mEF :public mpdf {
+
+public:
+
+};
+
+/*!
+* \brief General exponential family density
+
+* More?...
+*/
+template<class sq_T>
+class enorm : public eEF {
+	vec mu;
+	sq_T R;
+public:
+	enorm( RV &rv, vec &mu, sq_T &R );
+	enorm();
+	void tupdate( double phi, mat &vbar, double nubar );
+	void dupdate( mat &v,double nu=1.0 );
+	vec sample();
+	double eval( const vec &val );
+
+};
+
+/*!
+ \brief
+*/
+template<class sq_T>
+class mlnorm : public mEF {
+	enorm<sq_T> epdf;
+	mat A;
+public:
+	//! Constructor
+	mlnorm( RV &rv,RV &rvc, mat &A, sq_T &R );
+	//!Generate one sample of the posterior
+	vec samplecond( vec &cond, double &lik );
+	mat samplecond( vec &cond, vec &lik, int n );
+	void condition( vec &cond );
+};
+
+////////////////////////
+
+template<class sq_T>
+enorm<sq_T>::enorm( RV &rv, vec &mu0, sq_T &R0 ) {
+	mu = mu0;
+	R = R0;
+};
+
+template<class sq_T>
+void enorm<sq_T>::dupdate( mat &v, double nu ) {
+	//
+};
+
+template<class sq_T>
+void enorm<sq_T>::tupdate( double phi, mat &vbar, double nubar ) {
+	//
+};
+
+template<class sq_T>
+vec enorm<sq_T>::sample() {
+	//
+};
+
+template<class sq_T>
+double enorm<sq_T>::eval( const vec &val ) {
+	//
+};
+
+
+template<class sq_T>
+enorm<sq_T>::enorm() {};
+
+template<class sq_T>
+mlnorm<sq_T>::mlnorm( RV &rv,RV &rvc, mat &A, sq_T &R ) {
+	int dim = rv.length();
+	vec mu( dim );
+
+	epdf = enorm<sq_T>( rv,mu,R );
+}
+
+template<class sq_T>
+vec mlnorm<sq_T>::samplecond( vec &cond, double &lik ) {
+	this->condition( cond );
+	vec smp = epdf.sample();
+	lik = epdf.eval(smp);
+	return smp;
+}
+
+template<class sq_T>
+mat mlnorm<sq_T>::samplecond( vec &cond, vec &lik, int n ) {
+	int i;
+	int dim = rv.length();
+	mat Smp( dim,n );
+	vec smp( dim);
+	this->condition( cond );
+	for ( i=0; i<dim; i++ ) {
+		smp = epdf.sample();
+		lik(i) = epdf.eval(smp);
+		Smp.set_col( i ,smp);
+	}
+	return Smp;
+}
+
+template<class sq_T>
+void mlnorm<sq_T>::condition( vec &cond) {
+}
+
+#endif //EF_H
Index: /libBM.h
===================================================================
--- /libBM.h (revision 7)
+++ /libBM.h (revision 8)
@@ -39,7 +39,12 @@
 	//! default constructor
 	RV ( ivec ids );
+	//! Empty constructor will be set later
+	RV ();
+	
 	//! Printing output e.g. for debugging.
 	friend std::ostream &operator<< ( std::ostream &os, const RV &rv );
 
+	//! Return length (number of scalars) of the RV.
+	int length();
 	//! Find indexes of another rv in self
 	ivec rvfind(RV rv2);
@@ -52,4 +57,6 @@
 	//! Select only variables at indeces ind
 	RV operator()(ivec ind);
+	//! Generate new \c RV with \c time shifted by delta.
+	void t(int delta);
 };
 
@@ -82,5 +89,8 @@
 public:
 	//! Returns the required moment of the epdf
-	virtual vec moment ( const int order = 1 );
+//	virtual vec moment ( const int order = 1 );
+	//! Returns a sample from the density, $x \sim epdf(rv)$
+	virtual vec sample (){};
+	virtual double eval(const vec &val){};
 };
 
@@ -94,5 +104,8 @@
 
 	//! Returns the required moment of the epdf
-	virtual fnc moment ( const int order = 1 );
+//	virtual fnc moment ( const int order = 1 );
+	//! Returns a sample from the density conditioned on \c cond, $x \sim epdf(rv|cond)$
+	virtual vec samplecond (vec &cond, double lik){};
+	virtual void condition (vec &cond){};
 };
 
Index: /libPF.cpp
===================================================================
--- /libPF.cpp (revision 8)
+++ /libPF.cpp (revision 8)
@@ -0,0 +1,52 @@
+#include "libPF.h"
+
+using namespace itpp;
+
+using std::endl;
+
+ivec PF::resample( RESAMPLING_METHOD method ) {
+	ivec ind( n );
+	return ind;
+}
+
+TrivialPF::TrivialPF(mpdf &par0, mpdf &obs0, mpdf &prop0, int n0){
+	is_proposal = true;
+	prop = &prop0;
+	par = &par0;
+	obs = &obs0;
+}
+TrivialPF::TrivialPF(mpdf &par0, mpdf &obs0,  int n0){
+	is_proposal = false;
+	par = &par0;
+	obs = &obs0;
+}
+
+void TrivialPF::bayes( const vec &dt , bool evalll) {
+	int i;
+	vec oldp;
+	double ll, gl, sum=0.0;
+	Sort<double> S;
+	ivec ind, iw;
+	/*
+	//generate new samples
+	for ( i=0;i<n;i++ ) {
+		prop->evalcond( ptcls( i ), &prop_cond );
+		ptcls( i ) = prop_cond.sample();
+		gl = prop_cond.eval( ptcls( i ) );
+
+		obs.evalcond( ptcls( i ), &obs_cond );
+		ll = obs_cond.eval( dt );
+		w( i ) *= ll/gl;
+	}
+	//renormalize
+	for ( i=0;i<n;i++ ){sum+=w( i );};
+	w( i ) /=sum; //?
+	//
+	ind = resample();
+	iw = S.sort_index( 0,n-1,w ); // the first one in iw is the strongest
+
+	for ( i=0;i<n;i++ ) {
+		ptcls( i ) = ptcls( i ); //potentionally dangerous!
+	}
+	*/
+}
Index: /libKF.h
===================================================================
--- /libKF.h (revision 7)
+++ /libKF.h (revision 8)
@@ -22,5 +22,5 @@
 
 /*!
-* \brief Basic Kalman filter with full matrices (education purpose only)!
+* \brief Basic Kalman filter with full matrices (education purpose only)! Will be deleted soon!
 */
 class KalmanFull : public BM { 
@@ -58,5 +58,6 @@
 	
 	//cache
-	mat _K, _yp;
+	mat _K;
+	vec _yp;
 	sq_T _Ry,_iRy;
 public:
@@ -103,4 +104,5 @@
 	ll = 0;
 //Fixme should we assign cache??
+	_iRy = eye(dimy); // needed in inv(_iRy)
 }
 
@@ -114,10 +116,10 @@
 	mu = A*mu + B*u;
 	//P  = A*P*A.transpose() + Q; in sq_T
-	P.mult_qform( A );
+	P.mult_sym( A );
 	P+=Q;
 
 	//Data update
 	//_Ry = C*P*C.transpose() + R; in sq_T
-	_Ry.mult_qform( C );
+	_Ry.mult_sym( C, P);
 	_Ry+=R;
 
@@ -131,5 +133,6 @@
 	
 	if (evalll==true) {
-	ll+= -0.5*_Ry.logdet() -0.5*_iRy.qform(_yp);
+	ll+= -0.5*(_Ry.cols()*0.79817986835811504957 \
+	+_Ry.logdet() +_iRy.qform(_yp));
 	}
 };
Index: /Makefile
===================================================================
--- /Makefile (revision 7)
+++ /Makefile (revision 8)
@@ -2,5 +2,5 @@
 CPPFLAGS=-g
 
-all: testKF
+all: testPF
 
 test: test0
@@ -12,3 +12,3 @@
 test0: test0.cpp libBM.o libDC.o itpp_ext.o
 testKF: testKF.o libKF.o libBM.o libDC.o itpp_ext.o
-	g++ -o $@ testKF.o libKF.o libBM.o libDC.o itpp_ext.o $(LDFLAGS)
+testPF: testPF.o libPF.o libBM.o libDC.o itpp_ext.o
