Index: /bdm/estim/libPF.h
===================================================================
--- /bdm/estim/libPF.h (revision 15)
+++ /bdm/estim/libPF.h (revision 28)
@@ -38,5 +38,6 @@
 	PF (vec w);
 	//TODO remove or implement bayes()!
-	void bayes(const vec &dt, bool evell){};
+	void bayes(const vec &dt){};
+	epdf* _epdf(){return NULL;}
 };
 
@@ -51,10 +52,10 @@
 	
 	bool is_proposal;
-	mpdf *prop;
+	BM *prop;
 	mpdf *par;
 	mpdf *obs;
 	
 	public:
-	TrivialPF(mpdf &par, mpdf &obs, mpdf &prop, int n0);
+	TrivialPF(mpdf &par, mpdf &obs, BM &prop, int n0);
 	TrivialPF(mpdf &par, mpdf &obs, int n0);
 	void bayes(const vec &dt, bool evalll);
@@ -64,5 +65,5 @@
 	Array<BM> Bms;
 	public:
-	MPF(BM &B, mpdf &prop, mpdf &obs, mpdf &par);
+	MPF(BM &B, BM &prop, mpdf &obs, mpdf &par);
 	void bayes(vec &dt);	
 };
Index: /bdm/estim/libKF.cpp
===================================================================
--- /bdm/estim/libKF.cpp (revision 27)
+++ /bdm/estim/libKF.cpp (revision 28)
@@ -28,5 +28,5 @@
 }
 
-void KalmanFull::bayes( const vec &dt, bool evalll ) {
+void KalmanFull::bayes( const vec &dt) {
 	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
 
Index: /bdm/estim/libKF.h
===================================================================
--- /bdm/estim/libKF.h (revision 22)
+++ /bdm/estim/libKF.h (revision 28)
@@ -16,5 +16,5 @@
 #include <itpp/itbase.h>
 #include "../stat/libFN.h"
-#include "../math/libDC.h"
+#include "../stat/libEF.h"
 
 
@@ -41,5 +41,6 @@
 	KalmanFull ( mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0);
 	//! Here dt = [yt;ut] of appropriate dimensions
-	void bayes(const vec &dt, bool evalll=true); 
+	void bayes(const vec &dt); 
+	epdf* _epdf(){return NULL;}; 
 
 	friend std::ostream &operator<< ( std::ostream &os, const KalmanFull &kf );
@@ -58,25 +59,31 @@
 	sq_T R, Q;
 	
-	//cache
+	//!posterior on $x_t$
+	enorm<sq_T> est;
+	//!preditive density on $y_t$
+	enorm<sq_T> fy;
+	
 	mat _K;
-	vec _yp;
-	sq_T _Ry,_iRy;
-public:
-	//posterior 
-	//! Mean value of the posterior density
-	vec mu;
-	//! Mean value of the posterior density
-	sq_T P;
-
+	//cache of fy
+	vec* _yp; 
+	sq_T* _Ry,*_iRy;
+	//cache of est
+	vec* _mu;
+	sq_T* _P, *_iP;
+	
 public:
 	//! Default constructor
-	Kalman (int dimx, int dimu, int dimy);
-	//! Full constructor 
-	Kalman ( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 );
+	Kalman (RV rvx0, RV rvy0, RV rvu0);
+	//! Set parameters with check of relevance 
+	void set_parameters (const mat &A0,const mat &B0,const mat &C0,const mat &D0,const sq_T &R0,const sq_T &Q0);
+	//! Set estimate values, used e.g. in initialization.
+	void set_est(const vec &mu0, const sq_T &P0 ){est.set_parameters(mu0,P0);};
 	//! Here dt = [yt;ut] of appropriate dimensions
-	void bayes(const vec &dt, bool evalll=true); 
-
-	friend std::ostream &operator<< ( std::ostream &os, const KalmanFull &kf );
-
+	void bayes(const vec &dt); 
+
+//	friend std::ostream &operator<< ( std::ostream &os, const Kalman<sq_T> &kf );
+
+	//!access functions
+	enorm<sq_T>* _epdf(){return &est;} 
 };
 
@@ -87,5 +94,5 @@
 */
 template<class sq_T>
-class EKF : public Kalman<fsqmat> {
+class EKF : public Kalman<ldmat> {
 	//! Internal Model f(x,u)
 	diffbifn* pfxu;
@@ -94,7 +101,8 @@
 public:	
 	//! Default constructor
-	EKF (diffbifn* pfxu, diffbifn* phxu, sq_T Q0, sq_T R0, vec mu0, mat P0);
+	EKF (RV rvx, RV rvy, RV rvu);
+	void set_parameters(diffbifn* pfxu, diffbifn* phxu, const sq_T Q0, const sq_T R0);
 	//! Here dt = [yt;ut] of appropriate dimensions
-	void bayes(const vec &dt, bool evalll=true); 	
+	void bayes(const vec &dt); 	
 };
 
@@ -102,20 +110,19 @@
 
 template<class sq_T>
-Kalman<sq_T>::Kalman( int dx, int du, int dy): BM(), dimx(dx),dimy(dy),dimu(du){
-	A = mat(dimx,dimx);
-	B = mat(dimx,dimu);
-	C = mat(dimy,dimx);
-	D = mat(dimy,dimu);
-
-	mu = vec(dimx);
-	//TODO Initialize the rest?
-};
-
-template<class sq_T>
-Kalman<sq_T>::Kalman(const  mat A0,const  mat B0, const mat C0, const mat D0, const sq_T R0, const sq_T Q0, const sq_T P0, const vec mu0 ): BM() {
-	dimx = A0.rows();
-	dimu = B0.cols();
-	dimy = C0.rows();
-
+Kalman<sq_T>::Kalman(RV rvx, RV rvy, RV rvu): BM(),
+dimx(rvx.count()), dimy(rvy.count()),dimu(rvu.count()), 
+ A(dimx,dimx), B(dimx,dimu), C(dimy,dimx), D(dimy,dimu), est(rvx), fy(rvy){
+//assign cache
+//est
+_mu = est._mu();
+est._R(_P,_iP);
+
+//fy
+_yp = fy._mu();
+fy._R(_Ry,_iRy);
+};
+
+template<class sq_T>
+void Kalman<sq_T>::set_parameters(const mat &A0,const  mat &B0, const mat &C0, const mat &D0, const sq_T &R0, const sq_T &Q0) {
 	it_assert_debug( A0.cols()==dimx, "Kalman: A is not square" );
 	it_assert_debug( B0.rows()==dimx, "Kalman: B is not compatible" );
@@ -130,15 +137,9 @@
 	D = D0;
 	R = R0;
-	Q = Q0;
-	mu = mu0;
-	P = P0;
-
-//Fixme should we assign cache??
-	_iRy = eye(dimy); // needed in inv(_iRy)
-	_Ry = eye(dimy); // needed in inv(_iRy)
+	Q = Q0;	
 }
 
 template<class sq_T>
-void Kalman<sq_T>::bayes( const vec &dt , bool evalll) {
+void Kalman<sq_T>::bayes( const vec &dt) {
 	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
 
@@ -146,25 +147,27 @@
 	vec y = dt.get( 0,dimy-1 );
 	//Time update
-	mu = A*mu + B*u;
+	*_mu = A*(*_mu) + B*u;
 	//P  = A*P*A.transpose() + Q; in sq_T
-	P.mult_sym( A );
-	P+=Q;
+	_P->mult_sym( A );
+	(*_P)+=Q;
 
 	//Data update
 	//_Ry = C*P*C.transpose() + R; in sq_T
-	P.mult_sym( C, _Ry);
-	_Ry+=R;
-
-	mat Pfull = P.to_mat();
-	
-	_Ry.inv( _iRy ); // result is in _iRy;
-	_K = Pfull*C.transpose()*(_iRy.to_mat());
-	P -= _K*C*Pfull; // P = P -KCP;
-	_yp = y-C*mu-D*u; //y prediction
-	mu += _K*( _yp );
+	_P->mult_sym( C, *_Ry);
+	(*_Ry)+=R;
+
+	mat Pfull = _P->to_mat();
+	
+	_Ry->inv( *_iRy ); // result is in _iRy;
+	_K = Pfull*C.transpose()*(_iRy->to_mat());
+	
+	sq_T pom((int)Pfull.rows());
+	_iRy->mult_sym_t(C*Pfull,pom);
+	(*_P) -= pom; // P = P -PC'iRy*CP;
+	(*_yp) = C*(*_mu)+D*u; //y prediction
+	(*_mu) += _K*( y-(*_yp) );
 	
 	if (evalll==true) {
-	ll+= -0.5*(_Ry.cols()*0.79817986835811504957 \
-	+_Ry.logdet() +_iRy.qform(_yp));
+		ll+=fy.evalpdflog(*_yp);
 	}
 };
@@ -173,17 +176,19 @@
 
 template<class sq_T>
-EKF<sq_T>::EKF( diffbifn* pfxu0,  diffbifn* phxu0, sq_T Q0, sq_T R0, vec mu0, mat P0): pfxu(pfxu0), phxu(phxu0), Kalman<fsqmat>(pfxu0->_dimx(),pfxu0->_dimu(),phxu0->_dimy()) {
+EKF<sq_T>::EKF(RV rvx0, RV rvy0, RV rvu0): Kalman<ldmat>(rvx0,rvy0,rvu0){}
+
+template<class sq_T>
+void EKF<sq_T>::set_parameters(diffbifn* pfxu0,  diffbifn* phxu0,const sq_T Q0,const sq_T R0) {
+		pfxu = pfxu0;
+		phxu = phxu0;
 		
 		//initialize matrices A C, later, these will be only updated!
-		pfxu->dfdx_cond(mu,zeros(dimu),A,true);
-		pfxu->dfdu_cond(mu,zeros(dimu),B,true);
-		phxu->dfdx_cond(mu,zeros(dimu),C,true);
-		phxu->dfdu_cond(mu,zeros(dimu),D,true);
-		
+		pfxu->dfdx_cond(*_mu,zeros(dimu),A,true);
+		pfxu->dfdu_cond(*_mu,zeros(dimu),B,true);
+		phxu->dfdx_cond(*_mu,zeros(dimu),C,true);
+		phxu->dfdu_cond(*_mu,zeros(dimu),D,true);
 
 		R = R0;
 		Q = Q0;
-		mu = mu0;
-		P = P0;
 
 	using std::cout;
@@ -196,5 +201,5 @@
 
 template<class sq_T>
-void EKF<sq_T>::bayes( const vec &dt , bool evalll) {
+void EKF<sq_T>::bayes( const vec &dt) {
 	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
 
@@ -202,29 +207,26 @@
 	vec y = dt.get( 0,dimy-1 );
 	//Time update
-	mu = pfxu->eval(mu, u);
-	pfxu->dfdx_cond(mu,u,A,false); //update A by a derivative of fx
+	*_mu = pfxu->eval(*_mu, u);
+	pfxu->dfdx_cond(*_mu,u,A,false); //update A by a derivative of fx
 	
 	//P  = A*P*A.transpose() + Q; in sq_T
-	P.mult_sym( A );
-	P+=Q;
+	_P->mult_sym( A );
+	(*_P)+=Q;
 
 	//Data update
-	phxu->dfdx_cond(mu,u,C,false); //update C by a derivative hx
+	phxu->dfdx_cond(*_mu,u,C,false); //update C by a derivative hx
 	//_Ry = C*P*C.transpose() + R; in sq_T
-	P.mult_sym( C, _Ry);
-	_Ry+=R;
-
-	mat Pfull = P.to_mat();
-	
-	_Ry.inv( _iRy ); // result is in _iRy;
-	_K = Pfull*C.transpose()*(_iRy.to_mat());
-	P -= _K*C*Pfull; // P = P -KCP;
-	_yp = y-phxu->eval(mu,u); //y prediction
-	mu += _K*( _yp );
-	
-	if (evalll==true) {
-	ll+= -0.5*(_Ry.cols()*0.79817986835811504957 \
-	+_Ry.logdet() +_iRy.qform(_yp));
-	}
+	_P->mult_sym( C, *_Ry);
+	(*_Ry)+=R;
+
+	mat Pfull = _P->to_mat();
+	
+	_Ry->inv( *_iRy ); // result is in _iRy;
+	_K = Pfull*C.transpose()*(_iRy->to_mat());
+	(*_P) -= _K*C*Pfull; // P = P -KCP;
+	*_yp = phxu->eval(*_mu,u); //y prediction
+	(*_mu) += _K*( y-*_yp );
+	
+	if (evalll==true) {ll+=est.evalpdflog(y);}
 };
 
Index: /bdm/estim/libPF.cpp
===================================================================
--- /bdm/estim/libPF.cpp (revision 14)
+++ /bdm/estim/libPF.cpp (revision 28)
@@ -81,5 +81,5 @@
 }
 
-TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, mpdf &prop0, int n0 ) : PF(1/n*ones(n)) {
+TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, BM &prop0, int n0 ) : PF(1/n*ones(n)) {
 	is_proposal = true;
 	prop = &prop0;
@@ -99,13 +99,17 @@
 	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 ) );
+		if(is_proposal) {
+			epdf* prop_epdf;
+	//		prop_epdf = prop._epdf();
+			prop->bayes(dt);
+			ptcls( i ) = prop_epdf->sample();
+			}
+//		gl = prop_cond.eval( ptcls( i ) );
 
-		obs.evalcond( ptcls( i ), &obs_cond );
-		ll = obs_cond.eval( dt );
+//		obs.evalcond( ptcls( i ), &obs_cond );
+//		ll = obs_cond.eval( dt );
 		w( i ) *= ll/gl;
 	}
@@ -113,5 +117,5 @@
 	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
@@ -120,4 +124,4 @@
 		ptcls( i ) = ptcls( i ); //potentionally dangerous!
 	}
-	*/
+	
 }
Index: /bdm/math/libDC.h
===================================================================
--- /bdm/math/libDC.h (revision 26)
+++ /bdm/math/libDC.h (revision 28)
@@ -81,4 +81,6 @@
 		int rows() const {return dim;};
 
+		//! Destructor for future use;
+		virtual ~sqmat(){};
 	protected:
 		int dim;
@@ -110,4 +112,8 @@
 		fsqmat ( const mat &M );
 
+		//! Destructor for future use;
+		virtual ~fsqmat(){};
+
+
 		/*! \brief Matrix inversion preserving the chosen form.
 
@@ -144,4 +150,7 @@
 		//! Default initialization with proper size
 		ldmat(const int dim0);
+
+		//! Destructor for future use;
+		virtual ~ldmat(){};
 
 		// Reimplementation of compulsory operatios
Index: /bdm/stat/libEF.h
===================================================================
--- /bdm/stat/libEF.h (revision 27)
+++ /bdm/stat/libEF.h (revision 28)
@@ -26,9 +26,14 @@
 * More?...
 */
+
 class eEF : public epdf {
 
 public:
-	virtual void tupdate( double phi, mat &vbar, double nubar ) {};
-	virtual void dupdate( mat &v,double nu=1.0 ) {};
+	//! default constructor
+	eEF() :epdf() {};
+
+	virtual void tupdate ( double phi, mat &vbar, double nubar ) {};
+
+	virtual void dupdate ( mat &v,double nu=1.0 ) {};
 };
 
@@ -45,23 +50,45 @@
 */
 template<class sq_T>
+
 class enorm : public eEF {
+protected:
+	//! mean value
+	vec mu;
+	//! Covariance matrix in decomposed form
+	sq_T R;
+	//! Cache:  _iR = inv(R);
+	sq_T _iR;
+	//! indicator if \c _iR is chached
+	bool cached;
+	//! Random number generator for sampling; Fixme: what about *static* correct ?
+	Normal_RNG RNG;
+	//! dimension (redundant from rv.count() for easier coding )
 	int dim;
-	vec mu;
-	sq_T R;
-public:
-	enorm( RV &rv, vec &mu, sq_T &R );
-	enorm();
+public:
+	enorm() :eEF() {};
+
+	enorm ( RV &rv );
+	void set_parameters ( const vec &mu,const sq_T &R );
 	//! tupdate in exponential form (not really handy)
-	void tupdate( double phi, mat &vbar, double nubar );
-	void dupdate( mat &v,double nu=1.0 );
-	//!tupdate used in KF
-	void tupdate();
-	//!dupdate used in KF
-	double dupdate();
-	 
+	void tupdate ( double phi, mat &vbar, double nubar );
+	void dupdate ( mat &v,double nu=1.0 );
+
 	vec sample();
-	mat sample(int N);
-	double eval( const vec &val );
-	Normal_RNG RNG;
+	mat sample ( int N );
+	double eval ( const vec &val );
+	double evalpdflog ( const vec &val );
+
+//Access methods
+	//! returns a pointer to the internal mean value. Use with Care!
+	vec* _mu() {return &mu;}
+
+	//! returns pointers to the internal variance and its inverse. Use with Care!
+	void _R ( sq_T* &pR, sq_T* &piR ) {
+		pR=&R;
+		piR=&_iR;
+	}
+
+	//! set cache as inconsistent
+	void _cached ( bool what ) {cached=what;}
 };
 
@@ -70,4 +97,5 @@
 */
 template<class sq_T>
+
 class mlnorm : public mEF {
 	enorm<sq_T> epdf;
@@ -75,9 +103,9 @@
 public:
 	//! Constructor
-	mlnorm( RV &rv,RV &rvc, mat &A, sq_T &R );
+	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 );
+	vec samplecond ( vec &cond, double &lik );
+	mat samplecond ( vec &cond, vec &lik, int n );
+	void condition ( vec &cond );
 };
 
@@ -85,17 +113,23 @@
 
 template<class sq_T>
-enorm<sq_T>::enorm( RV &rv, vec &mu0, sq_T &R0 ) {
-	dim = rv.count();
+enorm<sq_T>::enorm ( RV &rv ) :eEF(), mu ( rv.count() ),R(rv.count()),_iR(rv.count()),cached ( false ),dim ( rv.count() ) {};
+
+template<class sq_T>
+void enorm<sq_T>::set_parameters ( const vec &mu0, const sq_T &R0 ) {
+//Fixme test dimensions of mu0 and R0;
 	mu = mu0;
 	R = R0;
-};
-
-template<class sq_T>
-void enorm<sq_T>::dupdate( mat &v, double nu ) {
+	if(_iR.rows()!=R.rows()) _iR=R; // memory allocation!
+	R.inv ( _iR ); //update cache
+	cached=true;
+};
+
+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 ) {
+void enorm<sq_T>::tupdate ( double phi, mat &vbar, double nubar ) {
 	//
 };
@@ -103,7 +137,7 @@
 template<class sq_T>
 vec enorm<sq_T>::sample() {
-	vec x( dim );
-	RNG.sample_vector( dim,x );
-	vec smp = R.sqrt_mult( x );
+	vec x ( dim );
+	RNG.sample_vector ( dim,x );
+	vec smp = R.sqrt_mult ( x );
 
 	smp += mu;
@@ -112,63 +146,79 @@
 
 template<class sq_T>
-mat enorm<sq_T>::sample( int N ) {
-	mat X( dim,N );
-	vec x( dim );
+mat enorm<sq_T>::sample ( int N ) {
+	mat X ( dim,N );
+	vec x ( dim );
 	vec pom;
 	int i;
+
 	for ( i=0;i<N;i++ ) {
-		RNG.sample_vector( dim,x );
-		pom = R.sqrt_mult( x );
+		RNG.sample_vector ( dim,x );
+		pom = R.sqrt_mult ( x );
 		pom +=mu;
-		X.set_col( i, pom);
+		X.set_col ( i, pom );
 	}
+
 	return X;
 };
 
 template<class sq_T>
-double enorm<sq_T>::eval( const vec &val ) {
-	return 0.0;	
-};
-
-
-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 ) {
+double enorm<sq_T>::eval ( const vec &val ) {
+	return exp ( evalpdflog ( val ) );
+};
+
+template<class sq_T>
+double enorm<sq_T>::evalpdflog ( const vec &val ) {
+	if ( !cached ) {R.inv ( _iR );cached=true;}
+
+	return -0.5* ( R.cols() *0.79817986835811504957 +R.logdet() +_iR.qform ( mu-val ) );
+};
+
+
+template<class sq_T>
+mlnorm<sq_T>::mlnorm ( RV &rv,RV &rvc, mat &A, sq_T &R ) {
 	int dim = rv.count();
-	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 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 );
+	lik = epdf.eval ( smp );
 	return smp;
 }
 
 template<class sq_T>
-mat mlnorm<sq_T>::samplecond( vec &cond, vec &lik, int n ) {
+mat mlnorm<sq_T>::samplecond ( vec &cond, vec &lik, int n ) {
 	int i;
 	int dim = rv.count();
-	mat Smp( dim,n );
-	vec smp( dim );
-	this->condition( cond );
+	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 );
+		lik ( i ) = epdf.eval ( smp );
+		Smp.set_col ( i ,smp );
 	}
+
 	return Smp;
 }
 
 template<class sq_T>
-void mlnorm<sq_T>::condition( vec &cond ) {
+void mlnorm<sq_T>::condition ( vec &cond ) {
 	epdf.mu = A*cond;
 //R is already assigned;
 }
 
+///////////
+
+//#ifdef HAVE_EXTERN_TEMPLATE
+
+//  extern template class enorm<fsqmat>;
+//  extern template class enorm<ldmat>;
+//#endif
+
 #endif //EF_H
Index: /bdm/stat/libBM.h
===================================================================
--- /bdm/stat/libBM.h (revision 27)
+++ /bdm/stat/libBM.h (revision 28)
@@ -84,23 +84,9 @@
 	//! access function
 	int _dimy()const{return dimy;}
+
+		//! Destructor for future use;
+		virtual ~fnc(){};
 };
 
-//! Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.
-class BM {
-public:
-	//!Logarithm of marginalized data likelihood.
-	double ll;
-
-	//!Default constructor
-	BM(){ll=0;};
-	
-	/*! \brief Incremental Bayes rule
-	@param dt vector of input data
-	@param evall If true, the filter will compute likelihood of the data record and store it in \c ll
-	*/
-	virtual void bayes ( const vec &dt, bool evall=true ) = 0;
-	//! Batch Bayes rule (columns of Dt are observations)
-	void bayes ( mat Dt );
-};
 
 //! Probability density function with numerical statistics, e.g. posterior density.
@@ -108,4 +94,6 @@
 	RV rv;
 public:
+	//!default constructor
+	epdf():rv(ivec(0)){};
 	//! Returns the required moment of the epdf
 //	virtual vec moment ( const int order = 1 );
@@ -113,8 +101,10 @@
 	virtual vec sample ()=0;
 	//! Compute probability of argument \c val
-	virtual double eval(const vec &val)
-	{
-		return 0.0;
-	};
+	virtual double eval(const vec &val){return 0.0;};
+	//! Compute log-probability of argument \c val
+	virtual double evalpdflog(const vec &val){return 0.0;};
+
+		//! Destructor for future use;
+		virtual ~epdf(){};
 };
 
@@ -130,6 +120,9 @@
 //	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 vec samplecond (vec &cond, double lik){return vec(0);};
 	virtual void condition (vec &cond){};
+
+		//! Destructor for future use;
+		virtual ~mpdf(){};
 };
 
@@ -164,6 +157,32 @@
 	//! Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system. 
 	void step();
+		
 };
 
+/*! \brief Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.
+	
+*/
+class BM {
+public:
+	//!Logarithm of marginalized data likelihood.
+	double ll;
+	//!  If true, the filter will compute likelihood of the data record and store it in \c ll . Set to false if you want to save time.
+	bool evalll;
+
+	//!Default constructor
+	BM():ll(0),evalll(true){};
+	
+	/*! \brief Incremental Bayes rule
+	@param dt vector of input data
+	*/
+	virtual void bayes ( const vec &dt) = 0;
+	//! Batch Bayes rule (columns of Dt are observations)
+	void bayes ( mat Dt );
+	//! Returns a pointer to the epdf representing posterior density on parameters. Use with care!
+	virtual epdf* _epdf()=0;
+
+		//! Destructor for future use;
+		virtual ~BM(){};
+};
 
 #endif // BM_H
Index: /tests/test0.cpp
===================================================================
--- /tests/test0.cpp (revision 24)
+++ /tests/test0.cpp (revision 28)
@@ -14,5 +14,4 @@
 	RV th = RV ( "1 2","{a b }","1 1","0 0","0 0" );
 	RV r = RV ( "3 4" );
-	int i =0;
 
 	cout << th << r << endl;
@@ -42,5 +41,5 @@
 
 	cout << "Test ldform()"<<endl;
-	mat V = "1 2; 2 3"; 
+	mat V = "1 2; 2 13"; 
 	ldmat lV(V);
 	ldmat ilV(V);  
Index: /tests/testSmp.cpp
===================================================================
--- /tests/testSmp.cpp (revision 22)
+++ /tests/testSmp.cpp (revision 28)
@@ -17,5 +17,6 @@
 	mat V0("1.2 0.3; 0.3 5");
 	ldmat R = ldmat(V0);
-	enorm<ldmat> eN(rv,mu0,R);
+	enorm<ldmat> eN(rv);
+	eN.set_parameters(mu0,R);
 	
 	mat Smp = eN.sample(N);
Index: /tests/testKF.cpp
===================================================================
--- /tests/testKF.cpp (revision 22)
+++ /tests/testKF.cpp (revision 28)
@@ -22,4 +22,5 @@
 
 	bool xxx= fin.seek( "d" );
+	if (!xxx){ it_error("testKF.it not found");}
 	fin >>Dt;
 	fin.seek( "A" ); 
@@ -43,26 +44,36 @@
 	XtE=zeros( 2,Ndat );
 
-	Kalman<fsqmat> KF( A,B,C,D,fsqmat(R),fsqmat(Q),fsqmat(P0),mu0 );
 //	cout << KF;
-	KalmanFull KF2( A,B,C,D,R,Q,P0,mu0 );
 	RV rx("1","{x}","2","0","0");
 	RV ru("2","{u}","1","0","0");
 	RV ry("3","{y}","1","0","0");
+	//
+	Kalman<ldmat> KF(rx,ry,ru);
+	KF.set_parameters(A,B,C,D,ldmat(R),ldmat(Q));
+	KF.set_est(mu0,ldmat(P0) );
+	//
+	Kalman<fsqmat> KFf(rx,ry,ru);
+	KFf.set_parameters(A,B,C,D,fsqmat(R),fsqmat(Q));
+	KFf.set_est(mu0,fsqmat(P0) );
+	//
+	KalmanFull KF2( A,B,C,D,R,Q,P0,mu0 );
+	//
 	bilinfn fxu(rx,ru,A,B);
 	bilinfn hxu(rx,ru,C,D);
-	EKF<fsqmat> KFE(&fxu,&hxu,Q,R,mu0,P0);
+	EKF<ldmat> KFE(rx,ry,ru);
+	KFE.set_parameters(&fxu,&hxu,Q,R);
+	KFE.set_est(mu0,P0);
 
-	Xt.set_col( 0,KF.mu );
-	Xt2.set_col( 0,KF.mu );
-	XtE.set_col( 0,KF.mu );
+	Xt.set_col( 0,*((enorm<ldmat>*)(KF._epdf()))->_mu() );
+	Xt2.set_col( 0,KF2.mu );
+	XtE.set_col( 0,*((enorm<ldmat>*)(KFE._epdf()))->_mu() );
 	for ( int t=1;t<Ndat;t++ ) {
+		KFf.bayes( Dt.get_col( t ));
 		KF.bayes( Dt.get_col( t ));
 		KF2.bayes( Dt.get_col( t ));
-		KFE.bayes( Dt.get_col( t ));
-		Xt.set_col(t,KF.mu);
+//		KFE.bayes( Dt.get_col( t ));
+		Xt.set_col(t,*((enorm<ldmat>*)(KF._epdf()))->_mu());
 		Xt2.set_col(t,KF2.mu);
-		XtE.set_col(t,KFE.mu);
-//		Kmu = KF.mu;
-//		cout <<  "t:" <<t<< "  " << dt<<"  "<<Kmu <<endl;
+		XtE.set_col(t,*((enorm<ldmat>*)(KFE._epdf()))->_mu());
 	}
 
Index: /Doxyfile
===================================================================
--- /Doxyfile (revision 19)
+++ /Doxyfile (revision 28)
@@ -24,5 +24,5 @@
                          the
 ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
+INLINE_INHERITED_MEMB  = YES
 FULL_PATH_NAMES        = YES
 STRIP_FROM_PATH        = /home/smidl/
Index: /BDM.kdevelop.filelist
===================================================================
--- /BDM.kdevelop.filelist (revision 22)
+++ /BDM.kdevelop.filelist (revision 28)
@@ -1,3 +1,2 @@
-# KDevelop Custom Project File List
 CMakeLists.txt
 bdm/CMakeLists.txt
Index: /doc/html/classKalmanFull.html
===================================================================
--- /doc/html/classKalmanFull.html (revision 22)
+++ /doc/html/classKalmanFull.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -49,7 +50,18 @@
 <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>
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">bayes</a> (const vec &amp;dt, bool <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="KalmanFull::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="KalmanFull::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="" -->
@@ -61,4 +73,12 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Variance of the posterior density. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="KalmanFull::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="KalmanFull::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <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)" -->
@@ -67,7 +87,35 @@
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! <hr>The documentation for this class was generated from the following files:<ul>
+Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="KalmanFull::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=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>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual, inherited]</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>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a><li>work/mixpp/bdm/estim/libKF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classTrivialPF-members.html
===================================================================
--- /doc/html/classTrivialPF-members.html (revision 22)
+++ /doc/html/classTrivialPF-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,16 +22,19 @@
 </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#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>bayes</b>(const vec &amp;dt, bool evalll) (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 class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM::bayes</a>(const vec &amp;dt)=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">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></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 bgcolor="#f0f0f0"><td><b>PF</b>(vec w) (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td></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, BM &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>URNG</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:46 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/classDS-members.html
===================================================================
--- /doc/html/classDS-members.html (revision 23)
+++ /doc/html/classDS-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -29,5 +30,5 @@
   <tr class="memlist"><td><a class="el" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039">write</a>(vec &amp;ut)</td><td><a class="el" href="classDS.html">DS</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">write</a>(vec &amp;ut, ivec &amp;indeces)</td><td><a class="el" href="classDS.html">DS</a></td><td></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 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 22)
+++ /doc/html/classeEF.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -50,11 +51,42 @@
 virtual 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">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a> ()=0</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="#7f74d871d50b9ff360f1b3879092a9fa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f333ceeb88ebc37d81fcd4cea4526bfc"></a><!-- doxytag: member="eEF::eval" ref="f333ceeb88ebc37d81fcd4cea4526bfc" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 General conjugate exponential family posterior density. 
 <p>
-More?... <hr>The documentation for this class was generated from the following file:<ul>
+More?... <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7f74d871d50b9ff360f1b3879092a9fa"></a><!-- doxytag: member="eEF::sample" ref="7f74d871d50b9ff360f1b3879092a9fa" args="()=0" -->
+<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> [pure virtual, inherited]</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, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
+<p>Implemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 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/classdiffbifn-members.html
===================================================================
--- /doc/html/classdiffbifn-members.html (revision 23)
+++ /doc/html/classdiffbifn-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -29,10 +30,10 @@
   <tr bgcolor="#f0f0f0"><td><b>dimu</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classfnc.html">fnc</a>)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">eval</a>(const vec &amp;cond)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">eval</a>(const vec &amp;x0, const vec &amp;u0)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>rvu</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>rvx</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 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/inherits.html
===================================================================
--- /doc/html/inherits.html (revision 23)
+++ /doc/html/inherits.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -45,5 +46,5 @@
 <area shape="rect" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square&#45;root form..." alt="" coords="7,5,68,32"><area shape="rect" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix." alt="" coords="119,5,185,32"></map></td></tr>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:23 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classfnc.html
===================================================================
--- /doc/html/classfnc.html (revision 22)
+++ /doc/html/classfnc.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -45,9 +46,13 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <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="22d51d10a7901331167f64f80d1af8e9"></a><!-- doxytag: member="fnc::dimy" ref="22d51d10a7901331167f64f80d1af8e9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 Class representing function $f(x)$ of variable $x$ represented by <code>rv</code>. <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classKalmanFull-members.html
===================================================================
--- /doc/html/classKalmanFull-members.html (revision 22)
+++ /doc/html/classKalmanFull-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,7 +22,10 @@
 </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#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</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#048b13739b94c331cda08249b278552b">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM::bayes</a>(const vec &amp;dt)=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">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</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#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>
@@ -29,5 +33,5 @@
   <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalmanFull.html">KalmanFull</a>)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td><code> [friend]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">P</a></td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/classbilinfn.html
===================================================================
--- /doc/html/classbilinfn.html (revision 23)
+++ /doc/html/classbilinfn.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -61,4 +62,36 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates <img class="formulaInl" alt="$A=\frac{d}{du}f(x,u)|_{x0,u0}$" src="form_2.png"> and writes result into <code>A</code> .  <a href="#90f2b15612b14883d6ed2b0e295cb82b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad7673e16aa1a046b131b24c731c4632"></a><!-- doxytag: member="bilinfn::eval" ref="ad7673e16aa1a046b131b24c731c4632" args="(const vec &amp;cond)" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">eval</a> (const vec &amp;cond)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="436de7a7301ea9eac7d6081b893bbf57"></a><!-- doxytag: member="bilinfn::_dimx" ref="436de7a7301ea9eac7d6081b893bbf57" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">_dimx</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc8779acbff170611aff0ee70cee3879"></a><!-- doxytag: member="bilinfn::_dimu" ref="fc8779acbff170611aff0ee70cee3879" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">_dimu</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="bilinfn::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcf96b86250c3cbd465ba5ee62474b75"></a><!-- doxytag: member="bilinfn::rvx" ref="bcf96b86250c3cbd465ba5ee62474b75" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvx</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c41c74c7942dba51ef0b0bfed963447d"></a><!-- doxytag: member="bilinfn::rvu" ref="c41c74c7942dba51ef0b0bfed963447d" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvu</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6918bc0a9dad656b4cddc028137eb78"></a><!-- doxytag: member="bilinfn::dimx" ref="f6918bc0a9dad656b4cddc028137eb78" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e07ce491e973f03d763e37624d0fe79"></a><!-- doxytag: member="bilinfn::dimu" ref="2e07ce491e973f03d763e37624d0fe79" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22d51d10a7901331167f64f80d1af8e9"></a><!-- doxytag: member="bilinfn::dimy" ref="22d51d10a7901331167f64f80d1af8e9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -166,5 +199,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libFN_8h-source.html">libFN.h</a><li>work/mixpp/bdm/stat/libFN.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/functions_rela.html
===================================================================
--- /doc/html/functions_rela.html (revision 22)
+++ /doc/html/functions_rela.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -34,5 +35,5 @@
 : <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 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 22)
+++ /doc/html/classeEF-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -25,5 +26,5 @@
   <tr class="memlist"><td><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a>()=0</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [pure virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>tupdate</b>(double phi, mat &amp;vbar, double nubar) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/annotated.html
===================================================================
--- /doc/html/annotated.html (revision 22)
+++ /doc/html/annotated.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -42,5 +43,5 @@
   <tr><td class="indexkey"><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td class="indexvalue">Trivial particle filter with proposal density that is not conditioned on the data </td></tr>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libEF_8h-source.html
===================================================================
--- /doc/html/libEF_8h-source.html (revision 22)
+++ /doc/html/libEF_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -157,5 +158,5 @@
 <a name="l00173"></a>00173 
 <a name="l00174"></a>00174 <span class="preprocessor">#endif //EF_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classfnc-members.html
===================================================================
--- /doc/html/classfnc-members.html (revision 22)
+++ /doc/html/classfnc-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -22,6 +23,7 @@
 <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>
   <tr class="memlist"><td><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a>() const </td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classfnc.html">fnc</a>)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a>(const vec &amp;cond)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libKF_8h-source.html
===================================================================
--- /doc/html/libKF_8h-source.html (revision 22)
+++ /doc/html/libKF_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -37,5 +38,5 @@
 <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="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> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>=<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 );
@@ -63,5 +64,5 @@
 <a name="l00073"></a>00073         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> (<span class="keywordtype">int</span> dimx, <span class="keywordtype">int</span> dimu, <span class="keywordtype">int</span> dimy);
 <a name="l00075"></a>00075         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> ( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 );
-<a name="l00077"></a>00077         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll=<span class="keyword">true</span>); 
+<a name="l00077"></a>00077         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>=<span class="keyword">true</span>); 
 <a name="l00078"></a>00078 
 <a name="l00079"></a>00079         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</a> &amp;kf );
@@ -71,9 +72,9 @@
 <a name="l00088"></a>00088 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
 <a name="l00089"></a><a class="code" href="classEKF.html">00089</a> <span class="keyword">class </span><a class="code" href="classEKF.html" title="Extended Kalman Filter.">EKF</a> : <span class="keyword">public</span> <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;fsqmat&gt; {
-<a name="l00091"></a>00091         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu;
-<a name="l00093"></a>00093         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu;
+<a name="l00091"></a>00091         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* pfxu;
+<a name="l00093"></a>00093         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* phxu;
 <a name="l00094"></a>00094 <span class="keyword">public</span>: 
-<a name="l00096"></a>00096         <a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10" title="Default constructor.">EKF</a> (<span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu, <span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu);
-<a name="l00098"></a>00098         <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evalll=<span class="keyword">true</span>);    
+<a name="l00096"></a>00096         <a class="code" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e" title="Default constructor.">EKF</a> (<a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* pfxu, <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* phxu, sq_T Q0, sq_T R0, vec mu0, mat P0);
+<a name="l00098"></a>00098         <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>=<span class="keyword">true</span>);    
 <a name="l00099"></a>00099 };
 <a name="l00100"></a>00100 
@@ -114,85 +115,102 @@
 <a name="l00136"></a>00136 <span class="comment">//Fixme should we assign cache??</span>
 <a name="l00137"></a>00137         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span>
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 
-<a name="l00140"></a>00140 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00141"></a><a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">00141</a> <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">Kalman&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> evalll) {
-<a name="l00142"></a>00142         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
-<a name="l00143"></a>00143 
-<a name="l00144"></a>00144         vec u = dt.get( dimy,dimy+dimu-1 );
-<a name="l00145"></a>00145         vec y = dt.get( 0,dimy-1 );
-<a name="l00146"></a>00146         <span class="comment">//Time update</span>
-<a name="l00147"></a>00147         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = A*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> + B*u;
-<a name="l00148"></a>00148         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
-<a name="l00149"></a>00149         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A );
-<a name="l00150"></a>00150         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
-<a name="l00151"></a>00151 
-<a name="l00152"></a>00152         <span class="comment">//Data update</span>
-<a name="l00153"></a>00153         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
-<a name="l00154"></a>00154         _Ry.mult_sym( C, <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>);
-<a name="l00155"></a>00155         _Ry+=R;
-<a name="l00156"></a>00156 
-<a name="l00157"></a>00157         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.to_mat();
-<a name="l00158"></a>00158         
-<a name="l00159"></a>00159         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span>
-<a name="l00160"></a>00160         _K = Pfull*C.transpose()*(_iRy.to_mat());
-<a name="l00161"></a>00161         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> -= _K*C*Pfull; <span class="comment">// P = P -KCP;</span>
-<a name="l00162"></a>00162         _yp = y-C*<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>-D*u; <span class="comment">//y prediction</span>
-<a name="l00163"></a>00163         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
-<a name="l00164"></a>00164         
-<a name="l00165"></a>00165         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
-<a name="l00166"></a>00166         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.cols()*0.79817986835811504957 \
-<a name="l00167"></a>00167         +_Ry.logdet() +_iRy.qform(_yp));
-<a name="l00168"></a>00168         }
-<a name="l00169"></a>00169 };
-<a name="l00170"></a>00170 
+<a name="l00138"></a>00138         _Ry = eye(dimy); <span class="comment">// needed in inv(_iRy)</span>
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00142"></a><a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">00142</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> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>) {
+<a name="l00143"></a>00143         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00144"></a>00144 
+<a name="l00145"></a>00145         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00146"></a>00146         vec y = dt.get( 0,dimy-1 );
+<a name="l00147"></a>00147         <span class="comment">//Time update</span>
+<a name="l00148"></a>00148         <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="l00149"></a>00149         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<a name="l00150"></a>00150         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( A );
+<a name="l00151"></a>00151         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
+<a name="l00152"></a>00152 
+<a name="l00153"></a>00153         <span class="comment">//Data update</span>
+<a name="l00154"></a>00154         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<a name="l00155"></a>00155         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.mult_sym( C, _Ry);
+<a name="l00156"></a>00156         _Ry+=R;
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.to_mat();
+<a name="l00159"></a>00159         
+<a name="l00160"></a>00160         _Ry.inv( _iRy ); <span class="comment">// result is in _iRy;</span>
+<a name="l00161"></a>00161         _K = Pfull*C.transpose()*(_iRy.to_mat());
+<a name="l00162"></a>00162         <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="l00163"></a>00163         _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="l00164"></a>00164         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
+<a name="l00165"></a>00165         
+<a name="l00166"></a>00166         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
+<a name="l00167"></a>00167         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.cols()*0.79817986835811504957 \
+<a name="l00168"></a>00168         +_Ry.logdet() +_iRy.qform(_yp));
+<a name="l00169"></a>00169         }
+<a name="l00170"></a>00170 };
 <a name="l00171"></a>00171 
-<a name="l00172"></a>00172 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00173"></a><a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">00173</a> <a class="code" href="classEKF.html#ec441d41529eeae4a1309426386b4a10" title="Default constructor.">EKF&lt;sq_T&gt;::EKF</a>(<span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> fxu0, <span class="keyword">const</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> hxu0): fxu(fxu0), hxu(hxu0),<a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&gt;(fxu0._dimx(),fxu0._dimu(),hxu0._dimy()) {
-<a name="l00174"></a>00174                 
-<a name="l00175"></a>00175                 <span class="comment">//initialize matrices A C, later, these will be only updated!</span>
-<a name="l00176"></a>00176                 fxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),A,<span class="keyword">true</span>);
-<a name="l00177"></a>00177                 hxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),C,<span class="keyword">true</span>);
-<a name="l00178"></a>00178 }
-<a name="l00179"></a>00179 
-<a name="l00180"></a>00180 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00181"></a><a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">00181</a> <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">EKF&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> evalll) {
-<a name="l00182"></a>00182         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00172"></a>00172 <span class="comment">//TODO why not const pointer??</span>
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00175"></a><a class="code" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">00175</a> <a class="code" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e" title="Default constructor.">EKF&lt;sq_T&gt;::EKF</a>( <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* pfxu0,  <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* phxu0, sq_T Q0, sq_T R0, vec mu0, mat P0): pfxu(pfxu0), phxu(phxu0), <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&gt;(pfxu0-&gt;_dimx(),pfxu0-&gt;_dimu(),phxu0-&gt;_dimy()) {
+<a name="l00176"></a>00176                 
+<a name="l00177"></a>00177                 <span class="comment">//initialize matrices A C, later, these will be only updated!</span>
+<a name="l00178"></a>00178                 pfxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),A,<span class="keyword">true</span>);
+<a name="l00179"></a>00179                 pfxu-&gt;<a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),B,<span class="keyword">true</span>);
+<a name="l00180"></a>00180                 phxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),C,<span class="keyword">true</span>);
+<a name="l00181"></a>00181                 phxu-&gt;<a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,zeros(dimu),D,<span class="keyword">true</span>);
+<a name="l00182"></a>00182                 
 <a name="l00183"></a>00183 
-<a name="l00184"></a>00184         vec u = dt.get( dimy,dimy+dimu-1 );
-<a name="l00185"></a>00185         vec y = dt.get( 0,dimy-1 );
-<a name="l00186"></a>00186         <span class="comment">//Time update</span>
-<a name="l00187"></a>00187         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = fxu.<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>, u);
-<a name="l00188"></a>00188         fxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,A,<span class="keyword">false</span>); <span class="comment">//update A by a derivative of fx</span>
-<a name="l00189"></a>00189         
-<a name="l00190"></a>00190         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
-<a name="l00191"></a>00191         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( A );
-<a name="l00192"></a>00192         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
-<a name="l00193"></a>00193 
-<a name="l00194"></a>00194         <span class="comment">//Data update</span>
-<a name="l00195"></a>00195         hxu.<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,C,<span class="keyword">false</span>); <span class="comment">//update C by a derivative hx</span>
-<a name="l00196"></a>00196         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
-<a name="l00197"></a>00197         _Ry.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( C, <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>);
-<a name="l00198"></a>00198         _Ry+=R;
-<a name="l00199"></a>00199 
-<a name="l00200"></a>00200         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>();
-<a name="l00201"></a>00201         
-<a name="l00202"></a>00202         _Ry.<a class="code" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">inv</a>( _iRy ); <span class="comment">// result is in _iRy;</span>
-<a name="l00203"></a>00203         _K = Pfull*C.transpose()*(_iRy.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>());
-<a name="l00204"></a>00204         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> -= _K*C*Pfull; <span class="comment">// P = P -KCP;</span>
-<a name="l00205"></a>00205         _yp = y-hxu.<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u); <span class="comment">//y prediction</span>
-<a name="l00206"></a>00206         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
-<a name="l00207"></a>00207         
-<a name="l00208"></a>00208         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
-<a name="l00209"></a>00209         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.<a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()*0.79817986835811504957 \
-<a name="l00210"></a>00210         +_Ry.<a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>() +_iRy.<a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(_yp));
-<a name="l00211"></a>00211         }
-<a name="l00212"></a>00212 };
-<a name="l00213"></a>00213 
-<a name="l00214"></a>00214 
-<a name="l00215"></a>00215 <span class="preprocessor">#endif // KF_H</span>
-<a name="l00216"></a>00216 <span class="preprocessor"></span>
-<a name="l00217"></a>00217 
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+<a name="l00184"></a>00184                 R = R0;
+<a name="l00185"></a>00185                 Q = Q0;
+<a name="l00186"></a>00186                 <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0;
+<a name="l00187"></a>00187                 <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0;
+<a name="l00188"></a>00188 
+<a name="l00189"></a>00189         <span class="keyword">using</span> std::cout;
+<a name="l00190"></a>00190         cout&lt;&lt;A&lt;&lt;std::endl;
+<a name="l00191"></a>00191         cout&lt;&lt;B&lt;&lt;std::endl;
+<a name="l00192"></a>00192         cout&lt;&lt;C&lt;&lt;std::endl;
+<a name="l00193"></a>00193         cout&lt;&lt;D&lt;&lt;std::endl;
+<a name="l00194"></a>00194 
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 
+<a name="l00197"></a>00197 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00198"></a><a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">00198</a> <span class="keywordtype">void</span> <a class="code" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747" title="Here dt = [yt;ut] of appropriate dimensions.">EKF&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt , <span class="keywordtype">bool</span> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>) {
+<a name="l00199"></a>00199         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00200"></a>00200 
+<a name="l00201"></a>00201         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00202"></a>00202         vec y = dt.get( 0,dimy-1 );
+<a name="l00203"></a>00203         <span class="comment">//Time update</span>
+<a name="l00204"></a>00204         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = pfxu-&gt;<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>, u);
+<a name="l00205"></a>00205         pfxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,A,<span class="keyword">false</span>); <span class="comment">//update A by a derivative of fx</span>
+<a name="l00206"></a>00206         
+<a name="l00207"></a>00207         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<a name="l00208"></a>00208         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( A );
+<a name="l00209"></a>00209         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>+=Q;
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211         <span class="comment">//Data update</span>
+<a name="l00212"></a>00212         phxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u,C,<span class="keyword">false</span>); <span class="comment">//update C by a derivative hx</span>
+<a name="l00213"></a>00213         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<a name="l00214"></a>00214         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( C, _Ry);
+<a name="l00215"></a>00215         _Ry+=R;
+<a name="l00216"></a>00216 
+<a name="l00217"></a>00217         mat Pfull = <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>();
+<a name="l00218"></a>00218         
+<a name="l00219"></a>00219         _Ry.<a class="code" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1" title="Matrix inversion preserving the chosen form.">inv</a>( _iRy ); <span class="comment">// result is in _iRy;</span>
+<a name="l00220"></a>00220         _K = Pfull*C.transpose()*(_iRy.<a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>());
+<a name="l00221"></a>00221         <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="l00222"></a>00222         _yp = y-phxu-&gt;<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(<a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>,u); <span class="comment">//y prediction</span>
+<a name="l00223"></a>00223         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> += _K*( _yp );
+<a name="l00224"></a>00224         
+<a name="l00225"></a>00225         <span class="keywordflow">if</span> (evalll==<span class="keyword">true</span>) {
+<a name="l00226"></a>00226         <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+= -0.5*(_Ry.<a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()*0.79817986835811504957 \
+<a name="l00227"></a>00227         +_Ry.<a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>() +_iRy.<a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(_yp));
+<a name="l00228"></a>00228         }
+<a name="l00229"></a>00229 };
+<a name="l00230"></a>00230 
+<a name="l00231"></a>00231 
+<a name="l00232"></a>00232 <span class="preprocessor">#endif // KF_H</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span>
+<a name="l00234"></a>00234 
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 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/libFN_8h-source.html
===================================================================
--- /doc/html/libFN_8h-source.html (revision 23)
+++ /doc/html/libFN_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -63,45 +64,44 @@
 <a name="l00061"></a>00061                 <span class="keywordtype">int</span> dimx;
 <a name="l00062"></a>00062                 <span class="keywordtype">int</span> dimu;
-<a name="l00063"></a>00063                 <span class="keywordtype">int</span> dimy;
-<a name="l00064"></a>00064         <span class="keyword">public</span>:
-<a name="l00066"></a><a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">00066</a>                 vec <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( <span class="keyword">const</span> vec &amp;cond )
-<a name="l00067"></a>00067                 {
-<a name="l00068"></a>00068                         it_assert_debug ( cond.length() == ( dimx+dimu ), <span class="stringliteral">"linfn::eval Wrong cond."</span> );
-<a name="l00069"></a>00069                         <span class="keywordflow">return</span> <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( cond ( 0,dimx-1 ),cond ( dimx,dimx+dimu ) );<span class="comment">//-1 = end (in matlab)</span>
-<a name="l00070"></a>00070                 };
-<a name="l00071"></a>00071 
-<a name="l00073"></a><a class="code" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">00073</a>                 <span class="keyword">virtual</span> vec <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0 ) {<span class="keywordflow">return</span> zeros ( dimy );};
-<a name="l00075"></a><a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">00075</a>                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;A , <span class="keywordtype">bool</span> full=<span class="keyword">true</span> ) {};
-<a name="l00077"></a><a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">00077</a>                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;A, <span class="keywordtype">bool</span> full=<span class="keyword">true</span> ) {};
-<a name="l00079"></a><a class="code" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">00079</a>                 <a class="code" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5" title="Default constructor (dimy is not set!).">diffbifn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu0 ) : rvx ( rvx0 ),rvu ( rvu0 ) {dimx=rvx.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();dimu=rvu.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();};
-<a name="l00081"></a><a class="code" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">00081</a>                 <span class="keywordtype">int</span> <a class="code" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57" title="access function">_dimx</a>()<span class="keyword"> const</span>{<span class="keywordflow">return</span> dimx;}
-<a name="l00083"></a><a class="code" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">00083</a>                 <span class="keywordtype">int</span> <a class="code" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879" title="access function">_dimu</a>()<span class="keyword"> const</span>{<span class="keywordflow">return</span> dimu;}
-<a name="l00084"></a>00084 };
-<a name="l00085"></a>00085 
-<a name="l00087"></a>00087 <span class="comment">//TODO can be generalized into multilinear form!</span>
-<a name="l00088"></a><a class="code" href="classbilinfn.html">00088</a> <span class="keyword">class </span><a class="code" href="classbilinfn.html" title="Class representing function $f(x,u) = Ax+Bu$.">bilinfn</a>: <span class="keyword">public</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>
-<a name="l00089"></a>00089 {
-<a name="l00090"></a>00090                 mat A;
-<a name="l00091"></a>00091                 mat B;
-<a name="l00092"></a>00092         <span class="keyword">public</span> :
-<a name="l00093"></a>00093                 vec <a class="code" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24" title="Evaluates $f(x0,u0)$.">eval</a> ( <span class="keyword">const</span>  vec &amp;x0, <span class="keyword">const</span> vec &amp;u0 );
-<a name="l00094"></a>00094 
-<a name="l00096"></a><a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">00096</a>                 <a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221" title="Default constructor.">bilinfn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvu0 ) : <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> ( rvx0,rvu0 ) ,A ( eye ( dimx ) ),B ( zeros ( dimx,dimu ) )       {};
-<a name="l00097"></a>00097                 <span class="comment">//</span>
-<a name="l00098"></a>00098                 <a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221" title="Default constructor.">bilinfn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvu0, <span class="keyword">const</span> mat &amp;A0, <span class="keyword">const</span> mat &amp;B0 );
-<a name="l00099"></a>00099                 <span class="comment">//</span>
-<a name="l00100"></a><a class="code" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">00100</a>                 <span class="keywordtype">void</span> <a class="code" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5" title="Evaluates  and writes result into A .">dfdx_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;F, <span class="keywordtype">bool</span> full )
-<a name="l00101"></a>00101                 {
-<a name="l00102"></a>00102                         it_assert_debug ( ( F.cols() ==A.cols() ) &amp; ( F.rows() ==A.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> );
-<a name="l00103"></a>00103                         <span class="keywordflow">if</span> ( full ) F=A;        <span class="comment">//else : nothing has changed no need to regenerate</span>
-<a name="l00104"></a>00104                 }
-<a name="l00105"></a>00105                 <span class="comment">//</span>
-<a name="l00106"></a><a class="code" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">00106</a>                 <span class="keywordtype">void</span> <a class="code" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b" title="Evaluates  and writes result into A .">dfdu_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;F,  <span class="keywordtype">bool</span> full=<span class="keyword">true</span> )
-<a name="l00107"></a>00107                 {
-<a name="l00108"></a>00108                         it_assert_debug ( ( F.cols() ==B.cols() ) &amp; ( F.rows() ==B.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> );
-<a name="l00109"></a>00109                         <span class="keywordflow">if</span> ( full ) F=B;        <span class="comment">//else : nothing has changed no need to regenerate</span>
-<a name="l00110"></a>00110                 }
-<a name="l00111"></a>00111 };
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+<a name="l00063"></a>00063         <span class="keyword">public</span>:
+<a name="l00065"></a><a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">00065</a>                 vec <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( <span class="keyword">const</span> vec &amp;cond )
+<a name="l00066"></a>00066                 {
+<a name="l00067"></a>00067                         it_assert_debug ( cond.length() == ( dimx+dimu ), <span class="stringliteral">"linfn::eval Wrong cond."</span> );
+<a name="l00068"></a>00068                         <span class="keywordflow">return</span> <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( cond ( 0,dimx-1 ),cond ( dimx,dimx+dimu ) );<span class="comment">//-1 = end (in matlab)</span>
+<a name="l00069"></a>00069                 };
+<a name="l00070"></a>00070 
+<a name="l00072"></a><a class="code" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">00072</a>                 <span class="keyword">virtual</span> vec <a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0 ) {<span class="keywordflow">return</span> zeros ( dimy );};
+<a name="l00074"></a><a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4">00074</a>                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;A , <span class="keywordtype">bool</span> full=<span class="keyword">true</span> ) {};
+<a name="l00076"></a><a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0">00076</a>                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;A, <span class="keywordtype">bool</span> full=<span class="keyword">true</span> ) {};
+<a name="l00078"></a><a class="code" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">00078</a>                 <a class="code" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5" title="Default constructor (dimy is not set!).">diffbifn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu0 ) : rvx ( rvx0 ),rvu ( rvu0 ) {dimx=rvx.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();dimu=rvu.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();};
+<a name="l00080"></a><a class="code" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57">00080</a>                 <span class="keywordtype">int</span> <a class="code" href="classdiffbifn.html#436de7a7301ea9eac7d6081b893bbf57" title="access function">_dimx</a>()<span class="keyword"> const</span>{<span class="keywordflow">return</span> dimx;}
+<a name="l00082"></a><a class="code" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">00082</a>                 <span class="keywordtype">int</span> <a class="code" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879" title="access function">_dimu</a>()<span class="keyword"> const</span>{<span class="keywordflow">return</span> dimu;}
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084 
+<a name="l00086"></a>00086 <span class="comment">//TODO can be generalized into multilinear form!</span>
+<a name="l00087"></a><a class="code" href="classbilinfn.html">00087</a> <span class="keyword">class </span><a class="code" href="classbilinfn.html" title="Class representing function $f(x,u) = Ax+Bu$.">bilinfn</a>: <span class="keyword">public</span> <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089                 mat A;
+<a name="l00090"></a>00090                 mat B;
+<a name="l00091"></a>00091         <span class="keyword">public</span> :
+<a name="l00092"></a>00092                 vec <a class="code" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24" title="Evaluates $f(x0,u0)$.">eval</a> ( <span class="keyword">const</span>  vec &amp;x0, <span class="keyword">const</span> vec &amp;u0 );
+<a name="l00093"></a>00093 
+<a name="l00095"></a><a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">00095</a>                 <a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221" title="Default constructor.">bilinfn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvu0 ) : <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a> ( rvx0,rvu0 ) ,A ( eye ( dimx ) ),B ( zeros ( dimx,dimu ) )       {};
+<a name="l00096"></a>00096                 <span class="comment">//</span>
+<a name="l00097"></a>00097                 <a class="code" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221" title="Default constructor.">bilinfn</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvx0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvu0, <span class="keyword">const</span> mat &amp;A0, <span class="keyword">const</span> mat &amp;B0 );
+<a name="l00098"></a>00098                 <span class="comment">//</span>
+<a name="l00099"></a><a class="code" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5">00099</a>                 <span class="keywordtype">void</span> <a class="code" href="classbilinfn.html#79c022de8dbe2b054bb9cc49345f3ef5" title="Evaluates  and writes result into A .">dfdx_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;F, <span class="keywordtype">bool</span> full )
+<a name="l00100"></a>00100                 {
+<a name="l00101"></a>00101                         it_assert_debug ( ( F.cols() ==A.cols() ) &amp; ( F.rows() ==A.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> );
+<a name="l00102"></a>00102                         <span class="keywordflow">if</span> ( full ) F=A;        <span class="comment">//else : nothing has changed no need to regenerate</span>
+<a name="l00103"></a>00103                 }
+<a name="l00104"></a>00104                 <span class="comment">//</span>
+<a name="l00105"></a><a class="code" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b">00105</a>                 <span class="keywordtype">void</span> <a class="code" href="classbilinfn.html#90f2b15612b14883d6ed2b0e295cb82b" title="Evaluates  and writes result into A .">dfdu_cond</a> ( <span class="keyword">const</span> vec &amp;x0, <span class="keyword">const</span> vec &amp;u0, mat &amp;F,  <span class="keywordtype">bool</span> full=<span class="keyword">true</span> )
+<a name="l00106"></a>00106                 {
+<a name="l00107"></a>00107                         it_assert_debug ( ( F.cols() ==B.cols() ) &amp; ( F.rows() ==B.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> );
+<a name="l00108"></a>00108                         <span class="keywordflow">if</span> ( full ) F=B;        <span class="comment">//else : nothing has changed no need to regenerate</span>
+<a name="l00109"></a>00109                 }
+<a name="l00110"></a>00110 };
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libPF_8h-source.html
===================================================================
--- /doc/html/libPF_8h-source.html (revision 22)
+++ /doc/html/libPF_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -35,5 +36,5 @@
 <a name="l00038"></a>00038         <a class="code" href="classPF.html" title="A Particle Filter prototype.">PF</a> (vec w);
 <a name="l00039"></a>00039         <span class="comment">//TODO remove or implement bayes()!</span>
-<a name="l00040"></a><a class="code" href="classPF.html#eb06bd7d4325f22f54233967295793b9">00040</a>         <span class="keywordtype">void</span> <a class="code" href="classPF.html#eb06bd7d4325f22f54233967295793b9" title="Incremental Bayes rule.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evell){};
+<a name="l00040"></a>00040         <span class="keywordtype">void</span> bayes(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evell){};
 <a name="l00041"></a>00041 };
 <a name="l00042"></a>00042 
@@ -42,12 +43,12 @@
 <a name="l00051"></a>00051         
 <a name="l00052"></a>00052         <span class="keywordtype">bool</span> is_proposal;
-<a name="l00053"></a>00053         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *prop;
+<a name="l00053"></a>00053         <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> *prop;
 <a name="l00054"></a>00054         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *par;
 <a name="l00055"></a>00055         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> *obs;
 <a name="l00056"></a>00056         
 <a name="l00057"></a>00057         <span class="keyword">public</span>:
-<a name="l00058"></a>00058         <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="l00058"></a>00058         <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="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> &amp;prop, <span class="keywordtype">int</span> n0);
 <a name="l00059"></a>00059         <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="l00060"></a>00060         <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="l00060"></a>00060         <span class="keywordtype">void</span> bayes(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>);
 <a name="l00061"></a>00061 };
 <a name="l00062"></a>00062 
@@ -56,5 +57,5 @@
 <a name="l00065"></a>00065         <span class="keyword">public</span>:
 <a name="l00066"></a>00066         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="l00067"></a>00067         <span class="keywordtype">void</span> <a class="code" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389" title="Incremental Bayes rule.">bayes</a>(vec &amp;dt);    
+<a name="l00067"></a>00067         <span class="keywordtype">void</span> bayes(vec &amp;dt);    
 <a name="l00068"></a>00068 };
 <a name="l00069"></a>00069 
@@ -62,5 +63,5 @@
 <a name="l00071"></a>00071 <span class="preprocessor"></span>
 <a name="l00072"></a>00072 
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 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/classbilinfn-members.html
===================================================================
--- /doc/html/classbilinfn-members.html (revision 23)
+++ /doc/html/classbilinfn-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -31,10 +32,10 @@
   <tr bgcolor="#f0f0f0"><td><b>dimu</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classfnc.html">fnc</a>)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">eval</a>(const vec &amp;x0, const vec &amp;u0)</td><td><a class="el" href="classbilinfn.html">bilinfn</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">diffbifn::eval</a>(const vec &amp;cond)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>rvu</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>rvx</b> (defined in <a class="el" href="classdiffbifn.html">diffbifn</a>)</td><td><a class="el" href="classdiffbifn.html">diffbifn</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classenorm.html
===================================================================
--- /doc/html/classenorm.html (revision 22)
+++ /doc/html/classenorm.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -111,5 +112,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libBM_8h-source.html
===================================================================
--- /doc/html/libBM_8h-source.html (revision 22)
+++ /doc/html/libBM_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -56,55 +57,58 @@
 <a name="l00072"></a>00072 
 <a name="l00074"></a><a class="code" href="classfnc.html">00074</a> <span class="keyword">class </span><a class="code" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv.">fnc</a> {
-<a name="l00075"></a>00075         <span class="keywordtype">int</span> dimy;
-<a name="l00076"></a>00076 <span class="keyword">public</span>: 
-<a name="l00078"></a><a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">00078</a>         <span class="keyword">virtual</span> vec <a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c" title="function evaluates numerical value of $f(x)$ at $x=cond$">eval</a>(<span class="keyword">const</span> vec &amp;cond){}; <span class="comment">//Fixme: virtual?</span>
-<a name="l00080"></a><a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">00080</a> <span class="comment"></span>        <span class="keywordtype">int</span> <a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298" title="access function">_dimy</a>()<span class="keyword">const</span>{<span class="keywordflow">return</span> dimy;}
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082 
-<a name="l00084"></a><a class="code" href="classBM.html">00084</a> <span class="keyword">class </span><a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> {
-<a name="l00085"></a>00085 <span class="keyword">public</span>:
-<a name="l00087"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00087</a>         <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>;
-<a name="l00088"></a>00088 
-<a name="l00090"></a><a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">00090</a>         <a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae" title="Default constructor.">BM</a>(){<a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>=0;};
-<a name="l00091"></a>00091         
-<a name="l00096"></a>00096         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( <span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> evall=<span class="keyword">true</span> ) = 0;
-<a name="l00098"></a>00098         <span class="keywordtype">void</span> <a class="code" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0" title="Incremental Bayes rule.">bayes</a> ( mat Dt );
-<a name="l00099"></a>00099 };
-<a name="l00100"></a>00100 
-<a name="l00102"></a><a class="code" href="classepdf.html">00102</a> <span class="keyword">class </span><a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
-<a name="l00103"></a>00103         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00104"></a>00104 <span class="keyword">public</span>:
-<a name="l00106"></a>00106 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
-<a name="l00108"></a>00108 <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa" title="Returns the required moment of the epdf.">sample</a> ()=0;
-<a name="l00110"></a><a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">00110</a>         <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc" title="Compute probability of argument val.">eval</a>(<span class="keyword">const</span> vec &amp;val){};
-<a name="l00111"></a>00111 };
-<a name="l00112"></a>00112 
-<a name="l00114"></a><a class="code" href="classmpdf.html">00114</a> <span class="keyword">class </span><a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> {
-<a name="l00116"></a>00116         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
-<a name="l00118"></a>00118         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
-<a name="l00119"></a>00119 <span class="keyword">public</span>:
-<a name="l00120"></a>00120 
-<a name="l00122"></a>00122 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
-<a name="l00124"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00124</a> <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41" title="Returns the required moment of the epdf.">samplecond</a> (vec &amp;cond, <span class="keywordtype">double</span> lik){};
-<a name="l00125"></a>00125         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){};
-<a name="l00126"></a>00126 };
-<a name="l00127"></a>00127 
-<a name="l00134"></a><a class="code" href="classDS.html">00134</a> <span class="keyword">class </span><a class="code" href="classDS.html" title="Abstract class for discrete-time sources of data.">DS</a> {
-<a name="l00135"></a>00135 <span class="keyword">protected</span>:
-<a name="l00137"></a><a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">00137</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454" title="Observed variables, returned by getdata().">Drv</a>; 
-<a name="l00139"></a><a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">00139</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629" title="Action variables, accepted by write().">Urv</a>; <span class="comment">//</span>
-<a name="l00140"></a>00140 <span class="keyword">public</span>:
-<a name="l00142"></a>00142         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt);
-<a name="l00144"></a>00144         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt, ivec &amp;indeces);
-<a name="l00146"></a>00146         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut);
-<a name="l00148"></a>00148         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut, ivec &amp;indeces);
-<a name="l00154"></a>00154         <span class="keywordtype">void</span> <a class="code" href="classDS.html#9a35ca9c9321dce2bf63bf668f785b75" title="Method that assigns random variables to the datasource. Typically, the datasource...">linkrvs</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;drv, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;urv);
-<a name="l00155"></a>00155         
-<a name="l00157"></a>00157         <span class="keywordtype">void</span> <a class="code" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6" title="Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system...">step</a>();
-<a name="l00158"></a>00158 };
-<a name="l00159"></a>00159 
-<a name="l00160"></a>00160 
-<a name="l00161"></a>00161 <span class="preprocessor">#endif // BM_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+<a name="l00075"></a>00075 <span class="keyword">protected</span>:
+<a name="l00076"></a>00076         <span class="keywordtype">int</span> dimy;
+<a name="l00077"></a>00077 <span class="keyword">public</span>: 
+<a name="l00079"></a><a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">00079</a>         <span class="keyword">virtual</span> vec <a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c" title="function evaluates numerical value of $f(x)$ at $x=cond$">eval</a>(<span class="keyword">const</span> vec &amp;cond){}; <span class="comment">//Fixme: virtual?</span>
+<a name="l00081"></a><a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">00081</a> <span class="comment"></span>        <span class="keywordtype">int</span> <a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298" title="access function">_dimy</a>()<span class="keyword">const</span>{<span class="keywordflow">return</span> dimy;}
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083 
+<a name="l00087"></a><a class="code" href="classBM.html">00087</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="l00088"></a>00088 <span class="keyword">public</span>:
+<a name="l00090"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00090</a>         <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>;
+<a name="l00092"></a><a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">00092</a>         <span class="keywordtype">bool</span> <a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129" title="If true, the filter will compute likelihood of the data record and store it in ll...">evalll</a>;
+<a name="l00093"></a>00093 
+<a name="l00095"></a><a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">00095</a>         <a class="code" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae" title="Default constructor.">BM</a>():<a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>(0),evall(true){};
+<a name="l00096"></a>00096         
+<a name="l00100"></a>00100         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf" title="Incremental Bayes rule.">bayes</a> ( <span class="keyword">const</span> vec &amp;dt) = 0;
+<a name="l00102"></a>00102         <span class="keywordtype">void</span> <a class="code" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf" title="Incremental Bayes rule.">bayes</a> ( mat Dt );
+<a name="l00104"></a>00104         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>* <a class="code" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077" title="Returns a pointer to the epdf representing posterior density on parameters. Use with...">_epdf</a>();
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106 
+<a name="l00108"></a><a class="code" href="classepdf.html">00108</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="l00109"></a>00109         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00110"></a>00110 <span class="keyword">public</span>:
+<a name="l00112"></a>00112 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
+<a name="l00114"></a>00114 <span class="comment"></span>        <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa" title="Returns the required moment of the epdf.">sample</a> ()=0;
+<a name="l00116"></a><a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">00116</a>         <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc" title="Compute probability of argument val.">eval</a>(<span class="keyword">const</span> vec &amp;val){};
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118 
+<a name="l00120"></a><a class="code" href="classmpdf.html">00120</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="l00122"></a>00122         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00124"></a>00124         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
+<a name="l00125"></a>00125 <span class="keyword">public</span>:
+<a name="l00126"></a>00126 
+<a name="l00128"></a>00128 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
+<a name="l00130"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00130</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="l00131"></a>00131         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition (vec &amp;cond){};
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133 
+<a name="l00140"></a><a class="code" href="classDS.html">00140</a> <span class="keyword">class </span><a class="code" href="classDS.html" title="Abstract class for discrete-time sources of data.">DS</a> {
+<a name="l00141"></a>00141 <span class="keyword">protected</span>:
+<a name="l00143"></a><a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">00143</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454" title="Observed variables, returned by getdata().">Drv</a>; 
+<a name="l00145"></a><a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">00145</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629" title="Action variables, accepted by write().">Urv</a>; <span class="comment">//</span>
+<a name="l00146"></a>00146 <span class="keyword">public</span>:
+<a name="l00148"></a>00148         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt);
+<a name="l00150"></a>00150         <span class="keywordtype">void</span> <a class="code" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata</a>(vec &amp;dt, ivec &amp;indeces);
+<a name="l00152"></a>00152         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut);
+<a name="l00154"></a>00154         <span class="keywordtype">void</span> <a class="code" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write</a>(vec &amp;ut, ivec &amp;indeces);
+<a name="l00160"></a>00160         <span class="keywordtype">void</span> <a class="code" href="classDS.html#9a35ca9c9321dce2bf63bf668f785b75" title="Method that assigns random variables to the datasource. Typically, the datasource...">linkrvs</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;drv, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;urv);
+<a name="l00161"></a>00161         
+<a name="l00163"></a>00163         <span class="keywordtype">void</span> <a class="code" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6" title="Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system...">step</a>();
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165 
+<a name="l00166"></a>00166 
+<a name="l00167"></a>00167 <span class="preprocessor">#endif // BM_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/itpp__ext_8h-source.html
===================================================================
--- /doc/html/itpp__ext_8h-source.html (revision 22)
+++ /doc/html/itpp__ext_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -29,5 +30,5 @@
 <a name="l00015"></a>00015         Array&lt;int&gt; to_Arr(<span class="keyword">const</span> ivec &amp;indices);
 <a name="l00016"></a>00016 }
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libPF_8h.html
===================================================================
--- /doc/html/libPF_8h.html (revision 22)
+++ /doc/html/libPF_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -52,5 +53,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 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/classMemDS.html
===================================================================
--- /doc/html/classMemDS.html (revision 23)
+++ /doc/html/classMemDS.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -70,4 +71,13 @@
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>MemDS</b> (mat &amp;Dat, ivec &amp;rowid, ivec &amp;delays)</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="1012025a1a3a1fdd24aa48698a3d3454"></a><!-- doxytag: member="MemDS::Drv" ref="1012025a1a3a1fdd24aa48698a3d3454" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">Drv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Observed variables, returned by <code><a class="el" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1" title="Returns full vector of observed data.">getdata()</a></code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a88ffaeb3c7c2cf30c69bc41a000629"></a><!-- doxytag: member="MemDS::Urv" ref="0a88ffaeb3c7c2cf30c69bc41a000629" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">Urv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Action variables, accepted by <code><a class="el" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039" title="Accepts action variable and schedule it for application.">write()</a></code>. <br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -111,5 +121,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libDS_8h-source.html">libDS.h</a><li>work/mixpp/bdm/stat/libDS.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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 22)
+++ /doc/html/classenorm-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -31,5 +32,5 @@
   <tr class="memlist"><td><a class="el" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">tupdate</a>(double phi, mat &amp;vbar, double nubar)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e">tupdate</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classepdf.html
===================================================================
--- /doc/html/classepdf.html (revision 22)
+++ /doc/html/classepdf.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -79,5 +80,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classmpdf.html
===================================================================
--- /doc/html/classmpdf.html (revision 22)
+++ /doc/html/classmpdf.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -84,5 +85,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classRV.html
===================================================================
--- /doc/html/classRV.html (revision 22)
+++ /doc/html/classRV.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -85,5 +86,5 @@
 More?... <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a><li>work/mixpp/bdm/stat/libBM.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:45 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/classMemDS-members.html
===================================================================
--- /doc/html/classMemDS-members.html (revision 23)
+++ /doc/html/classMemDS-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -30,5 +31,5 @@
   <tr class="memlist"><td><a class="el" href="classMemDS.html#b120ed178f7c848f1227c928d8a79be8">write</a>(vec &amp;ut)</td><td><a class="el" href="classMemDS.html">MemDS</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classMemDS.html#6279bf18d44343750747ecc12e050f09">write</a>(vec &amp;ut, ivec &amp;indexes)</td><td><a class="el" href="classMemDS.html">MemDS</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/classEKF.html
===================================================================
--- /doc/html/classEKF.html (revision 23)
+++ /doc/html/classEKF.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -37,5 +38,5 @@
 <p><center><img src="classEKF__coll__graph.png" border="0" usemap="#EKF_3_01sq__T_01_4__coll__map" alt="Collaboration graph"></center>
 <map name="EKF_3_01sq__T_01_4__coll__map">
-<area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="61,337,208,364"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,7,48,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="48,172,176,199"><area shape="rect" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix." alt="" coords="200,172,267,199"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="229,196,237,204"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="164,333,172,341"><area shape="rect" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square&#45;root form..." alt="" coords="203,7,264,33"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="109,196,117,204"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="127,333,135,341"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="108,31,116,39"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="108,168,116,176"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="277,337,344,364"><area shape="rect" title="fxu\nhxu" alt="" coords="299,361,307,369"><area shape="rect" title="fxu\nhxu" alt="" coords="252,445,260,453"><area shape="rect" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="291,172,331,199"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="355,172,392,199"><area shape="rect" title="rvu\nrvx" alt="" coords="365,196,373,204"><area shape="rect" title="rvu\nrvx" alt="" coords="313,333,321,341"></map>
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="61,337,208,364"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,7,48,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="48,172,176,199"><area shape="rect" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix." alt="" coords="200,172,267,199"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="229,196,237,204"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="164,333,172,341"><area shape="rect" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square&#45;root form..." alt="" coords="203,7,264,33"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="109,196,117,204"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="127,333,135,341"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="108,31,116,39"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="108,168,116,176"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="277,337,344,364"><area shape="rect" title="pfxu\nphxu" alt="" coords="299,361,307,369"><area shape="rect" title="pfxu\nphxu" alt="" coords="252,445,260,453"><area shape="rect" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="291,172,331,199"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="355,172,392,199"><area shape="rect" title="rvu\nrvx" alt="" coords="365,196,373,204"><area shape="rect" title="rvu\nrvx" alt="" coords="313,333,321,341"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -44,12 +45,84 @@
 <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="ec441d41529eeae4a1309426386b4a10"></a><!-- doxytag: member="EKF::EKF" ref="ec441d41529eeae4a1309426386b4a10" args="(const diffbifn fxu, const diffbifn hxu)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF</a> (const <a class="el" href="classdiffbifn.html">diffbifn</a> fxu, const <a class="el" href="classdiffbifn.html">diffbifn</a> hxu)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="003687c6cf2a01be90a00e2c99e3863e"></a><!-- doxytag: member="EKF::EKF" ref="003687c6cf2a01be90a00e2c99e3863e" args="(diffbifn *pfxu, diffbifn *phxu, sq_T Q0, sq_T R0, vec mu0, mat P0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF</a> (<a class="el" href="classdiffbifn.html">diffbifn</a> *pfxu, <a class="el" href="classdiffbifn.html">diffbifn</a> *phxu, sq_T Q0, sq_T R0, vec mu0, mat P0)</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="fb0a08463f14e5584344ea2df99fe747"></a><!-- doxytag: member="EKF::bayes" ref="fb0a08463f14e5584344ea2df99fe747" args="(const vec &amp;dt, bool evalll=true)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">bayes</a> (const vec &amp;dt, bool evalll=true)</td></tr>
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">bayes</a> (const vec &amp;dt, bool <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="EKF::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="EKF::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="EKF::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="EKF::P" ref="188cd5ac1c9e496b1a371eb7c57c97d3" args="" -->
+<a class="el" href="classfsqmat.html">fsqmat</a>&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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="EKF::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="EKF::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="EKF::dimx" ref="39c8c403b46fa3b8c7da77cb2e3729eb" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba17b956df1e38b31fbbc299c8213b6a"></a><!-- doxytag: member="EKF::dimy" ref="ba17b956df1e38b31fbbc299c8213b6a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0153795a1444b6968a86409c778d9ce"></a><!-- doxytag: member="EKF::dimu" ref="b0153795a1444b6968a86409c778d9ce" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e02efe86ee91e9c74b93b425fe060b9"></a><!-- doxytag: member="EKF::A" ref="5e02efe86ee91e9c74b93b425fe060b9" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>A</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc87704284a6c0bca13bf51f4345a50a"></a><!-- doxytag: member="EKF::B" ref="dc87704284a6c0bca13bf51f4345a50a" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>B</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86a805cd6515872d1132ad0d6eb5dc13"></a><!-- doxytag: member="EKF::C" ref="86a805cd6515872d1132ad0d6eb5dc13" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>C</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d69f774ba3335c970c1c5b1d182f4dd1"></a><!-- doxytag: member="EKF::D" ref="d69f774ba3335c970c1c5b1d182f4dd1" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>D</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11d171dc0e0ab111c56a70f98b97b3ec"></a><!-- doxytag: member="EKF::R" ref="11d171dc0e0ab111c56a70f98b97b3ec" args="" -->
+<a class="el" href="classfsqmat.html">fsqmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>R</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b69015c800eb93f3ee49da23a6f55d9"></a><!-- doxytag: member="EKF::Q" ref="9b69015c800eb93f3ee49da23a6f55d9" args="" -->
+<a class="el" href="classfsqmat.html">fsqmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Q</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="EKF::_K" ref="d422f51467c7a06174af2476d2826132" args="" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>_K</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30b7461989185d3d02cf42b8e2a37649"></a><!-- doxytag: member="EKF::_yp" ref="30b7461989185d3d02cf42b8e2a37649" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="477dca07d91ea1a1f41d51bb0229934f"></a><!-- doxytag: member="EKF::_Ry" ref="477dca07d91ea1a1f41d51bb0229934f" args="" -->
+<a class="el" href="classfsqmat.html">fsqmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15f1a793210750a7e4642fcd948b24c5"></a><!-- doxytag: member="EKF::_iRy" ref="15f1a793210750a7e4642fcd948b24c5" args="" -->
+<a class="el" href="classfsqmat.html">fsqmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86ba216243ed95bb46d80d88775d16af"></a><!-- doxytag: member="EKF::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>
@@ -59,7 +132,35 @@
 Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter. 
 <p>
-An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean. <hr>The documentation for this class was generated from the following file:<ul>
+An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="EKF::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=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>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual, inherited]</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>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classepdf-members.html
===================================================================
--- /doc/html/classepdf-members.html (revision 22)
+++ /doc/html/classepdf-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -23,5 +24,5 @@
   <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a>()=0</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [pure virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/files.html
===================================================================
--- /doc/html/files.html (revision 22)
+++ /doc/html/files.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -23,5 +24,5 @@
   <tr><td class="indexkey">work/mixpp/bdm/stat/<b>libFN.h</b> <a href="libFN_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:23 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/functions_vars.html
===================================================================
--- /doc/html/functions_vars.html (revision 22)
+++ /doc/html/functions_vars.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -33,4 +34,6 @@
 <li>Drv
 : <a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">DS</a>
+<li>evalll
+: <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">BM</a>
 <li>ll
 : <a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">BM</a>
@@ -44,5 +47,5 @@
 : <a class="el" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classmpdf-members.html
===================================================================
--- /doc/html/classmpdf-members.html (revision 22)
+++ /doc/html/classmpdf-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -23,5 +24,5 @@
   <tr bgcolor="#f0f0f0"><td><b>condition</b>(vec &amp;cond) (defined in <a class="el" href="classmpdf.html">mpdf</a>)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">samplecond</a>(vec &amp;cond, double lik)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classRV-members.html
===================================================================
--- /doc/html/classRV-members.html (revision 22)
+++ /doc/html/classRV-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -33,5 +34,5 @@
   <tr class="memlist"><td><a class="el" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a">subt</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#e0a158d53ab9430627241f844f4c9a60">t</a>(int delta)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:45 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 22)
+++ /doc/html/libDC_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,107 +22,110 @@
 <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="l00058"></a>00058         <span class="keyword">virtual</span> vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v) =0;
-<a name="l00059"></a>00059         
-<a name="l00064"></a>00064         <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="l00065"></a>00065 
-<a name="l00066"></a>00066 <span class="comment">//      //! easy version of the </span>
-<a name="l00067"></a>00067 <span class="comment">//      sqmat inv();</span>
-<a name="l00068"></a>00068 
-<a name="l00070"></a>00070         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e" title="Clearing matrix so that it corresponds to zeros.">clear</a>() =0;
-<a name="l00071"></a>00071         
-<a name="l00073"></a><a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">00073</a>         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;};
-<a name="l00074"></a>00074 
-<a name="l00076"></a><a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">00076</a>         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;};
-<a name="l00077"></a>00077 
-<a name="l00078"></a>00078 <span class="keyword">protected</span>:
-<a name="l00079"></a>00079         <span class="keywordtype">int</span> dim;
-<a name="l00080"></a>00080 };
-<a name="l00081"></a>00081 
+<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 {
+<a name="l00026"></a>00026         <span class="keyword">public</span>:
+<a name="l00034"></a>00034                 <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="l00035"></a>00035 
+<a name="l00039"></a>00039                 <span class="keyword">virtual</span> mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>() =0;
+<a name="l00040"></a>00040 
+<a name="l00045"></a>00045                 <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="l00046"></a>00046 
+<a name="l00047"></a>00047 
+<a name="l00052"></a>00052                 <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="l00053"></a>00053 
+<a name="l00059"></a>00059                 <span class="keyword">virtual</span> vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> ( vec &amp;v ) =0;
+<a name="l00060"></a>00060 
+<a name="l00065"></a>00065                 <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="l00066"></a>00066 
+<a name="l00067"></a>00067 <span class="comment">//      //! easy version of the</span>
+<a name="l00068"></a>00068 <span class="comment">//      sqmat inv();</span>
+<a name="l00069"></a>00069 
+<a name="l00071"></a>00071                 <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="l00072"></a>00072 
+<a name="l00074"></a><a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">00074</a>                 <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;};
+<a name="l00075"></a>00075 
+<a name="l00077"></a><a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">00077</a>                 <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> dim;};
+<a name="l00078"></a>00078 
+<a name="l00079"></a>00079         <span class="keyword">protected</span>:
+<a name="l00080"></a>00080                 <span class="keywordtype">int</span> dim;
+<a name="l00081"></a>00081 };
 <a name="l00082"></a>00082 
-<a name="l00087"></a><a class="code" href="classfsqmat.html">00087</a> <span class="keyword">class </span><a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>: <span class="keyword">public</span> <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> {
-<a name="l00088"></a>00088 <span class="keyword">protected</span>:
-<a name="l00089"></a>00089 mat M;
-<a name="l00090"></a>00090 <span class="keyword">public</span>:
-<a name="l00091"></a>00091         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a>( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w );
-<a name="l00092"></a>00092         mat <a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>();
-<a name="l00093"></a>00093         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
-<a name="l00094"></a>00094    <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
-<a name="l00095"></a>00095         <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;Inv);
-<a name="l00096"></a>00096         <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4" title="Clearing matrix so that it corresponds to zeros.">clear</a>();
-<a name="l00097"></a>00097         
-<a name="l00098"></a>00098         
-<a name="l00099"></a>00099         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(){}; <span class="comment">// mat will be initialized OK</span>
-<a name="l00101"></a>00101 <span class="comment"></span>        <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(<span class="keyword">const</span> mat &amp;M);
-<a name="l00102"></a>00102         
-<a name="l00108"></a>00108         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(<a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>* Inv);
-<a name="l00109"></a>00109         
-<a name="l00110"></a><a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">00110</a>         <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>(){<span class="keywordflow">return</span> log(det(M));};
-<a name="l00111"></a><a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">00111</a>         <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(vec &amp;v){<span class="keywordflow">return</span> (v*(M*v));};
-<a name="l00112"></a><a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">00112</a>         vec <a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v){it_error(<span class="stringliteral">"not implemented"</span>);<span class="keywordflow">return</span> v;};
-<a name="l00113"></a>00113 
-<a name="l00114"></a>00114         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator += (<span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A){M+=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
-<a name="l00115"></a>00115         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator -= (<span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A){M-=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
-<a name="l00116"></a>00116         <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator *= (<span class="keywordtype">double</span> x){M*=x;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
-<a name="l00117"></a>00117 };
-<a name="l00118"></a>00118 
-<a name="l00119"></a>00119 <span class="keyword">class </span>ldmat: <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> {
-<a name="l00120"></a>00120 <span class="keyword">public</span>:
-<a name="l00121"></a>00121 
-<a name="l00123"></a>00123         ldmat( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
-<a name="l00125"></a>00125         ldmat( mat V );
-<a name="l00127"></a>00127         ldmat( vec D0 );
-<a name="l00128"></a>00128         ldmat ();
-<a name="l00129"></a>00129 
-<a name="l00130"></a>00130         <span class="comment">// Reimplementation of compulsory operatios</span>
-<a name="l00131"></a>00131 
-<a name="l00132"></a>00132         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#b223484796661f2dadb5607a86ce0581">opupdt</a>( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w );
-<a name="l00133"></a>00133         mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
-<a name="l00134"></a>00134    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
-<a name="l00135"></a>00135         <span class="keywordtype">void</span> <span class="keyword">add</span> ( <span class="keyword">const</span> ldmat &amp;ld2, <span class="keywordtype">double</span> w=1.0 );
-<a name="l00136"></a>00136         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>();
-<a name="l00137"></a>00137         <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a>(vec &amp;v);
-<a name="l00138"></a>00138 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
-<a name="l00139"></a>00139         <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e" title="Clearing matrix so that it corresponds to zeros.">clear</a>();
-<a name="l00140"></a>00140         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>();
-<a name="l00141"></a>00141         <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>();
-<a name="l00142"></a>00142         vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a>(vec &amp;v);
-<a name="l00143"></a>00143 
-<a name="l00149"></a>00149         <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv(ldmat &amp;Inv);
-<a name="l00150"></a>00150         
-<a name="l00156"></a>00156    <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a>( <span class="keyword">const</span> mat &amp;C, ldmat &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
-<a name="l00157"></a>00157 
-<a name="l00166"></a>00166    <span class="keywordtype">void</span> ldform( mat &amp;A, vec &amp;D0 );
-<a name="l00167"></a>00167 
-<a name="l00168"></a>00168         ldmat&amp; operator += (<span class="keyword">const</span> ldmat &amp;ldA);
-<a name="l00169"></a>00169         ldmat&amp; operator -= (<span class="keyword">const</span> ldmat &amp;ldA);
-<a name="l00170"></a>00170         ldmat&amp; operator *= (<span class="keywordtype">double</span> x);
-<a name="l00171"></a>00171         
-<a name="l00172"></a>00172         <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq );
-<a name="l00173"></a>00173 
-<a name="l00174"></a>00174 <span class="keyword">protected</span>:
-<a name="l00175"></a>00175         vec D;
-<a name="l00176"></a>00176         mat L;
-<a name="l00177"></a>00177 
-<a name="l00178"></a>00178 };
-<a name="l00179"></a>00179 
-<a name="l00181"></a>00181 
-<a name="l00182"></a>00182 <span class="keyword">inline</span> ldmat&amp; ldmat::operator += (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA);<span class="keywordflow">return</span> *<span class="keyword">this</span>;}
-<a name="l00183"></a>00183 <span class="keyword">inline</span> ldmat&amp; ldmat::operator -= (<span class="keyword">const</span> ldmat &amp;ldA)  {this-&gt;<span class="keyword">add</span>(ldA,-1.0);<span class="keywordflow">return</span> *<span class="keyword">this</span>;}
-<a name="l00184"></a>00184 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">ldmat::cols</a>(){<span class="keywordflow">return</span> dim;}
-<a name="l00185"></a>00185 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">ldmat::rows</a>(){<span class="keywordflow">return</span> dim;}
-<a name="l00186"></a>00186 
-<a name="l00187"></a>00187 <span class="preprocessor">#endif // DC_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+<a name="l00083"></a>00083 
+<a name="l00088"></a><a class="code" href="classfsqmat.html">00088</a> <span class="keyword">class </span><a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>: <span class="keyword">public</span> <a class="code" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a>
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090         <span class="keyword">protected</span>:
+<a name="l00091"></a>00091                 mat M;
+<a name="l00092"></a>00092         <span class="keyword">public</span>:
+<a name="l00093"></a>00093                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a> ( <span class="keyword">const</span> vec &amp;v, <span class="keywordtype">double</span> w );
+<a name="l00094"></a>00094                 mat <a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>() ;
+<a name="l00095"></a>00095                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a> ( <span class="keyword">const</span> mat &amp;C, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
+<a name="l00096"></a>00096                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518" title="Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C&amp;#39;$.">mult_sym</a> ( <span class="keyword">const</span> mat &amp;C, <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;U, <span class="keywordtype">bool</span> trans=<span class="keyword">false</span> );
+<a name="l00097"></a>00097                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4" title="Clearing matrix so that it corresponds to zeros.">clear</a>();
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099 
+<a name="l00100"></a>00100                 <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>(); <span class="comment">// mat will be initialized OK</span>
+<a name="l00102"></a>00102 <span class="comment"></span>                <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> ( <span class="keyword">const</span> mat &amp;M );
+<a name="l00103"></a>00103 
+<a name="l00109"></a>00109                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1" title="Matrix inversion preserving the chosen form.">inv</a> ( <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="l00110"></a>00110 
+<a name="l00111"></a><a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">00111</a>                 <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3" title="Logarithm of a determinant.">logdet</a>() {<span class="keywordflow">return</span> log ( det ( M ) );};
+<a name="l00112"></a><a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">00112</a>                 <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a> ( vec &amp;v ) {<span class="keywordflow">return</span> ( v* ( M*v ) );};
+<a name="l00113"></a><a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">00113</a>                 vec <a class="code" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> ( vec &amp;v ) {it_error ( <span class="stringliteral">"not implemented"</span> );<span class="keywordflow">return</span> v;};
+<a name="l00114"></a>00114 
+<a name="l00115"></a>00115                 <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator += ( <span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A ) {M+=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
+<a name="l00116"></a>00116                 <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator -= ( <span class="keyword">const</span> <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> &amp;A ) {M-=A.<a class="code" href="classfsqmat.html#a7a1fcb9aae19d1e4daddfc9c22ce453">M</a>;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
+<a name="l00117"></a>00117                 <a class="code" href="classfsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a>&amp; operator *= ( <span class="keywordtype">double</span> x ) {M*=x;<span class="keywordflow">return</span> *<span class="keyword">this</span>;};
+<a name="l00118"></a>00118 <span class="comment">//              fsqmat&amp; operator = ( const fsqmat &amp;A) {M=A.M; return *this;};</span>
+<a name="l00119"></a>00119 };
+<a name="l00120"></a>00120 
+<a name="l00121"></a>00121 <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="l00122"></a>00122 {
+<a name="l00123"></a>00123         <span class="keyword">public</span>:
+<a name="l00124"></a>00124 
+<a name="l00126"></a>00126                 ldmat ( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
+<a name="l00128"></a>00128                 ldmat ( mat V );
+<a name="l00130"></a>00130                 ldmat ( vec D0 );
+<a name="l00131"></a>00131                 ldmat ();
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133                 <span class="comment">// Reimplementation of compulsory operatios</span>
+<a name="l00134"></a>00134 
+<a name="l00135"></a>00135                 <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="l00136"></a>00136                 mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
+<a name="l00137"></a>00137                 <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="l00138"></a>00138                 <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="l00139"></a>00139                 <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547" title="Logarithm of a determinant.">logdet</a>();
+<a name="l00140"></a>00140                 <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="l00141"></a>00141 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
+<a name="l00142"></a>00142                 <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="l00143"></a>00143                 <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols</a>();
+<a name="l00144"></a>00144                 <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">rows</a>();
+<a name="l00145"></a>00145                 vec <a class="code" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> ( vec &amp;v );
+<a name="l00146"></a>00146 
+<a name="l00152"></a>00152                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv ( ldmat &amp;Inv );
+<a name="l00153"></a>00153 
+<a name="l00159"></a>00159                 <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="l00160"></a>00160 
+<a name="l00169"></a>00169                 <span class="keywordtype">void</span> ldform ( mat &amp;A, vec &amp;D0 );
+<a name="l00170"></a>00170 
+<a name="l00171"></a>00171                 ldmat&amp; operator += ( <span class="keyword">const</span> ldmat &amp;ldA );
+<a name="l00172"></a>00172                 ldmat&amp; operator -= ( <span class="keyword">const</span> ldmat &amp;ldA );
+<a name="l00173"></a>00173                 ldmat&amp; operator *= ( <span class="keywordtype">double</span> x );
+<a name="l00174"></a>00174 
+<a name="l00175"></a>00175                 <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, ldmat &amp;sq );
+<a name="l00176"></a>00176 
+<a name="l00177"></a>00177         <span class="keyword">protected</span>:
+<a name="l00178"></a>00178                 vec D;
+<a name="l00179"></a>00179                 mat L;
+<a name="l00180"></a>00180 
+<a name="l00181"></a>00181 };
+<a name="l00182"></a>00182 
+<a name="l00184"></a>00184 
+<a name="l00185"></a>00185 <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="l00186"></a>00186 <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="l00187"></a>00187 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">ldmat::cols</a>() {<span class="keywordflow">return</span> dim;}
+<a name="l00188"></a>00188 <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646" title="Reimplementing common functions of mat: cols().">ldmat::rows</a>() {<span class="keywordflow">return</span> dim;}
+<a name="l00189"></a>00189 
+<a name="l00190"></a>00190 <span class="preprocessor">#endif // DC_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/hierarchy.html
===================================================================
--- /doc/html/hierarchy.html (revision 22)
+++ /doc/html/hierarchy.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -63,5 +64,5 @@
 </ul>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 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/graph_legend.html
===================================================================
--- /doc/html/graph_legend.html (revision 23)
+++ /doc/html/graph_legend.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -75,5 +76,5 @@
 A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:23 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classfsqmat.html
===================================================================
--- /doc/html/classfsqmat.html (revision 22)
+++ /doc/html/classfsqmat.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -56,7 +57,4 @@
 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>mult_sym</b> (const mat &amp;C, <a class="el" href="classfsqmat.html">fsqmat</a> &amp;U, bool trans=false)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9fa853e1ca28f2a1a1c43377e798ecb1"></a><!-- doxytag: member="fsqmat::inv" ref="9fa853e1ca28f2a1a1c43377e798ecb1" args="(fsqmat &amp;Inv)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>inv</b> (<a class="el" href="classfsqmat.html">fsqmat</a> &amp;Inv)</td></tr>
-
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfa4c359483d2322f32d1d50050f8ac4"></a><!-- doxytag: member="fsqmat::clear" ref="cfa4c359483d2322f32d1d50050f8ac4" args="()" -->
 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#cfa4c359483d2322f32d1d50050f8ac4">clear</a> ()</td></tr>
@@ -67,7 +65,7 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">inv</a> (<a class="el" href="classfsqmat.html">fsqmat</a> *Inv)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix inversion preserving the chosen form.  <a href="#788423cc2679620dd6da8d2fca2e3e4d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">inv</a> (<a class="el" href="classfsqmat.html">fsqmat</a> &amp;Inv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix inversion preserving the chosen form.  <a href="#9fa853e1ca28f2a1a1c43377e798ecb1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf212272ec195ad2706e2bf4d8e7c9b3"></a><!-- doxytag: member="fsqmat::logdet" ref="bf212272ec195ad2706e2bf4d8e7c9b3" args="()" -->
 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">logdet</a> ()</td></tr>
@@ -90,7 +88,18 @@
 <a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator *=</b> (double x)</td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecc2e2540f95a04f4449842588170f5b"></a><!-- doxytag: member="fsqmat::cols" ref="ecc2e2540f95a04f4449842588170f5b" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="071e80ced9cc3b8cbb360fa7462eb646"></a><!-- doxytag: member="fsqmat::rows" ref="071e80ced9cc3b8cbb360fa7462eb646" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b" title="Reimplementing common functions of mat: cols().">cols()</a>. <br></td></tr>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7a1fcb9aae19d1e4daddfc9c22ce453"></a><!-- doxytag: member="fsqmat::M" ref="a7a1fcb9aae19d1e4daddfc9c22ce453" args="" -->
 mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>M</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0abed904bdc0882373ba9adba919689d"></a><!-- doxytag: member="fsqmat::dim" ref="0abed904bdc0882373ba9adba919689d" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dim</b></td></tr>
 
 </table>
@@ -175,12 +184,12 @@
 </div>
 </div><p>
-<a class="anchor" name="788423cc2679620dd6da8d2fca2e3e4d"></a><!-- doxytag: member="fsqmat::inv" ref="788423cc2679620dd6da8d2fca2e3e4d" args="(fsqmat *Inv)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void fsqmat::inv           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classfsqmat.html">fsqmat</a> *&nbsp;</td>
+<a class="anchor" name="9fa853e1ca28f2a1a1c43377e798ecb1"></a><!-- doxytag: member="fsqmat::inv" ref="9fa853e1ca28f2a1a1c43377e798ecb1" args="(fsqmat &amp;Inv)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void fsqmat::inv           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td>
           <td class="paramname"> <em>Inv</em>          </td>
           <td>&nbsp;)&nbsp;</td>
@@ -226,7 +235,7 @@
 </div>
 </div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
+<hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a><li>work/mixpp/bdm/math/libDC.cpp<li>work/mixpp/bdm/math/libDC_.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/classEKF-members.html
===================================================================
--- /doc/html/classEKF-members.html (revision 23)
+++ /doc/html/classEKF-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,4 +22,5 @@
 </div>
 <h1>EKF&lt; sq_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_K</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
@@ -27,5 +29,6 @@
   <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>B</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM::bayes</a>(const vec &amp;dt)=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">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
@@ -35,5 +38,6 @@
   <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF</a>(const diffbifn fxu, const diffbifn hxu)</td><td><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF</a>(diffbifn *pfxu, diffbifn *phxu, sq_T Q0, sq_T R0, vec mu0, mat P0)</td><td><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</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#96958a5ebfa966d892137987f265083a">Kalman</a>(int dimx, int dimu, int dimy)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</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, fsqmatR0, fsqmatQ0, fsqmatP0, vec mu0)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td></td></tr>
@@ -44,5 +48,5 @@
   <tr bgcolor="#f0f0f0"><td><b>Q</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>R</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:19 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:43 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 22)
+++ /doc/html/libBM_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -63,5 +64,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 Feb 17 16:14:15 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classTrivialPF__coll__graph.map
===================================================================
--- /doc/html/classTrivialPF__coll__graph.map (revision 23)
+++ /doc/html/classTrivialPF__coll__graph.map (revision 28)
@@ -1,8 +1,10 @@
-<area shape="rect" href="$classPF.html" title="A Particle Filter prototype." alt="" coords="8,119,45,145">
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,7,48,33">
-<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="69,119,125,145">
-<area shape="rect" title="prop\nobs\npar" alt="" coords="89,143,97,151">
-<area shape="rect" title="prop\nobs\npar" alt="" coords="65,245,73,253">
-<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="79,7,116,33">
-<area shape="rect" title="rv\nrvc" alt="" coords="93,31,101,39">
-<area shape="rect" title="rv\nrvc" alt="" coords="93,115,101,123">
+<area shape="rect" href="$classPF.html" title="A Particle Filter prototype." alt="" coords="56,119,93,145">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="17,7,60,33">
+<area shape="rect" title="prop" alt="" coords="28,31,36,39">
+<area shape="rect" title="prop" alt="" coords="59,227,67,235">
+<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="117,119,173,145">
+<area shape="rect" title="obs\npar" alt="" coords="132,143,140,151">
+<area shape="rect" title="obs\npar" alt="" coords="79,227,87,235">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="127,7,164,33">
+<area shape="rect" title="rv\nrvc" alt="" coords="141,31,149,39">
+<area shape="rect" title="rv\nrvc" alt="" coords="141,115,149,123">
Index: /doc/html/classKalman.html
===================================================================
--- /doc/html/classKalman.html (revision 22)
+++ /doc/html/classKalman.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -53,7 +54,18 @@
 <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>
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a> (const vec &amp;dt, bool <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Here dt = [yt;ut] of appropriate dimensions. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="Kalman::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="Kalman::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="" -->
@@ -65,4 +77,12 @@
 
 <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="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="Kalman::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="Kalman::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <br></td></tr>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="Kalman::dimx" ref="39c8c403b46fa3b8c7da77cb2e3729eb" args="" -->
@@ -114,7 +134,35 @@
  class Kalman&lt; sq_T &gt;</h3>
 
-<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form. <hr>The documentation for this class was generated from the following file:<ul>
+<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="Kalman::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=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>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual, inherited]</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>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/libDS_8h-source.html
===================================================================
--- /doc/html/libDS_8h-source.html (revision 23)
+++ /doc/html/libDS_8h-source.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -41,5 +42,5 @@
 <a name="l00045"></a>00045 
 <a name="l00046"></a>00046 <span class="preprocessor">#endif // DS_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 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/classEKF__coll__graph.map
===================================================================
--- /doc/html/classEKF__coll__graph.map (revision 23)
+++ /doc/html/classEKF__coll__graph.map (revision 28)
@@ -11,6 +11,6 @@
 <area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="108,168,116,176">
 <area shape="rect" href="$classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="277,337,344,364">
-<area shape="rect" title="fxu\nhxu" alt="" coords="299,361,307,369">
-<area shape="rect" title="fxu\nhxu" alt="" coords="252,445,260,453">
+<area shape="rect" title="pfxu\nphxu" alt="" coords="299,361,307,369">
+<area shape="rect" title="pfxu\nphxu" alt="" coords="252,445,260,453">
 <area shape="rect" href="$classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="291,172,331,199">
 <area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="355,172,392,199">
Index: /doc/html/classconstfn.html
===================================================================
--- /doc/html/classconstfn.html (revision 23)
+++ /doc/html/classconstfn.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -54,9 +55,21 @@
 
 <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="7fad2e6cb35909a165ec5a53def4a18c"></a><!-- doxytag: member="constfn::eval" ref="7fad2e6cb35909a165ec5a53def4a18c" args="(const vec &amp;cond)" -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a> (const vec &amp;cond)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function evaluates numerical value of $f(x)$ at $x=cond$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="constfn::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22d51d10a7901331167f64f80d1af8e9"></a><!-- doxytag: member="constfn::dimy" ref="22d51d10a7901331167f64f80d1af8e9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 class representing function $f(x) = a$, here rv is empty <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libFN_8h-source.html">libFN.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/functions.html
===================================================================
--- /doc/html/functions.html (revision 22)
+++ /doc/html/functions.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -63,4 +64,6 @@
 <li>_dimy()
 : <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
+<li>_epdf()
+: <a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">BM</a>
 </ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
@@ -72,7 +75,5 @@
 : <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
 , <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
-, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>
-, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
-, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
+, <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>
 , <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>
 <li>bilinfn()
@@ -108,11 +109,13 @@
 <h3><a class="anchor" name="index_e">- e -</a></h3><ul>
 <li>EKF()
-: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF&lt; sq_T &gt;</a>
 <li>eval()
-: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
+: <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
+, <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
 , <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a>
 , <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a>
 , <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
-, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
+<li>evalll
+: <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">BM</a>
 </ul>
 <h3><a class="anchor" name="index_f">- f -</a></h3><ul>
@@ -132,5 +135,5 @@
 : <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a>
 <li>inv()
-: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a>
+: <a class="el" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
@@ -221,5 +224,5 @@
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classfsqmat-members.html
===================================================================
--- /doc/html/classfsqmat-members.html (revision 22)
+++ /doc/html/classfsqmat-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -24,8 +25,7 @@
   <tr class="memlist"><td><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dim</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fsqmat</b>() (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>fsqmat</b>() (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a>(const mat &amp;M)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>inv</b>(fsqmat &amp;Inv) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">inv</a>(fsqmat *Inv)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">inv</a>(fsqmat &amp;Inv)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">logdet</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>M</b> (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [protected]</code></td></tr>
@@ -40,5 +40,5 @@
   <tr class="memlist"><td><a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">sqrt_mult</a>(vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8">to_mat</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classKalman-members.html
===================================================================
--- /doc/html/classKalman-members.html (revision 22)
+++ /doc/html/classKalman-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,4 +22,5 @@
 </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="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_K</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
@@ -27,5 +29,6 @@
   <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>B</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="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]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM::bayes</a>(const vec &amp;dt)=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">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
@@ -35,4 +38,5 @@
   <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</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#96958a5ebfa966d892137987f265083a">Kalman</a>(int dimx, int dimu, int dimy)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman</a>(mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
@@ -43,5 +47,5 @@
   <tr bgcolor="#f0f0f0"><td><b>Q</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>R</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:20 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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 22)
+++ /doc/html/classBM.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -41,11 +42,15 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#c52edf4ad6e1dff9bf64b9e1e0cfb1f0">bayes</a> (const vec &amp;dt, bool evall=true)=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=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="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="BM::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="" -->
@@ -53,8 +58,12 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of marginalized data likelihood. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="BM::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <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" -->
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="BM::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=0" -->
 <div class="memitem">
 <div class="memproto">
@@ -64,16 +73,7 @@
           <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>
+          <td class="paramname"> <em>dt</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual]</code></td>
         </tr>
       </table>
@@ -87,9 +87,6 @@
   <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>, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>, and <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; fsqmat &gt;</a>.</p>
 
 </div>
@@ -97,5 +94,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libKF_8h.html
===================================================================
--- /doc/html/libKF_8h.html (revision 22)
+++ /doc/html/libKF_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -47,5 +48,5 @@
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Vaclav Smidl.</dd></dl>
 ----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty<p>
-Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 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/classconstfn-members.html
===================================================================
--- /doc/html/classconstfn-members.html (revision 23)
+++ /doc/html/classconstfn-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -23,8 +24,9 @@
   <tr class="memlist"><td><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a>() const </td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a>(const vec &amp;val0)</td><td><a class="el" href="classconstfn.html">constfn</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classfnc.html">fnc</a>)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>eval</b>() (defined in <a class="el" href="classconstfn.html">constfn</a>)</td><td><a class="el" href="classconstfn.html">constfn</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>eval</b>(vec &amp;cond) (defined in <a class="el" href="classconstfn.html">constfn</a>)</td><td><a class="el" href="classconstfn.html">constfn</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc::eval</a>(const vec &amp;cond)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classTrivialPF__coll__graph.md5
===================================================================
--- /doc/html/classTrivialPF__coll__graph.md5 (revision 23)
+++ /doc/html/classTrivialPF__coll__graph.md5 (revision 28)
@@ -1,1 +1,1 @@
-6c68223e40f77452ac769094ee74c41c
+13a92e808324a6ca95a65924a5935ad1
Index: /doc/html/classEKF__coll__graph.md5
===================================================================
--- /doc/html/classEKF__coll__graph.md5 (revision 23)
+++ /doc/html/classEKF__coll__graph.md5 (revision 28)
@@ -1,1 +1,1 @@
-80e8a90e18a613ab2239b0c07bbf7889
+f0af3ae76b214ecac356cc7e830905d0
Index: /doc/html/classBM-members.html
===================================================================
--- /doc/html/classBM-members.html (revision 22)
+++ /doc/html/classBM-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,9 +22,11 @@
 </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#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a>(const vec &amp;dt)=0</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [pure virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></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 Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libDC_8h.html
===================================================================
--- /doc/html/libDC_8h.html (revision 22)
+++ /doc/html/libDC_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -53,5 +54,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 Feb 17 16:14:15 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classPF.html
===================================================================
--- /doc/html/classPF.html (revision 22)
+++ /doc/html/classPF.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -51,7 +52,27 @@
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>PF</b> (vec w)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">bayes</a> (const vec &amp;dt, bool evell)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb06bd7d4325f22f54233967295793b9"></a><!-- doxytag: member="PF::bayes" ref="eb06bd7d4325f22f54233967295793b9" args="(const vec &amp;dt, bool evell)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bayes</b> (const vec &amp;dt, bool evell)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#eb06bd7d4325f22f54233967295793b9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="PF::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="PF::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="PF::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="PF::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <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="" -->
@@ -69,24 +90,15 @@
 <p>
 Bayesian Filtering equations hold. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="eb06bd7d4325f22f54233967295793b9"></a><!-- doxytag: member="PF::bayes" ref="eb06bd7d4325f22f54233967295793b9" args="(const vec &amp;dt, bool evell)" -->
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="PF::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=0" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void PF::bayes           </td>
+          <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></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
+          <td class="paramname"> <em>dt</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual, inherited]</code></td>
         </tr>
       </table>
@@ -100,11 +112,6 @@
   <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>
-
-<p>Reimplemented in <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>.</p>
 
 </div>
@@ -112,5 +119,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/classlinfn.html
===================================================================
--- /doc/html/classlinfn.html (revision 23)
+++ /doc/html/classlinfn.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -59,9 +60,21 @@
 &nbsp;</td><td class="memItemRight" valign="bottom"><b>linfn</b> (const <a class="el" href="classRV.html">RV</a> &amp;rv0, const mat &amp;A0, const vec &amp;B0)</td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fad2e6cb35909a165ec5a53def4a18c"></a><!-- doxytag: member="linfn::eval" ref="7fad2e6cb35909a165ec5a53def4a18c" args="(const vec &amp;cond)" -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">eval</a> (const vec &amp;cond)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function evaluates numerical value of $f(x)$ at $x=cond$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="linfn::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22d51d10a7901331167f64f80d1af8e9"></a><!-- doxytag: member="linfn::dimy" ref="22d51d10a7901331167f64f80d1af8e9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 Class representing function $f(x) = Ax+B$. <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libFN_8h-source.html">libFN.h</a><li>work/mixpp/bdm/stat/libFN.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 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/libDS_8h.html
===================================================================
--- /doc/html/libDS_8h.html (revision 23)
+++ /doc/html/libDS_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -40,5 +41,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 Feb 17 16:14:15 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classsqmat.html
===================================================================
--- /doc/html/classsqmat.html (revision 22)
+++ /doc/html/classsqmat.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -180,5 +181,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/math/<a class="el" href="libDC_8h-source.html">libDC.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/libEF_8h.html
===================================================================
--- /doc/html/libEF_8h.html (revision 22)
+++ /doc/html/libEF_8h.html (revision 28)
@@ -11,4 +11,5 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -48,5 +49,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 Feb 17 16:14:15 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classPF-members.html
===================================================================
--- /doc/html/classPF-members.html (revision 22)
+++ /doc/html/classPF-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -21,7 +22,10 @@
 </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="classPF.html#eb06bd7d4325f22f54233967295793b9">bayes</a>(const vec &amp;dt, bool evell)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>bayes</b>(const vec &amp;dt, bool evell) (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM::bayes</a>(const vec &amp;dt)=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">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></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>
@@ -30,5 +34,5 @@
   <tr bgcolor="#f0f0f0"><td><b>URNG</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classPF.html">PF</a>)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/functions_func.html
===================================================================
--- /doc/html/functions_func.html (revision 22)
+++ /doc/html/functions_func.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -61,4 +62,6 @@
 <li>_dimy()
 : <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
+<li>_epdf()
+: <a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">BM</a>
 </ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
@@ -70,7 +73,5 @@
 : <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
 , <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
-, <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>
-, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
-, <a class="el" href="classTrivialPF.html#77a92bf054d763f806d27fc37a058389">TrivialPF</a>
+, <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>
 , <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>
 <li>bilinfn()
@@ -104,5 +105,5 @@
 <h3><a class="anchor" name="index_e">- e -</a></h3><ul>
 <li>EKF()
-: <a class="el" href="classEKF.html#ec441d41529eeae4a1309426386b4a10">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF&lt; sq_T &gt;</a>
 <li>eval()
 : <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
@@ -128,5 +129,5 @@
 : <a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">RV</a>
 <li>inv()
-: <a class="el" href="classfsqmat.html#788423cc2679620dd6da8d2fca2e3e4d">fsqmat</a>
+: <a class="el" href="classfsqmat.html#9fa853e1ca28f2a1a1c43377e798ecb1">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
@@ -201,5 +202,5 @@
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:15 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 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/classlinfn-members.html
===================================================================
--- /doc/html/classlinfn-members.html (revision 23)
+++ /doc/html/classlinfn-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -22,4 +23,5 @@
 <h1>linfn Member List</h1>This is the complete list of members for <a class="el" href="classlinfn.html">linfn</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a>() const </td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimy</b> (defined in <a class="el" href="classfnc.html">fnc</a>)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>eval</b>(vec &amp;cond) (defined in <a class="el" href="classlinfn.html">linfn</a>)</td><td><a class="el" href="classlinfn.html">linfn</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc::eval</a>(const vec &amp;cond)</td><td><a class="el" href="classfnc.html">fnc</a></td><td><code> [inline, virtual]</code></td></tr>
@@ -28,5 +30,5 @@
   <tr bgcolor="#f0f0f0"><td><b>linfn</b>(const RV &amp;rv0, const mat &amp;A0) (defined in <a class="el" href="classlinfn.html">linfn</a>)</td><td><a class="el" href="classlinfn.html">linfn</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>linfn</b>(const RV &amp;rv0, const mat &amp;A0, const vec &amp;B0) (defined in <a class="el" href="classlinfn.html">linfn</a>)</td><td><a class="el" href="classlinfn.html">linfn</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:21 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/classTrivialPF.html
===================================================================
--- /doc/html/classTrivialPF.html (revision 22)
+++ /doc/html/classTrivialPF.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -37,5 +38,5 @@
 <p><center><img src="classTrivialPF__coll__graph.png" border="0" usemap="#TrivialPF__coll__map" alt="Collaboration graph"></center>
 <map name="TrivialPF__coll__map">
-<area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="8,119,45,145"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,7,48,33"><area shape="rect" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="69,119,125,145"><area shape="rect" title="prop\nobs\npar" alt="" coords="89,143,97,151"><area shape="rect" title="prop\nobs\npar" alt="" coords="65,245,73,253"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="79,7,116,33"><area shape="rect" title="rv\nrvc" alt="" coords="93,31,101,39"><area shape="rect" title="rv\nrvc" alt="" coords="93,115,101,123"></map>
+<area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="56,119,93,145"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="17,7,60,33"><area shape="rect" title="prop" alt="" coords="28,31,36,39"><area shape="rect" title="prop" alt="" coords="59,227,67,235"><area shape="rect" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="117,119,173,145"><area shape="rect" title="obs\npar" alt="" coords="132,143,140,151"><area shape="rect" title="obs\npar" alt="" coords="79,227,87,235"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="127,7,164,33"><area shape="rect" title="rv\nrvc" alt="" coords="141,31,149,39"><area shape="rect" title="rv\nrvc" alt="" coords="141,115,149,123"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -44,36 +45,61 @@
 <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="c5a420747532e24b25cb0d835288795b"></a><!-- doxytag: member="TrivialPF::TrivialPF" ref="c5a420747532e24b25cb0d835288795b" args="(mpdf &amp;par, mpdf &amp;obs, BM &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="classBM.html">BM</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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77a92bf054d763f806d27fc37a058389"></a><!-- doxytag: member="TrivialPF::bayes" ref="77a92bf054d763f806d27fc37a058389" args="(const vec &amp;dt, bool evalll)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bayes</b> (const vec &amp;dt, bool <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#77a92bf054d763f806d27fc37a058389"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0e26b2f6a5884aca49122f3e4f0cf19"></a><!-- doxytag: member="TrivialPF::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. The ordering MUST guarantee inplace replacement. (Important for MPF.). <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">bayes</a> (const vec &amp;dt)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="TrivialPF::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5b8f6c8a872738cfaa30ab010e8c077"></a><!-- doxytag: member="TrivialPF::_epdf" ref="a5b8f6c8a872738cfaa30ab010e8c077" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">_epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> representing posterior density on parameters. Use with care! <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="TrivialPF::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf6fb59b30141074f8ee1e2f43d03129"></a><!-- doxytag: member="TrivialPF::evalll" ref="bf6fb59b30141074f8ee1e2f43d03129" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If true, the filter will compute likelihood of the data record and store it in <code>ll</code> . Set to false if you want to save time. <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="TrivialPF::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="TrivialPF::w" ref="f6bc92f7979af4513b06b161497ba868" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>w</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3568ca7c3b3175d98b548f496b4c34dd"></a><!-- doxytag: member="TrivialPF::URNG" ref="3568ca7c3b3175d98b548f496b4c34dd" args="" -->
+Uniform_RNG&nbsp;</td><td class="memItemRight" valign="bottom"><b>URNG</b></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)" -->
+<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="TrivialPF::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=0" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void TrivialPF::bayes           </td>
+          <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></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
+          <td class="paramname"> <em>dt</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual, inherited]</code></td>
         </tr>
       </table>
@@ -87,9 +113,6 @@
   <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>Reimplemented from <a class="el" href="classPF.html#eb06bd7d4325f22f54233967295793b9">PF</a>.</p>
 
 </div>
@@ -97,5 +120,5 @@
 <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libPF_8h-source.html">libPF.h</a><li>work/mixpp/bdm/estim/libPF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:46 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/classDS.html
===================================================================
--- /doc/html/classDS.html (revision 23)
+++ /doc/html/classDS.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -116,5 +117,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 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/classdiffbifn.html
===================================================================
--- /doc/html/classdiffbifn.html (revision 23)
+++ /doc/html/classdiffbifn.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -70,4 +71,8 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8891973d0ca48ce38e1886df45ca298"></a><!-- doxytag: member="diffbifn::_dimy" ref="a8891973d0ca48ce38e1886df45ca298" args="() const " -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">_dimy</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">access function <br></td></tr>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcf96b86250c3cbd465ba5ee62474b75"></a><!-- doxytag: member="diffbifn::rvx" ref="bcf96b86250c3cbd465ba5ee62474b75" args="" -->
@@ -83,5 +88,5 @@
 int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimu</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ed8ce97123e01c7636dcbbb63ea8461"></a><!-- doxytag: member="diffbifn::dimy" ref="9ed8ce97123e01c7636dcbbb63ea8461" args="" -->
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22d51d10a7901331167f64f80d1af8e9"></a><!-- doxytag: member="diffbifn::dimy" ref="22d51d10a7901331167f64f80d1af8e9" args="" -->
 int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimy</b></td></tr>
 
@@ -194,5 +199,5 @@
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/stat/<a class="el" href="libFN_8h-source.html">libFN.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:17 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 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 22)
+++ /doc/html/classsqmat-members.html (revision 28)
@@ -11,4 +11,5 @@
     <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
@@ -31,5 +32,5 @@
   <tr class="memlist"><td><a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqrt_mult</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc">to_mat</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:22 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/html/index.html
===================================================================
--- /doc/html/index.html (revision 22)
+++ /doc/html/index.html (revision 28)
@@ -11,9 +11,10 @@
     <li><a href="annotated.html"><span>Classes</span></a></li>
     <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
   </ul>
 </div>
 <h1>mixpp Documentation</h1>
 <p>
-<h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 17 16:14:14 2008 for mixpp by&nbsp;
+<h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
Index: /doc/latex/classfnc.tex
===================================================================
--- /doc/latex/classfnc.tex (revision 22)
+++ /doc/latex/classfnc.tex (revision 28)
@@ -22,4 +22,10 @@
 
 \begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int \textbf{dimy}\label{classfnc_22d51d10a7901331167f64f80d1af8e9}
+
+\end{CompactItemize}
 
 
Index: /doc/latex/classfsqmat.tex
===================================================================
--- /doc/latex/classfsqmat.tex (revision 22)
+++ /doc/latex/classfsqmat.tex (revision 28)
@@ -33,7 +33,4 @@
 
 \item 
-void \textbf{inv} ({\bf fsqmat} \&Inv)\label{classfsqmat_9fa853e1ca28f2a1a1c43377e798ecb1}
-
-\item 
 void {\bf clear} ()\label{classfsqmat_cfa4c359483d2322f32d1d50050f8ac4}
 
@@ -42,5 +39,5 @@
 
 \begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
-virtual void {\bf inv} ({\bf fsqmat} $\ast$Inv)
+virtual void {\bf inv} ({\bf fsqmat} \&Inv)
 \begin{CompactList}\small\item\em Matrix inversion preserving the chosen form. \item\end{CompactList}\item 
 double {\bf logdet} ()\label{classfsqmat_bf212272ec195ad2706e2bf4d8e7c9b3}
@@ -60,9 +57,18 @@
 {\bf fsqmat} \& \textbf{operator $\ast$=} (double x)\label{classfsqmat_8f7ce97628a50e06641281096b2af9b7}
 
-\end{CompactItemize}
+\item 
+int {\bf cols} () const \label{classsqmat_ecc2e2540f95a04f4449842588170f5b}
+
+\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_ecc2e2540f95a04f4449842588170f5b}. \item\end{CompactList}\item 
+int {\bf rows} () const \label{classsqmat_071e80ced9cc3b8cbb360fa7462eb646}
+
+\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_ecc2e2540f95a04f4449842588170f5b}. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
 \item 
 mat \textbf{M}\label{classfsqmat_a7a1fcb9aae19d1e4daddfc9c22ce453}
+
+\item 
+int \textbf{dim}\label{classsqmat_0abed904bdc0882373ba9adba919689d}
 
 \end{CompactItemize}
@@ -103,5 +109,5 @@
 Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_faa3bc90be142adde9cf74f573c70157}.\index{fsqmat@{fsqmat}!inv@{inv}}
 \index{inv@{inv}!fsqmat@{fsqmat}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void fsqmat::inv ({\bf fsqmat} $\ast$ {\em Inv})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_788423cc2679620dd6da8d2fca2e3e4d}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::inv ({\bf fsqmat} \& {\em Inv})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_9fa853e1ca28f2a1a1c43377e798ecb1}
 
 
@@ -124,5 +130,7 @@
 Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_b5236c8a050199e1a9d338b0da1a08d2}.
 
-The documentation for this class was generated from the following file:\begin{CompactItemize}
+The documentation for this class was generated from the following files:\begin{CompactItemize}
 \item 
-work/mixpp/bdm/math/{\bf libDC.h}\end{CompactItemize}
+work/mixpp/bdm/math/{\bf libDC.h}\item 
+work/mixpp/bdm/math/libDC.cpp\item 
+work/mixpp/bdm/math/libDC\_\-.cpp\end{CompactItemize}
Index: /doc/latex/classBM.tex
===================================================================
--- /doc/latex/classBM.tex (revision 22)
+++ /doc/latex/classBM.tex (revision 28)
@@ -19,9 +19,12 @@
 
 \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
-virtual void {\bf bayes} (const vec \&dt, bool evall=true)=0
+virtual void {\bf bayes} (const vec \&dt)=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}
+\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classBM_a5b8f6c8a872738cfaa30ab010e8c077}
+
+\begin{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \item\end{CompactList}\end{CompactItemize}
 \subsection*{Public Attributes}
 \begin{CompactItemize}
@@ -29,5 +32,8 @@
 double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
 
-\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
+bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
+
+\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\end{CompactItemize}
 
 
@@ -38,5 +44,5 @@
 \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}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
 
 
@@ -46,9 +52,7 @@
 \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}
+\item[{\em dt}]vector of input data \end{description}
 \end{Desc}
 
-
-Implemented in {\bf KalmanFull} \doxyref{}{p.}{classKalmanFull_048b13739b94c331cda08249b278552b}, {\bf Kalman$<$ sq\_\-T $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}, {\bf EKF$<$ sq\_\-T $>$} \doxyref{}{p.}{classEKF_fb0a08463f14e5584344ea2df99fe747}, {\bf PF} \doxyref{}{p.}{classPF_eb06bd7d4325f22f54233967295793b9}, {\bf TrivialPF} \doxyref{}{p.}{classTrivialPF_77a92bf054d763f806d27fc37a058389}, and {\bf Kalman$<$ fsqmat $>$} \doxyref{}{p.}{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}.
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: /doc/latex/classeEF.tex
===================================================================
--- /doc/latex/classeEF.tex (revision 19)
+++ /doc/latex/classeEF.tex (revision 28)
@@ -28,5 +28,10 @@
 virtual void \textbf{dupdate} (mat \&v, double nu=1.0)\label{classeEF_5863718c3b2fb1496dece10c5b745d5c}
 
-\end{CompactItemize}
+\item 
+virtual vec {\bf sample} ()=0
+\begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
+virtual double {\bf eval} (const vec \&val)\label{classepdf_f333ceeb88ebc37d81fcd4cea4526bfc}
+
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\end{CompactItemize}
 
 
@@ -36,4 +41,16 @@
 More?... 
 
+\subsection{Member Function Documentation}
+\index{eEF@{eEF}!sample@{sample}}
+\index{sample@{sample}!eEF@{eEF}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec epdf::sample ()\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classepdf_7f74d871d50b9ff360f1b3879092a9fa}
+
+
+Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
+
+Returns a sample from the density, $x \sim epdf(rv)$ 
+
+Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
+
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item 
Index: /doc/latex/classTrivialPF.tex
===================================================================
--- /doc/latex/classTrivialPF.tex (revision 19)
+++ /doc/latex/classTrivialPF.tex (revision 28)
@@ -17,5 +17,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=67pt]{classTrivialPF__coll__graph}
+\includegraphics[width=85pt]{classTrivialPF__coll__graph}
 \end{center}
 \end{figure}
@@ -23,5 +23,5 @@
 \begin{CompactItemize}
 \item 
-\textbf{TrivialPF} ({\bf mpdf} \&par, {\bf mpdf} \&obs, {\bf mpdf} \&prop, int n0)\label{classTrivialPF_e6d9e3506da221a10a517bd5712b5a84}
+\textbf{TrivialPF} ({\bf mpdf} \&par, {\bf mpdf} \&obs, {\bf BM} \&prop, int n0)\label{classTrivialPF_c5a420747532e24b25cb0d835288795b}
 
 \item 
@@ -29,6 +29,39 @@
 
 \item 
-void {\bf bayes} (const vec \&dt, bool evalll)
-\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\end{CompactItemize}
+void \textbf{bayes} (const vec \&dt, bool {\bf evalll})\label{classTrivialPF_77a92bf054d763f806d27fc37a058389}
+
+\item 
+ivec {\bf resample} (RESAMPLING\_\-METHOD method=SYSTEMATIC)\label{classPF_a0e26b2f6a5884aca49122f3e4f0cf19}
+
+\begin{CompactList}\small\item\em Returns indexes of particles that should be resampled. The ordering MUST guarantee inplace replacement. (Important for MPF.). \item\end{CompactList}\item 
+virtual void {\bf bayes} (const vec \&dt)=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}\item 
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classBM_a5b8f6c8a872738cfaa30ab010e8c077}
+
+\begin{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \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}\item 
+bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
+
+\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int \textbf{n}\label{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}
+
+\item 
+vec \textbf{w}\label{classPF_f6bc92f7979af4513b06b161497ba868}
+
+\item 
+Uniform\_\-RNG \textbf{URNG}\label{classPF_3568ca7c3b3175d98b548f496b4c34dd}
+
+\end{CompactItemize}
 
 
@@ -39,5 +72,5 @@
 \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}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
 
 
@@ -47,9 +80,7 @@
 \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}
+\item[{\em dt}]vector of input data \end{description}
 \end{Desc}
 
-
-Reimplemented from {\bf PF} \doxyref{}{p.}{classPF_eb06bd7d4325f22f54233967295793b9}.
 
 The documentation for this class was generated from the following files:\begin{CompactItemize}
Index: /doc/latex/classKalman.tex
===================================================================
--- /doc/latex/classKalman.tex (revision 22)
+++ /doc/latex/classKalman.tex (revision 28)
@@ -29,7 +29,15 @@
 
 \begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
-void {\bf bayes} (const vec \&dt, bool evalll=true)\label{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}
+void {\bf bayes} (const vec \&dt, bool {\bf evalll}=true)\label{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}
 
-\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\item 
+virtual void {\bf bayes} (const vec \&dt)=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}\item 
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classBM_a5b8f6c8a872738cfaa30ab010e8c077}
+
+\begin{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \item\end{CompactList}\end{CompactItemize}
 \subsection*{Public Attributes}
 \begin{CompactItemize}
@@ -40,5 +48,11 @@
 sq\_\-T {\bf P}\label{classKalman_188cd5ac1c9e496b1a371eb7c57c97d3}
 
-\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item 
+double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
+
+\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
+bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
+
+\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
@@ -96,4 +110,19 @@
 \doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form. 
 
+\subsection{Member Function Documentation}
+\index{Kalman@{Kalman}!bayes@{bayes}}
+\index{bayes@{bayes}!Kalman@{Kalman}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
+
+
+Incremental Bayes rule. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]vector of input data \end{description}
+\end{Desc}
+
+
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item 
Index: /doc/latex/classPF.tex
===================================================================
--- /doc/latex/classPF.tex (revision 19)
+++ /doc/latex/classPF.tex (revision 28)
@@ -29,6 +29,24 @@
 
 \item 
-void {\bf bayes} (const vec \&dt, bool evell)
-\begin{CompactList}\small\item\em Incremental Bayes rule. \item\end{CompactList}\end{CompactItemize}
+void \textbf{bayes} (const vec \&dt, bool evell)\label{classPF_eb06bd7d4325f22f54233967295793b9}
+
+\item 
+virtual void {\bf bayes} (const vec \&dt)=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}\item 
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classBM_a5b8f6c8a872738cfaa30ab010e8c077}
+
+\begin{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \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}\item 
+bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
+
+\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
@@ -53,5 +71,5 @@
 \index{PF@{PF}!bayes@{bayes}}
 \index{bayes@{bayes}!PF@{PF}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void PF::bayes (const vec \& {\em dt}, bool {\em evall})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classPF_eb06bd7d4325f22f54233967295793b9}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
 
 
@@ -61,11 +79,7 @@
 \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}
+\item[{\em dt}]vector of input data \end{description}
 \end{Desc}
 
-
-Implements {\bf BM} \doxyref{}{p.}{classBM_c52edf4ad6e1dff9bf64b9e1e0cfb1f0}.
-
-Reimplemented in {\bf TrivialPF} \doxyref{}{p.}{classTrivialPF_77a92bf054d763f806d27fc37a058389}.
 
 The documentation for this class was generated from the following files:\begin{CompactItemize}
Index: /doc/latex/doxygen.sty
===================================================================
--- /doc/latex/doxygen.sty (revision 22)
+++ /doc/latex/doxygen.sty (revision 28)
@@ -11,6 +11,6 @@
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Feb 17 16:14:14 2008 for mixpp by Doxygen }]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Feb 17 16:14:14 2008 for mixpp by Doxygen }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Feb 18 21:48:39 2008 for mixpp by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Feb 18 21:48:39 2008 for mixpp by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
Index: /doc/latex/refman.tex
===================================================================
--- /doc/latex/refman.tex (revision 22)
+++ /doc/latex/refman.tex (revision 28)
@@ -21,5 +21,5 @@
 {\large Generated by Doxygen 1.5.3}\\
 \vspace*{0.5cm}
-{\small Sun Feb 17 16:14:14 2008}\\
+{\small Mon Feb 18 21:48:39 2008}\\
 \end{center}
 \end{titlepage}
@@ -35,4 +35,6 @@
 \chapter{mixpp File Index}
 \input{files}
+\chapter{mixpp Page Index}
+\input{pages}
 \chapter{mixpp Class Documentation}
 \input{classbilinfn}
@@ -63,4 +65,6 @@
 \include{libDS_8h}
 \include{libEF_8h}
+\chapter{mixpp Page Documentation}
+\input{codingrules}
 \printindex
 \end{document}
Index: /doc/latex/classKalmanFull.tex
===================================================================
--- /doc/latex/classKalmanFull.tex (revision 19)
+++ /doc/latex/classKalmanFull.tex (revision 28)
@@ -26,7 +26,15 @@
 
 \begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
-void {\bf bayes} (const vec \&dt, bool evalll=true)\label{classKalmanFull_048b13739b94c331cda08249b278552b}
+void {\bf bayes} (const vec \&dt, bool {\bf evalll}=true)\label{classKalmanFull_048b13739b94c331cda08249b278552b}
 
-\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\item 
+virtual void {\bf bayes} (const vec \&dt)=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}\item 
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classBM_a5b8f6c8a872738cfaa30ab010e8c077}
+
+\begin{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \item\end{CompactList}\end{CompactItemize}
 \subsection*{Public Attributes}
 \begin{CompactItemize}
@@ -37,5 +45,11 @@
 mat {\bf P}\label{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}
 
-\begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\item 
+double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
+
+\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
+bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}
+
+\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Friends}
 \begin{CompactItemize}
@@ -49,4 +63,19 @@
 Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! 
 
+\subsection{Member Function Documentation}
+\index{KalmanFull@{KalmanFull}!bayes@{bayes}}
+\index{bayes@{bayes}!KalmanFull@{KalmanFull}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
+
+
+Incremental Bayes rule. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]vector of input data \end{description}
+\end{Desc}
+
+
 The documentation for this class was generated from the following files:\begin{CompactItemize}
 \item 
Index: /BDM.kdevelop
===================================================================
--- /BDM.kdevelop (revision 22)
+++ /BDM.kdevelop (revision 28)
@@ -2,9 +2,9 @@
 <kdevelop>
   <general>
-    <projectmanagement>KDevCustomProject</projectmanagement>
-    <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
-    <absoluteprojectpath>true</absoluteprojectpath>
-    <author></author>
-    <email></email>
+  <projectmanagement>KDevCustomProject</projectmanagement>
+  <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
+  <absoluteprojectpath>true</absoluteprojectpath>
+    <author/>
+    <email/>
     <version>$VERSION$</version>
     <primarylanguage>C++</primarylanguage>
@@ -14,6 +14,6 @@
     </secondaryLanguages>
     <projectname>BDM</projectname>
-    <description></description>
-    <defaultencoding></defaultencoding>
+    <description/>
+    <defaultencoding/>
     <versioncontrol>kdevsubversion</versioncontrol>
   </general>
@@ -24,9 +24,9 @@
       <directoryradio>custom</directoryradio>
       <customdirectory>/home/smidl/work/mixpp</customdirectory>
-      <programargs></programargs>
+      <programargs/>
       <terminal>false</terminal>
       <autocompile>true</autocompile>
       <envvars/>
-      <globaldebugarguments></globaldebugarguments>
+      <globaldebugarguments/>
       <globalcwd>/home/smidl/work/mixpp</globalcwd>
       <useglobalprogram>false</useglobalprogram>
@@ -42,5 +42,5 @@
       <numberofjobs>0</numberofjobs>
       <dontact>false</dontact>
-      <makebin></makebin>
+      <makebin/>
       <selectedenvironment>default</selectedenvironment>
       <environments>
@@ -48,6 +48,6 @@
       </environments>
       <prio>0</prio>
-      <defaulttarget></defaulttarget>
-      <makeoptions></makeoptions>
+      <defaulttarget/>
+      <makeoptions/>
     </make>
     <filetypes>
@@ -70,7 +70,7 @@
     <other>
       <prio>0</prio>
-      <otherbin></otherbin>
-      <defaulttarget></defaulttarget>
-      <otheroptions></otheroptions>
+      <otherbin/>
+      <defaulttarget/>
+      <otheroptions/>
       <selectedenvironment>default</selectedenvironment>
       <environments>
@@ -144,5 +144,5 @@
     </qt>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
@@ -152,5 +152,5 @@
     </creategettersetter>
     <splitheadersource>
-      <enabled>true</enabled>
+      <enabled>false</enabled>
       <synchronize>true</synchronize>
       <orientation>Vertical</orientation>
@@ -174,12 +174,12 @@
   <kdevdebugger>
     <general>
-      <projectmanagement>KDevCustomProject</projectmanagement>
-      <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
-      <absoluteprojectpath>true</absoluteprojectpath>
-      <gdbpath></gdbpath>
-      <dbgshell></dbgshell>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+  <projectmanagement>KDevCustomProject</projectmanagement>
+  <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
+  <absoluteprojectpath>true</absoluteprojectpath>
+      <gdbpath/>
+      <dbgshell/>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
Index: /CMakeLists.txt
===================================================================
--- /CMakeLists.txt (revision 25)
+++ /CMakeLists.txt (revision 28)
@@ -30,4 +30,5 @@
 	#This is for UNIX makefile which does only one release at a time.
 	SET(CMAKE_BUILD_TYPE Debug)
+	SET(CMAKE_CXX_FLAGS_DEBUG "-g -Wall")
 ENDIF(WIN32)
 
