Index: /matlab/testKF.m
===================================================================
--- /matlab/testKF.m (revision 22)
+++ /matlab/testKF.m (revision 32)
@@ -7,5 +7,5 @@
 	C=[1 0];
 	D=[0];
-	R=[0.1];
+	R=[1];
 	Q=[0.2 0 ; 0 0.02]; 
 
@@ -17,13 +17,14 @@
 	P0 = 200*eye(2);
 
-	u = ones(1,N);
+	u = zeros(1,N);
 	x = zeros(2,N);
 	y = zeros(1,N);
 
 	x(:,1) = [10;10];
+	Et = sQ*randn(2,N);
+	Wt = sR*randn(1,N);
 	for i=2:N;
-		et(1:2,i) = sQ*randn(2,1);
-		x(:,i) = A*x(:,i-1) + B*u(i) + et(:,i);
-		y(:,i) = C*x(:,i) + D*u(i) + sR*randn(1,1);
+		x(:,i) = A*x(:,i-1) + B*u(i) + Et(:,i);
+		y(:,i) = C*x(:,i) + D*u(i) + Wt(:,1);
 	end
 
@@ -39,4 +40,12 @@
 EP = [0;0];
 
+Oxt = mu0;
+OPt = P0;
+ll =0;
+Oxt2 = mu0;
+OPt2 = P0;
+ll2=0;
+
+
 for t=2:N
 	mu = A*mu + B*u(t);
@@ -50,5 +59,10 @@
 	mu = mu + K*(y(t)-C*mu-D*u(t));
 	Mu(1:2,t)=mu;
+
+	[Oxt,OPt,ll(t)] = Kalman(Oxt,y(t),A,C,Q,R,OPt);
+	[Oxt2,OPt2,ll2(t)] = Kalman(Oxt2,y(t),A,C,Q,R/10000,OPt2);
 end
+
+keyboard
 
 !cd ../;./tests/testKF
Index: /bdm/estim/libPF.h
===================================================================
--- /bdm/estim/libPF.h (revision 28)
+++ /bdm/estim/libPF.h (revision 32)
@@ -15,57 +15,164 @@
 
 #include <itpp/itbase.h>
-#include "../stat/libBM.h"
+#include "../stat/libEF.h"
 #include "../math/libDC.h"
 
 using namespace itpp;
 
-enum RESAMPLING_METHOD { MULTINOMIAL = 0, STRATIFIED = 1, SYSTEMATIC = 3 };
+/*!
+* \brief Trivial particle filter with proposal density equal to parameter evolution model.
 
-/*!
-* \brief A Particle Filter prototype
+Posterior density is represented by a weighted empirical density (\c eEmp ).
+*/
 
-Bayesian Filtering equations hold.
-*/
-class PF : public BM { 
+class PF : public BM {
 protected:
-	int n; //number of particles
-	vec w; //particle weights
-	Uniform_RNG URNG; //used for resampling
-	
+	//!number of particles;
+	int n;
+	//!posterior density
+	eEmp est;
+	//! pointer into \c eEmp
+	vec &_w;
+	//! pointer into \c eEmp
+	Array<vec> &_samples;
+	//! Parameter evolution model
+	mpdf &par;
+	//! Observation model
+	mpdf &obs;
 public:
-	//! Returns indexes of particles that should be resampled. The ordering MUST guarantee inplace replacement. (Important for MPF.)
-	ivec resample(RESAMPLING_METHOD method = SYSTEMATIC);
-	PF (vec w);
+	PF ( const RV &rv0, mpdf &par0,  mpdf &obs0, int n0 ) :BM ( rv0 ),
+			n ( n0 ),est ( rv0,n ),_w ( est._w() ),_samples ( est._samples() ),
+			par ( par0 ), obs ( obs0 ) {};
+
+//	void set_parametres(mpdf &par0, mpdf &obs0) {par=&par0;obs=&obs0;};
+	void set_est ( const epdf &epdf0 );
 	//TODO remove or implement bayes()!
-	void bayes(const vec &dt){};
-	epdf* _epdf(){return NULL;}
+	void bayes ( const vec &dt );
 };
 
 /*!
-* \brief Trivial particle filter with proposal density that is not conditioned on the data.
+\brief Marginalized Particle filter
 
-
+Trivial version: proposal $=$ parameter evolution, observation model is not used. (it is assumed to be part of BM).
 */
 
-class TrivialPF : public PF {
-	Array<vec> ptcls;
-	
-	bool is_proposal;
-	BM *prop;
-	mpdf *par;
-	mpdf *obs;
-	
+template<class BM_T>
+
+class MPF : public PF {
+	BM_T* Bms[1000];
+
+	//! internal class for MPDF providing composition of eEmp with external components
+
+class mpfepdf : public epdf  {
+	protected:
+		eEmp &E;
+		vec &_w;
+		Array<epdf*> Coms;
 	public:
-	TrivialPF(mpdf &par, mpdf &obs, BM &prop, int n0);
-	TrivialPF(mpdf &par, mpdf &obs, int n0);
-	void bayes(const vec &dt, bool evalll);
+		mpfepdf ( eEmp &E0, const RV &rvc ) :
+				epdf ( RV( ) ), E ( E0 ),  _w ( E._w() ),
+				Coms ( _w.length() ) {
+			rv.add ( E._rv() );
+			rv.add ( rvc );
+		};
+
+		void set_elements ( int &i, double wi, epdf* ep )
+		{_w ( i ) =wi; Coms ( i ) =ep;};
+
+		vec mean() const {
+			// ugly
+			vec pom=zeros ( ( Coms ( 0 )->_rv() ).count() );
+
+			for ( int i=0; i<_w.length(); i++ ) {pom += Coms ( i )->mean() * _w ( i );}
+
+			return concat ( E.mean(),pom );
+		}
+
+		vec sample() const {it_error ( "Not implemented" );return 0;}
+
+		double evalpdflog ( const vec &val ) const {it_error ( "not implemented" ); return 0.0;}
+	};
+
+	//! estimate joining PF.est with conditional
+	mpfepdf jest;
+
+public:
+	//! Default constructor.
+	MPF ( const RV &rvlin, const RV &rvpf, mpdf &par0, mpdf &obs0, int n, const BM_T &BMcond0 ) : PF ( rvpf ,par0,obs0,n ),jest ( est,rvlin ) {
+		//
+		//TODO test if rv and BMcond.rv are compatible.
+		rv.add ( rvlin );
+		//
+
+		if ( n>1000 ) it_error ( "increase 1000 here!" );
+
+		for ( int i=0;i<n;i++ ) {
+			Bms[i] = new BM_T ( BMcond0 ); //copy constructor
+			epdf& pom=Bms[i]->_epdf();
+			jest.set_elements ( i,1.0/n,&pom );
+		}
+	};
+
+	~MPF() {
+	}
+
+	void bayes ( const vec &dt );
+	epdf& _epdf() {return jest;}
+
+	void set_est ( const epdf& epdf0 ) {
+		PF::set_est ( epdf0 );  // sample params in condition
+		// copy conditions to BMs
+
+		for ( int i=0;i<n;i++ ) {Bms[i]->condition ( _samples ( i ) );}
+	}
 };
 
-class MPF : public TrivialPF {
-	Array<BM> Bms;
-	public:
-	MPF(BM &B, BM &prop, mpdf &obs, mpdf &par);
-	void bayes(vec &dt);	
-};
+template<class BM_T>
+void MPF<BM_T>::bayes ( const vec &dt ) {
+	int i;
+	vec lls ( n );
+	ivec ind;
+	double mlls=-std::numeric_limits<double>::infinity();
+	double sum=0.0;
+
+	for ( i=0;i<n;i++ ) {
+		//generate new samples from paramater evolution model;
+		_samples ( i ) = par.samplecond ( _samples ( i ), lls ( i ) );
+		Bms[i]->condition ( _samples ( i ) );
+		Bms[i]->bayes ( dt );
+		lls ( i ) += Bms[i]->_ll();
+
+		if ( lls ( i ) >mlls ) mlls=lls ( i ); //find maximum likelihood (for numerical stability)
+	}
+
+	// compute weights
+	for ( i=0;i<n;i++ ) {
+		_w ( i ) *= exp ( lls ( i ) - mlls ); // multiply w by likelihood
+	}
+
+	//renormalize
+	for ( i=0;i<n;i++ ) {sum+=_w ( i );};
+
+	_w /=sum; //?
+
+	if ( ( _w*_w ) < ( 0.5*n ) ) {
+		ind = est.resample();
+		// Resample Bms!
+
+		for ( i=0;i<n;i++ ) {
+			if ( ind ( i ) !=i ) {//replace the current Bm by a new one
+				//fixme this would require new assignment operator
+				// *Bms[i] = *Bms[ind ( i ) ];
+				
+				// poor-man's solution: replicate constructor here
+				// copied from MPF::MPF
+				delete Bms[i];
+				Bms[i] = new BM_T ( *Bms[ind ( i ) ] ); //copy constructor
+				epdf& pom=Bms[i]->_epdf();
+				jest.set_elements ( i,1.0/n,&pom );
+			}
+		};
+	}
+}
 
 #endif // KF_H
Index: /bdm/estim/libKF.cpp
===================================================================
--- /bdm/estim/libKF.cpp (revision 28)
+++ /bdm/estim/libKF.cpp (revision 32)
@@ -6,15 +6,15 @@
 using std::endl;
 
-KalmanFull::KalmanFull( mat A0, mat B0, mat C0, mat D0, mat R0, mat Q0, mat P0, vec mu0 ) {
+KalmanFull::KalmanFull ( mat A0, mat B0, mat C0, mat D0, mat R0, mat Q0, mat P0, vec mu0 ) {
 	dimx = A0.rows();
 	dimu = B0.cols();
 	dimy = C0.rows();
 
-	it_assert_debug( A0.cols()==dimx, "KalmanFull: A is not square" );
-	it_assert_debug( B0.rows()==dimx, "KalmanFull: B is not compatible" );
-	it_assert_debug( C0.cols()==dimx, "KalmanFull: C is not square" );
-	it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),	"KalmanFull: D is not compatible" );
-	it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), "KalmanFull: R is not compatible" );
-	it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), "KalmanFull: Q is not compatible" );
+	it_assert_debug ( A0.cols() ==dimx, "KalmanFull: A is not square" );
+	it_assert_debug ( B0.rows() ==dimx, "KalmanFull: B is not compatible" );
+	it_assert_debug ( C0.cols() ==dimx, "KalmanFull: C is not square" );
+	it_assert_debug ( ( D0.rows() ==dimy ) || ( D0.cols() ==dimu ),	"KalmanFull: D is not compatible" );
+	it_assert_debug ( ( R0.cols() ==dimy ) || ( R0.rows() ==dimy ), "KalmanFull: R is not compatible" );
+	it_assert_debug ( ( Q0.cols() ==dimx ) || ( Q0.rows() ==dimx ), "KalmanFull: Q is not compatible" );
 
 	A = A0;
@@ -28,9 +28,9 @@
 }
 
-void KalmanFull::bayes( const vec &dt) {
-	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
+void KalmanFull::bayes ( const vec &dt ) {
+	it_assert_debug ( dt.length() == ( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
 
-	vec u = dt.get( dimy,dimy+dimu-1 );
-	vec y = dt.get( 0,dimy-1 );
+	vec u = dt.get ( dimy,dimy+dimu-1 );
+	vec y = dt.get ( 0,dimy-1 );
 	//Time update
 	mu = A*mu + B*u;
@@ -39,8 +39,8 @@
 	//Data update
 	_Ry = C*P*C.transpose() + R;
-	_iRy = inv( _Ry );
-	_K = P*C.transpose()*_iRy;
+	_iRy = inv ( _Ry );
+	_K = P*C.transpose() *_iRy;
 	P -= _K*C*P; // P = P -KCP;
-	mu += _K*( y-C*mu-D*u );
+	mu += _K* ( y-C*mu-D*u );
 };
 
@@ -50,2 +50,14 @@
 }
 
+void KFcondQR::condition ( const vec &QR ) {
+	it_assert_debug ( QR.length() == ( rvc.count() ),"KFcondRQ: conditioning by incompatible vector" );
+
+	Q.setD ( QR ( 0, dimx-1 ));
+	R.setD ( QR ( dimx, -1 ));
+};
+
+void KFcondR::condition ( const vec &R0 ) {
+	it_assert_debug ( R0.length() == ( rvc.count() ),"KFcondR: conditioning by incompatible vector" );
+
+	R.setD ( R0 );
+};
Index: /bdm/estim/libKF.h
===================================================================
--- /bdm/estim/libKF.h (revision 28)
+++ /bdm/estim/libKF.h (revision 32)
@@ -24,12 +24,13 @@
 * \brief Basic Kalman filter with full matrices (education purpose only)! Will be deleted soon!
 */
-class KalmanFull : public BM { 
+
+class KalmanFull {
 	int dimx, dimy, dimu;
 	mat A, B, C, D, R, Q;
-	
-	//cache 
+
+	//cache
 	mat _Pp, _Ry, _iRy, _K;
 public:
-	//posterior 
+	//posterior
 	//! Mean value of the posterior density
 	vec mu;
@@ -38,9 +39,8 @@
 
 public:
-	//! Full constructor 
-	KalmanFull ( mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0);
+	//! Full constructor
+	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); 
-	epdf* _epdf(){return NULL;}; 
+	void bayes ( const vec &dt );
 
 	friend std::ostream &operator<< ( std::ostream &os, const KalmanFull &kf );
@@ -53,45 +53,58 @@
 */
 template<class sq_T>
-class Kalman : public BM { 
+
+class Kalman : public BM {
 protected:
+	RV rvy;
+	RV rvu;
 	int dimx, dimy, dimu;
 	mat A, B, C, D;
-	sq_T R, Q;
-	
-	//!posterior on $x_t$
+	sq_T Q,R;
+
+	//!posterior density on $x_t$
 	enorm<sq_T> est;
 	//!preditive density on $y_t$
 	enorm<sq_T> fy;
-	
+
 	mat _K;
 	//cache of fy
-	vec* _yp; 
+	vec* _yp;
 	sq_T* _Ry,*_iRy;
 	//cache of est
 	vec* _mu;
 	sq_T* _P, *_iP;
-	
+
 public:
 	//! Default constructor
-	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);
+	Kalman ( RV rvx0, RV rvy0, RV rvu0 );
+	//! Copy constructor
+	Kalman ( const Kalman<sq_T> &K0 );
+	//! 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);};
+
+	void set_est ( const vec &mu0, const sq_T &P0 ) {
+		sq_T pom(dimy);
+		est.set_parameters ( mu0,P0 );
+		P0.mult_sym(C,pom);
+		fy.set_parameters ( C*mu0, pom );
+	};
+
 	//! Here dt = [yt;ut] of appropriate dimensions
-	void bayes(const vec &dt); 
+	void bayes ( const vec &dt );
+	epdf& _epdf() {return est;}
 
 //	friend std::ostream &operator<< ( std::ostream &os, const Kalman<sq_T> &kf );
 
 	//!access functions
-	enorm<sq_T>* _epdf(){return &est;} 
-};
-
-/*!
-\brief Extended Kalman Filter 
+};
+
+/*!
+\brief Extended Kalman Filter
 
 An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean.
 */
 template<class sq_T>
+
 class EKF : public Kalman<ldmat> {
 	//! Internal Model f(x,u)
@@ -99,10 +112,34 @@
 	//! Observation Model h(x,u)
 	diffbifn* phxu;
-public:	
+public:
 	//! Default constructor
-	EKF (RV rvx, RV rvy, RV rvu);
-	void set_parameters(diffbifn* pfxu, diffbifn* phxu, const sq_T Q0, const sq_T R0);
+	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); 	
+	void bayes ( const vec &dt );
+};
+
+/*!
+\brief Kalman Filter with conditional diagonal matrices R and Q.
+*/
+
+class KFcondQR : public Kalman<ldmat>, public BMcond {
+//protected:
+public:
+	KFcondQR ( RV rvx, RV rvy, RV rvu, RV rvRQ ) : Kalman<ldmat> ( rvx, rvy,rvu ),BMcond ( rvRQ ) {};
+
+	void condition ( const vec &RQ );
+};
+
+/*!
+\brief Kalman Filter with conditional diagonal matrices R and Q.
+*/
+
+class KFcondR : public Kalman<ldmat>, public BMcond {
+//protected:
+public:
+	KFcondR ( RV rvx, RV rvy, RV rvu, RV rvR ) : Kalman<ldmat> ( rvx, rvy,rvu ),BMcond ( rvR ) {};
+
+	void condition ( const vec &R );
 };
 
@@ -110,25 +147,52 @@
 
 template<class sq_T>
-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){
+Kalman<sq_T>::Kalman ( const Kalman<sq_T> &K0 ) : BM ( K0.rv ),rvy ( K0.rvy ),rvu ( K0.rvu ),
+		dimx ( rv.count() ), dimy ( rvy.count() ),dimu ( rvu.count() ),
+		A ( dimx,dimx ), B ( dimx,dimu ), C ( dimy,dimx ), D ( dimy,dimu ),est ( rv ), fy ( rvy ) {
+
+	this->set_parameters ( K0.A, K0.B, K0.C, K0.D, K0.R, K0.Q );
+
+//establish pointers
+	_mu = est._mu();
+	est._R ( _P,_iP );
+
+//fy
+	_yp = fy._mu();
+	fy._R ( _Ry,_iRy );
+
+//reset copy values in pointers
+	*_mu = *K0._mu;
+	*_P = *K0._P;
+	*_iP = *K0._iP;
+	*_yp = *K0._yp;
+	*_iRy = *K0._iRy;
+	*_Ry = *K0._Ry;
+
+}
+
+template<class sq_T>
+Kalman<sq_T>::Kalman ( RV rvx, RV rvy0, RV rvu0 ) : BM ( rvx ),rvy ( rvy0 ),rvu ( rvu0 ),
+		dimx ( rvx.count() ), dimy ( rvy.count() ),dimu ( rvu.count() ),
+		A ( dimx,dimx ), B ( dimx,dimu ), C ( dimy,dimx ), D ( dimy,dimu ),
+		Q(dimx), R (dimy),
+		est ( rvx ), fy ( rvy ) {
 //assign cache
 //est
-_mu = est._mu();
-est._R(_P,_iP);
+	_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" );
-	it_assert_debug( C0.cols()==dimx, "Kalman: C is not square" );
-	it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),	"Kalman: D is not compatible" );
-	it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), "Kalman: R is not compatible" );
-	it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), "Kalman: Q is not compatible" );
+	_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" );
+	it_assert_debug ( C0.cols() ==dimx, "Kalman: C is not square" );
+	it_assert_debug ( ( D0.rows() ==dimy ) || ( D0.cols() ==dimu ),	"Kalman: D is not compatible" );
+	it_assert_debug ( ( R0.cols() ==dimy ) || ( R0.rows() ==dimy ), "Kalman: R is not compatible" );
+	it_assert_debug ( ( Q0.cols() ==dimx ) || ( Q0.rows() ==dimx ), "Kalman: Q is not compatible" );
 
 	A = A0;
@@ -137,38 +201,43 @@
 	D = D0;
 	R = R0;
-	Q = Q0;	
+	Q = Q0;
 }
 
 template<class sq_T>
-void Kalman<sq_T>::bayes( const vec &dt) {
-	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
-
-	vec u = dt.get( dimy,dimy+dimu-1 );
-	vec y = dt.get( 0,dimy-1 );
+void Kalman<sq_T>::bayes ( const vec &dt ) {
+	it_assert_debug ( dt.length() == ( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
+
+	vec u = dt.get ( dimy,dimy+dimu-1 );
+	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;
+	_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+=fy.evalpdflog(*_yp);
+
+	_Ry->inv ( *_iRy ); // result is in _iRy;
+	fy._cached ( true );
+	_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 ) { //likelihood of observation y
+		ll=fy.evalpdflog ( y );
 	}
+
+//cout << "y: " << y-(*_yp) <<" R: " << _Ry->to_mat() << " iR: " << _iRy->to_mat() << " ll: " << ll <<endl;
+
 };
 
@@ -176,19 +245,19 @@
 
 template<class sq_T>
-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);
-
-		R = R0;
-		Q = Q0;
+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 );
+
+	R = R0;
+	Q = Q0;
 
 	using std::cout;
@@ -201,32 +270,35 @@
 
 template<class sq_T>
-void EKF<sq_T>::bayes( const vec &dt) {
-	it_assert_debug( dt.length()==( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
-
-	vec u = dt.get( dimy,dimy+dimu-1 );
-	vec y = dt.get( 0,dimy-1 );
+void EKF<sq_T>::bayes ( const vec &dt ) {
+	it_assert_debug ( dt.length() == ( dimy+dimu ),"KalmanFull::bayes wrong size of dt" );
+
+	vec u = dt.get ( dimy,dimy+dimu-1 );
+	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;
+	_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);}
+
+	_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 = phxu->eval ( *_mu,u ); //y prediction
+	( *_mu ) += _K* ( y-*_yp );
+
+	if ( evalll==true ) {ll+=fy.evalpdflog ( y );}
 };
 
Index: /bdm/estim/libPF.cpp
===================================================================
--- /bdm/estim/libPF.cpp (revision 28)
+++ /bdm/estim/libPF.cpp (revision 32)
@@ -5,123 +5,40 @@
 using std::endl;
 
-PF::PF(vec w0){w=w0/sum(w0); n=w.length();}
 
-ivec PF::resample( RESAMPLING_METHOD method ) {
-	ivec ind=zeros_i( n );
-	ivec N_babies = zeros_i( n );
-	vec cumDist = cumsum( w );
-	vec u( n );
-	int i,j,parent;
-	double u0;
+void PF::bayes ( const vec &dt ) {
+	int i;
+	vec lls ( n );
+	ivec ind;
+	double mlls=-std::numeric_limits<double>::infinity(), sum=0.0;
 
-	switch ( method ) {
-	case MULTINOMIAL:
-		u( n - 1 ) = pow( URNG.sample(), 1.0 / n );
-		for ( i = n - 2;i >= 0;i-- ) {
-			u( i ) = u( i + 1 ) * pow( URNG.sample(), 1.0 / ( i + 1 ) );
-		}
-		break;
-	case STRATIFIED:
-		for ( i = 0;i < n;i++ ) {
-			u( i ) = ( i + URNG.sample() ) / n;
-		}
-		break;
-	case SYSTEMATIC:
-		u0 = URNG.sample();
-		for ( i = 0;i < n;i++ ) {
-			u( i ) = ( i + u0 ) / n;
-		}
-		break;
-	default:
-		it_error( "PF::resample(): Unknown resampling method" );
-	}
-	
-// 	// <<<<<<<<<<<
-// 	using std::cout;
-// 	cout << "resampling:" << endl;
-// 	cout << w <<endl;
-// 	cout << cumDist <<endl;
-// 	cout << u <<endl;
+	for ( i=0;i<n;i++ ) {
+		//generate new samples from paramater evolution model;
+		_samples ( i ) = par.samplecond ( _samples ( i ), lls ( i ) );
+		lls ( i ) *= obs.evalcond ( dt,_samples ( i ) );
 
-	// U is now full
-	j = 0;
-	for ( i = 0;i < n;i++ ) {
-		while ( u( i ) > cumDist( j ) ) j++;
-		N_babies( j )++;
+		if ( lls ( i ) >mlls ) mlls=lls ( i ); //find maximum
 	}
 
-// 	// <<<<<<<<<<<
-// 	cout << N_babies <<endl;
+	// compute weights
+	for ( i=0;i<n;i++ ) {
+		_w ( i ) *= exp ( lls ( i ) - mlls ); // multiply w by likelihood
+	}
 
-	// We have assigned new babies for each Particle
-	// Now, we fill the resulting index such that:
-	// * particles with at least one baby should not move *
-	// This assures that reassignment can be done inplace;
+	//renormalize
+	for ( i=0;i<n;i++ ) {sum+=_w ( i );};
 
-	// find the first parent;
-	parent=0; while(N_babies(parent)==0) parent++;
-	// Build index
-	for ( i = 0;i < n;i++ ) {
-		if ( N_babies( i ) > 0 ){
-			ind( i ) = i;
-			N_babies( i ) --; //this index was now replicated;
-			}
-		else {
-			// test if the parent has been fully replicated 
-			// if yes, find the next one
-			while((N_babies(parent)==0) || (N_babies(parent)==1 && parent>i) ) parent++;
-			// Replicate parent
-			ind (i) = parent;
-			N_babies( parent ) --; //this index was now replicated;
-		}
-/*			// <<<<<<<<<<<
-			cout <<ind << endl;*/
-	}
-	return ind;
+	_w ( i ) /=sum; //?
+
+	ind = est.resample();
+
 }
 
-TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, BM &prop0, int n0 ) : PF(1/n*ones(n)) {
-	is_proposal = true;
-	prop = &prop0;
-	par = &par0;
-	obs = &obs0;
-}
-TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0,  int n0 ) : PF(1/n*ones(n)) {
-	is_proposal = false;
-	par = &par0;
-	obs = &obs0;
+void PF::set_est ( const epdf &epdf0 ) {
+	int i;
+
+	for ( i=0;i<n;i++ ) {
+		_samples ( i ) = epdf0.sample();
+	}
 }
 
-void TrivialPF::bayes( const vec &dt , bool evalll ) {
-	int i;
-	vec oldp;
-	double ll, gl, sum = 0.0;
-	Sort<double> S;
-	ivec ind, iw;
-	
-	//generate new samples
-	for ( i=0;i<n;i++ ) {
-		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 );
-		w( i ) *= ll/gl;
-	}
-	//renormalize
-	for ( i=0;i<n;i++ ){sum+=w( i );};
-	w( i ) /=sum; //?
-	
-	ind = resample();
-	iw = S.sort_index( 0,n-1,w ); // the first one in iw is the strongest
-
-	for ( i=0;i<n;i++ ) {
-		ptcls( i ) = ptcls( i ); //potentionally dangerous!
-	}
-	
-}
+//MPF::MPF:{}
Index: /bdm/itpp_ext.h
===================================================================
--- /bdm/itpp_ext.h (revision 15)
+++ /bdm/itpp_ext.h (revision 32)
@@ -12,5 +12,44 @@
 #include <itpp/itbase.h>
 
+using std::cout;
+using std::endl;
+
 namespace itpp {
 	Array<int> to_Arr(const ivec &indices);
+	
+  /*!
+    \brief Gamma distribution
+    \ingroup randgen
+  */
+  class Gamma_RNG {
+  public:
+    //! constructor. Set lambda.
+    Gamma_RNG(double a=1.0, double b=1.0);
+    //! Set lambda
+    void setup(double a0, double b0) { alpha=a0; beta=b0;}
+    //! get lambda
+    double get_setup() const;
+    //! Get one sample.
+    double operator()() { return sample(); }
+    //! Get a sample vector.
+    vec operator()(int n);
+    //! Get a sample matrix.
+    mat operator()(int h, int w);
+  protected:
+  private:
+    //!
+    double sample();
+    //!
+    double alpha;
+    //!
+    double beta;
+    //!
+    Random_Generator RNG;
+    Normal_RNG NRNG;
+    //! compatibility with R
+    inline double exp_rand(){return -std::log(RNG.random_01());}
+    inline double unif_rand(){return RNG.random_01();}
+    inline double norm_rand(){return NRNG.sample();}
+
+  };
 }
Index: /bdm/math/libDC.h
===================================================================
--- /bdm/math/libDC.h (revision 28)
+++ /bdm/math/libDC.h (revision 32)
@@ -61,5 +61,5 @@
 		Used e.g. in generating normal samples.
 		*/
-		virtual vec sqrt_mult (const vec &v ) =0;
+		virtual vec sqrt_mult (const vec &v ) const =0;
 
 		/*!
@@ -67,5 +67,5 @@
 
 		*/
-		virtual double qform (const vec &v ) =0;
+		virtual double qform (const vec &v ) const =0;
 
 //	//! easy version of the
@@ -83,4 +83,6 @@
 		//! Destructor for future use;
 		virtual ~sqmat(){};
+		//! Default constructor
+		sqmat(const int dim0): dim(dim0){};
 	protected:
 		int dim;
@@ -101,6 +103,6 @@
 		void mult_sym ( const mat &C);
 		void mult_sym_t ( const mat &C);
-		void mult_sym ( const mat &C, fsqmat &U);
-		void mult_sym_t ( const mat &C, fsqmat &U);
+		void mult_sym ( const mat &C, fsqmat &U) const;
+		void mult_sym_t ( const mat &C, fsqmat &U) const;
 		void clear();
 
@@ -124,6 +126,6 @@
 
 		double logdet() const {return log ( det ( M ) );};
-		double qform (const  vec &v ) {return ( v* ( M*v ) );};
-		vec sqrt_mult (const vec &v ) {it_error ( "not implemented" );return v;};
+		double qform (const  vec &v ) const {return ( v* ( M*v ) );};
+		vec sqrt_mult (const vec &v ) const {it_error ( "not implemented" );return v;};
 
 		fsqmat& operator += ( const fsqmat &A ) {M+=A.M;return *this;};
@@ -132,5 +134,5 @@
 //		fsqmat& operator = ( const fsqmat &A) {M=A.M; return *this;};
 
-		friend std::ostream &operator<< ( std::ostream &os, fsqmat &sq );
+		friend std::ostream &operator<< ( std::ostream &os, const fsqmat &sq );
 
 };
@@ -162,10 +164,10 @@
 		void add ( const ldmat &ld2, double w=1.0 );
 		double logdet() const;
-		double qform (const vec &v );
+		double qform (const vec &v ) const;
 //	sqmat& operator -= ( const sqmat & ld2 );
 		void clear();
 		int cols() const;
 		int rows() const;
-		vec sqrt_mult ( const vec &v );
+		vec sqrt_mult ( const vec &v ) const;
 
 		/*! \brief Matrix inversion preserving the chosen form.
@@ -174,5 +176,5 @@
 
 		*/
-		virtual void inv ( ldmat &Inv );
+		virtual void inv ( ldmat &Inv ) const;
 
 		/*! \brief Symmetric multiplication of $U$ by a general matrix $C$, result of which is stored in the current class.
@@ -181,5 +183,5 @@
 
 		*/
-		void mult_sym ( const mat &C, ldmat &U);
+		void mult_sym ( const mat &C, ldmat &U) const;
 
 		/*! \brief Symmetric multiplication of $U$ by a transpose of a general matrix $C$, result of which is stored in the current class.
@@ -188,5 +190,5 @@
 
 		*/
-		void mult_sym_t ( const mat &C, ldmat &U);
+		void mult_sym_t ( const mat &C, ldmat &U) const;
 
 
@@ -200,4 +202,8 @@
 		*/
 		void ldform (const mat &A,const vec &D0 );
+
+		//! Access functions
+		void setD (const vec &nD){D=nD;}
+		void setL (const vec &nL){L=nL;}
 
 		ldmat& operator += ( const ldmat &ldA );
@@ -205,5 +211,6 @@
 		ldmat& operator *= ( double x );
 
-		friend std::ostream &operator<< ( std::ostream &os, ldmat &sq );
+		friend std::ostream &operator<< ( std::ostream &os, const ldmat &sq );
+
 
 	protected:
Index: /bdm/math/libDC.cpp
===================================================================
--- /bdm/math/libDC.cpp (revision 26)
+++ /bdm/math/libDC.cpp (revision 32)
@@ -17,19 +17,19 @@
 void fsqmat::mult_sym ( const mat &C) {M=C *M*C.T();};
 void fsqmat::mult_sym_t ( const mat &C) {M=C.T() *M*C;};
-void fsqmat::mult_sym ( const mat &C, fsqmat &U) { U.M = ( C *(M*C.T()) );};
-void fsqmat::mult_sym_t ( const mat &C, fsqmat &U) { U.M = ( C.T() *(M*C) );};
+void fsqmat::mult_sym ( const mat &C, fsqmat &U) const { U.M = ( C *(M*C.T()) );};
+void fsqmat::mult_sym_t ( const mat &C, fsqmat &U) const { U.M = ( C.T() *(M*C) );};
 void fsqmat::inv ( fsqmat &Inv ) {mat IM = itpp::inv ( M ); Inv=IM;};
 void fsqmat::clear() {M.clear();};
-fsqmat::fsqmat ( const mat &M0 )
+fsqmat::fsqmat ( const mat &M0 ) : sqmat(M0.cols())
 {
 	it_assert_debug ( ( M0.cols() ==M0.rows() ),"M0 must be square" );
-	M=M0;dim=M0.cols();
+	M=M0;
 };
 
-fsqmat::fsqmat() {};
-
-fsqmat::fsqmat(const int dim0): M(dim0,dim0) {};
-
-std::ostream &operator<< ( std::ostream &os,  fsqmat &ld ) {
+//fsqmat::fsqmat() {};
+
+fsqmat::fsqmat(const int dim0): sqmat(dim0), M(dim0,dim0) {};
+
+std::ostream &operator<< ( std::ostream &os, const fsqmat &ld ) {
 	os << ld.M << endl;
 	return os;
@@ -37,28 +37,21 @@
 
 
-ldmat::ldmat( const mat &exL, const vec &exD ) {
+ldmat::ldmat( const mat &exL, const vec &exD ) : sqmat(exD.length()) {
 	D = exD;
 	L = exL;
-	dim = exD.length();
-}
-
-ldmat::ldmat() {
-	dim = 0;
-}
-
-ldmat::ldmat(const int dim0): D(dim0),L(dim0,dim0) {
-	dim = dim0;
-}
-
-ldmat::ldmat(const vec D0) {
+}
+
+ldmat::ldmat() :sqmat(0) {}
+
+ldmat::ldmat(const int dim0): sqmat(dim0), D(dim0),L(dim0,dim0) {}
+
+ldmat::ldmat(const vec D0):sqmat(D0.length()) {
 	D = D0;
-	dim = D0.length();
 	L = eye(dim);
 }
 
-ldmat::ldmat( const mat &V ) {
+ldmat::ldmat( const mat &V ):sqmat(V.cols()) {
 //TODO check if correct!! Based on heuristic observation of lu()
 
-	dim = V.cols();
 	it_assert_debug( dim == V.rows(),"ldmat::ldmat matrix V is not square!" );
 		
@@ -86,5 +79,5 @@
 }
 
-std::ostream &operator<< ( std::ostream &os,  ldmat &ld ) {
+std::ostream &operator<< ( std::ostream &os, const ldmat &ld ) {
 	os << "L:" << ld.L << endl;
 	os << "D:" << ld.D << endl;
@@ -130,5 +123,5 @@
 void ldmat::clear(){L.clear(); for ( int i=0;i<L.cols();i++ ){L( i,i )=1;}; D.clear();}
 
-void ldmat::inv( ldmat &Inv ) {
+void ldmat::inv( ldmat &Inv ) const {
 	int dim = D.length();
 	Inv.clear();   //Inv = zero in LD
@@ -152,10 +145,10 @@
 }
 
-void ldmat::mult_sym( const mat &C, ldmat &U) {
+void ldmat::mult_sym( const mat &C, ldmat &U) const {
 	mat A=L*C.T(); //could be done more efficiently using BLAS
 	U.ldform(A,D);
 }
 
-void ldmat::mult_sym_t( const mat &C, ldmat &U) {
+void ldmat::mult_sym_t( const mat &C, ldmat &U) const {
 	mat A=L*C;
 /*	vec nD=zeros(U.rows());
@@ -173,5 +166,5 @@
 }
 
-double ldmat::qform( const vec &v ) {
+double ldmat::qform( const vec &v ) const {
 	double x = 0.0, sum;
 	int i,j;
@@ -179,5 +172,5 @@
 	for ( i=0; i<D.length(); i++ ) { //rows of L
 		sum = 0.0;
-		for ( j=0; j<=i; j++ ){sum+=L( i,j )*v( j );}
+		for ( j=i; j<=i; j++ ){sum+=L( i,j )*v( i );}
 		x +=D( i )*sum*sum;
 	};
@@ -191,5 +184,5 @@
 }
 
-vec ldmat::sqrt_mult( const vec &x ) {
+vec ldmat::sqrt_mult( const vec &x ) const {
 	int i,j;
 	vec res( dim );
@@ -383,4 +376,2 @@
 	}
 }
-
-
Index: /bdm/stat/libEF.cpp
===================================================================
--- /bdm/stat/libEF.cpp (revision 14)
+++ /bdm/stat/libEF.cpp (revision 32)
@@ -1,7 +1,178 @@
 #include <itpp/itbase.h>
+#include <itpp/base/bessel.h>
 #include "libEF.h"
+#include <math.h>
 
 using namespace itpp;
 
+Uniform_RNG UniRNG;
+Normal_RNG NorRNG;
+Gamma_RNG GamRNG;
+
 using std::cout;
 
+vec egamma::sample() const {
+	vec smp ( rv.count() );
+	int i;
+
+	for ( i=0; i<rv.count(); i++ ) {
+		GamRNG.setup ( alpha ( i ),beta ( i ) );
+		smp ( i ) = GamRNG();
+	}
+
+	return smp;
+}
+
+mat egamma::sample ( int N ) const {
+	mat Smp ( rv.count(),N );
+	int i,j;
+
+	for ( i=0; i<rv.count(); i++ ) {
+		GamRNG.setup ( alpha ( i ),beta ( i ) );
+
+		for ( j=0; j<N; j++ ) {
+			Smp ( i,j ) = GamRNG();
+		}
+	}
+
+	return Smp;
+}
+
+double egamma::evalpdflog ( const vec &val ) const {
+	double res = 0.0; //will be added
+	int i;
+
+	for ( i=0; i<rv.count(); i++ ) {
+		res += ( alpha ( i ) - 1 ) *std::log ( val ( i ) ) + alpha ( i ) *std::log ( beta ( i ) ) - beta ( i ) *val ( i ) - lgamma ( alpha ( i ) );
+	}
+
+	return res;
+}
+
+//MGamma
+mgamma::mgamma ( const RV &rv,const RV &rvc ) : mEF ( rv,rvc ), epdf ( rv ) {vec* tmp; epdf._param ( tmp,_beta );};
+
+void mgamma::set_parameters ( double k0 ) {
+	k=k0;
+	ep = &epdf;
+	epdf.set_parameters ( k*ones ( rv.count() ),*_beta );
+};
+
+vec mgamma::samplecond ( vec &cond, double &ll ) {
+	*_beta=k / cond ;
+	vec smp = epdf.sample();
+	ll = epdf.evalpdflog ( smp );
+	return smp;
+};
+
+//Fixme repetition of mlnorm.samplecond.
+mat mgamma::samplecond ( vec &cond, vec &lik, int n ) {
+	int i;
+	int dim = rv.count();
+	mat Smp ( dim,n );
+	vec smp ( dim );
+	this->condition ( cond );
+
+	for ( i=0; i<n; i++ ) {
+		smp = epdf.sample();
+		lik ( i ) = epdf.eval ( smp );
+		Smp.set_col ( i ,smp );
+	}
+
+	return Smp;
+};
+
+ivec eEmp::resample ( RESAMPLING_METHOD method ) {
+	ivec ind=zeros_i ( n );
+	ivec N_babies = zeros_i ( n );
+	vec cumDist = cumsum ( w );
+	vec u ( n );
+	int i,j,parent;
+	double u0;
+
+	switch ( method ) {
+	case MULTINOMIAL:
+		u ( n - 1 ) = pow ( UniRNG.sample(), 1.0 / n );
+
+		for ( i = n - 2;i >= 0;i-- ) {
+			u ( i ) = u ( i + 1 ) * pow ( UniRNG.sample(), 1.0 / ( i + 1 ) );
+		}
+
+		break;
+
+	case STRATIFIED:
+
+		for ( i = 0;i < n;i++ ) {
+			u ( i ) = ( i + UniRNG.sample() ) / n;
+		}
+
+		break;
+
+	case SYSTEMATIC:
+		u0 = UniRNG.sample();
+
+		for ( i = 0;i < n;i++ ) {
+			u ( i ) = ( i + u0 ) / n;
+		}
+
+		break;
+
+	default:
+		it_error ( "PF::resample(): Unknown resampling method" );
+	}
+
+	// U is now full
+	j = 0;
+
+	for ( i = 0;i < n;i++ ) {
+		while ( u ( i ) > cumDist ( j ) ) j++;
+
+		N_babies ( j ) ++;
+	}
+
+	// We have assigned new babies for each Particle
+	// Now, we fill the resulting index such that:
+	// * particles with at least one baby should not move *
+	// This assures that reassignment can be done inplace;
+
+	// find the first parent;
+	parent=0; while ( N_babies ( parent ) ==0 ) parent++;
+
+	// Build index
+	for ( i = 0;i < n;i++ ) {
+		if ( N_babies ( i ) > 0 ) {
+			ind ( i ) = i;
+			N_babies ( i ) --; //this index was now replicated;
+		} else {
+			// test if the parent has been fully replicated
+			// if yes, find the next one
+			while ( ( N_babies ( parent ) ==0 ) || ( N_babies ( parent ) ==1 && parent>i ) ) parent++;
+
+			// Replicate parent
+			ind ( i ) = parent;
+
+			N_babies ( parent ) --; //this index was now replicated;
+		}
+
+	}
+
+	// copy the internals according to ind
+	for ( i=0;i<n;i++ ) {
+		if ( ind ( i ) !=i ) {
+			samples ( i ) =samples ( ind ( i ) );
+		}
+		w ( i ) = 1.0/n;
+	}
+
+	return ind;
+}
+
+void eEmp::set_parameters ( const vec &w0, epdf* epdf0 ) {
+//it_assert_debug(rv==epdf0->rv(),"Wrong epdf0");
+	w=w0;
+	w/=sum ( w0 );//renormalize
+	n=w.length();
+	samples.set_size ( n );
+
+	for ( int i=0;i<n;i++ ) {samples ( i ) =epdf0->sample();}
+}
Index: /bdm/stat/libBM.cpp
===================================================================
--- /bdm/stat/libBM.cpp (revision 27)
+++ /bdm/stat/libBM.cpp (revision 32)
@@ -7,5 +7,5 @@
 using std::cout;
 
-void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs ) {
+void RV::init( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) {
 	//
 	int i;
@@ -16,6 +16,5 @@
 	        ( len != in_names.length() ) || \
 	        ( len != in_sizes.length() ) || \
-	        ( len != in_times.length() ) || \
-	        ( len != in_obs.length() ) ) {
+	        ( len != in_times.length() )) {
 		it_error( "RV::RV inconsistent length of input vectors." );
 	}
@@ -25,14 +24,24 @@
 	sizes = in_sizes;
 	times = in_times;
-	obs = in_obs;
 	size = 0;
 	for(i=0;i<len;i++){size+=sizes(i);}
 };
 
-RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs ) {
-	init ( in_ids, in_names, in_sizes, in_times, in_obs );
+RV::RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times ) {
+	init ( in_ids, in_names, in_sizes, in_times );
 }
 
-RV::RV () {};
+RV::RV () : size(0),len(0){};
+
+void RV::add (const RV &rv2) {
+	// TODO
+	size+=rv2.size;
+	len +=rv2.len;
+	ids=concat(ids,rv2.ids);
+	sizes=concat(sizes,rv2.sizes);
+	times=concat(times,rv2.times);
+	names=concat(names,rv2.names);
+//	return *this;
+};
 
 RV::RV ( ivec in_ids ) {
@@ -46,9 +55,9 @@
 	}
 
-	init ( in_ids, A, ones_i( len ), zeros_i( len ), zeros_i( len ) );
+	init ( in_ids, A, ones_i( len ), zeros_i( len ) );
 }
 
 RV RV::subselect(ivec ind){
-	return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind), obs(ind));
+	return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind));
 }
 
@@ -56,5 +65,5 @@
 
 RV RV::operator()(ivec ind){
-	return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind), obs(ind));
+	return RV(ids(ind), names(to_Arr(ind)), sizes(ind), times(ind));
 }
 
@@ -77,2 +86,8 @@
 	return indlist;
 }
+
+RV concat(const RV &rv1, const RV &rv2 ){
+	RV pom = rv1;
+	pom.add(rv2); 
+	return pom;
+}
Index: /bdm/stat/libEF.h
===================================================================
--- /bdm/stat/libEF.h (revision 28)
+++ /bdm/stat/libEF.h (revision 32)
@@ -17,8 +17,16 @@
 #include "../math/libDC.h"
 #include "libBM.h"
+#include "../itpp_ext.h"
 //#include <std>
 
 using namespace itpp;
 
+
+//! Global Uniform_RNG
+extern Uniform_RNG UniRNG;
+extern Normal_RNG NorRNG;
+extern Gamma_RNG GamRNG;
+
+
 /*!
 * \brief General conjugate exponential family posterior density.
@@ -30,6 +38,7 @@
 
 public:
+//	eEF() :epdf() {};
 	//! default constructor
-	eEF() :epdf() {};
+	eEF ( const RV &rv ) :epdf ( rv ) {};
 
 	virtual void tupdate ( double phi, mat &vbar, double nubar ) {};
@@ -41,5 +50,5 @@
 
 public:
-
+	mEF ( const RV &rv0, const RV &rvc0 ) :mpdf ( rv0,rvc0 ) {};
 };
 
@@ -61,10 +70,8 @@
 	//! 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;
 public:
-	enorm() :eEF() {};
+//	enorm() :eEF() {};
 
 	enorm ( RV &rv );
@@ -74,8 +81,9 @@
 	void dupdate ( mat &v,double nu=1.0 );
 
-	vec sample();
-	mat sample ( int N );
-	double eval ( const vec &val );
-	double evalpdflog ( const vec &val );
+	vec sample() const;
+	mat sample ( int N ) const;
+	double eval ( const vec &val ) const ;
+	double evalpdflog ( const vec &val ) const;
+	vec mean()const {return mu;}
 
 //Access methods
@@ -94,24 +102,155 @@
 
 /*!
- \brief
-*/
-template<class sq_T>
-
+ \brief Gamma posterior density
+
+ Multvariate Gamma density as product of independent univariate densities.
+ \f[
+ f(x|a,b) = \prod f(x_i|a_i,b_i)
+ \f]
+*/
+
+class egamma : public eEF {
+protected:
+	vec alpha;
+	vec beta;
+public :
+	//! Default constructor
+	egamma ( const RV &rv ) :eEF ( rv ) {};
+	//! Sets parameters
+	void set_parameters ( const vec &a, const vec &b ) {alpha=a,beta=b;};
+	vec sample() const;
+	mat sample ( int N ) const;
+	double evalpdflog ( const vec &val ) const;
+	//! Returns poiter to alpha and beta. Potentially dengerous: use with care!
+	void _param ( vec* &a, vec* &b ) {a=&alpha;b=&beta;};
+	vec mean()const {vec pom(alpha); pom/=beta; return pom;}
+};
+
+//! Weighted mixture of epdfs with external owned components.
+class emix : public epdf {
+protected:
+	int n;
+	vec &w;
+	Array<epdf*> Coms;
+public:
+//! Default constructor
+	emix ( const RV &rv, vec &w0): epdf(rv), n(w0.length()), w(w0), Coms(n) {};
+	void set_parameters( int &i, double wi, epdf* ep){w(i)=wi;Coms(i)=ep;}
+	vec mean(){vec pom; for(int i=0;i<n;i++){pom+=Coms(i)->mean()*w(i);} return pom;};
+	vec sample() {it_error ( "Not implemented" );return 0;}
+};
+
+//!  Uniform distributed density on a rectangular support
+
+class euni: public epdf {
+protected:
+//! lower bound on support
+	vec low;
+//! upper bound on support
+	vec high;
+//! internal
+	vec distance;
+//! normalizing coefficients
+	double nk,lnk;
+public:
+	euni ( const RV rv ) :epdf ( rv ) {}
+	double eval ( const vec &val ) const  {return nk;}
+	double evalpdflog ( const vec &val ) const  {return lnk;}
+	vec sample() const {
+		vec smp ( rv.count() ); UniRNG.sample_vector ( rv.count(),smp );
+		return low+distance*smp;
+	}
+	void set_parameters ( const vec &low0, const vec &high0 ) {
+		distance = high0-low0;
+		it_assert_debug ( min ( distance ) >0.0,"bad support" );
+		low = low0;
+		high = high0;
+		nk = prod ( 1.0/distance );
+		lnk = log ( nk );
+	}
+	vec mean() const {vec pom=high; pom-=low; pom/=2.0; return pom;}
+};
+
+
+/*!
+ \brief Normal distributed linear function with linear function of mean value;
+
+ Mean value $mu=A*rvc$.
+*/
+template<class sq_T>
 class mlnorm : public mEF {
 	enorm<sq_T> epdf;
+	vec* _mu; //cached epdf.mu;
 	mat A;
 public:
 	//! Constructor
-	mlnorm ( RV &rv,RV &rvc, mat &A, sq_T &R );
+	mlnorm ( RV &rv,RV &rvc );
+	void set_parameters ( const  mat &A, const sq_T &R );
 	//!Generate one sample of the posterior
 	vec samplecond ( vec &cond, double &lik );
+	//!Generate matrix of samples of the posterior
 	mat samplecond ( vec &cond, vec &lik, int n );
 	void condition ( vec &cond );
 };
 
+/*!
+\brief  Gamma random walk
+
+Mean value, $\mu$, of this density is given by \c rvc .
+Standard deviation of the random walk is proportional to one $k$-th the mean.
+This is achieved by setting $\alpha=k$ and $\beta=k/\mu$.
+
+The standard deviation of the walk is then: $\mu/\sqrt(k)$.
+*/
+class mgamma : public mEF {
+	egamma epdf;
+	double k;
+	vec* _beta;
+
+public:
+	//! Constructor
+	mgamma ( const RV &rv,const RV &rvc );
+	void set_parameters ( double k );
+	//!Generate one sample of the posterior
+	vec samplecond ( vec &cond, double &lik );
+	//!Generate matrix of samples of the posterior
+	mat samplecond ( vec &cond, vec &lik, int n );
+	void condition ( const vec &val ) {*_beta=k/val;};
+};
+
+//! Switch between various resampling methods.
+enum RESAMPLING_METHOD { MULTINOMIAL = 0, STRATIFIED = 1, SYSTEMATIC = 3 };
+/*!
+\brief Weighted empirical density
+
+Used e.g. in particle filters.
+*/
+class eEmp: public epdf {
+protected :
+	//! Number of particles
+	int n;
+	vec w;
+	Array<vec> samples;
+public:
+	eEmp ( const RV &rv0 ,int n0) :epdf ( rv0 ),n(n0),w(n),samples(n) {};
+	void set_parameters ( const vec &w0, epdf* pdf0 );
+	//! Potentially dangerous, use with care.
+	vec& _w()  {return w;};
+	Array<vec>& _samples() {return samples;};
+	//! Function performs resampling, i.e. removal of low-weight samples and duplication of high-weight samples such that the new samples represent the same density.
+	ivec resample ( RESAMPLING_METHOD method = SYSTEMATIC );
+	vec sample() const {it_error ( "Not implemented" );return 0;}
+	double evalpdflog(const vec &val) const {it_error ( "Not implemented" );return 0.0;}
+	vec mean()const {vec pom=zeros(rv.count()); 
+		for (int i=0;i<n;i++){pom+=samples(i)*w(i);}
+		return pom;
+	}
+};
+
+
 ////////////////////////
 
 template<class sq_T>
-enorm<sq_T>::enorm ( RV &rv ) :eEF(), mu ( rv.count() ),R(rv.count()),_iR(rv.count()),cached ( false ),dim ( rv.count() ) {};
+enorm<sq_T>::enorm ( RV &rv ) :eEF(rv), mu ( rv.count() ),R ( rv.count() ),_iR ( rv.count() ),cached ( false ),dim ( rv.count() ) {};
 
 template<class sq_T>
@@ -120,5 +259,5 @@
 	mu = mu0;
 	R = R0;
-	if(_iR.rows()!=R.rows()) _iR=R; // memory allocation!
+	if ( _iR.rows() !=R.rows() ) _iR=R; // memory allocation!
 	R.inv ( _iR ); //update cache
 	cached=true;
@@ -136,7 +275,7 @@
 
 template<class sq_T>
-vec enorm<sq_T>::sample() {
+vec enorm<sq_T>::sample() const {
 	vec x ( dim );
-	RNG.sample_vector ( dim,x );
+	NorRNG.sample_vector ( dim,x );
 	vec smp = R.sqrt_mult ( x );
 
@@ -146,5 +285,5 @@
 
 template<class sq_T>
-mat enorm<sq_T>::sample ( int N ) {
+mat enorm<sq_T>::sample ( int N )const {
 	mat X ( dim,N );
 	vec x ( dim );
@@ -153,5 +292,5 @@
 
 	for ( i=0;i<N;i++ ) {
-		RNG.sample_vector ( dim,x );
+		NorRNG.sample_vector ( dim,x );
 		pom = R.sqrt_mult ( x );
 		pom +=mu;
@@ -163,22 +302,29 @@
 
 template<class sq_T>
-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 );
+double enorm<sq_T>::eval ( const vec &val ) const {
+	double pdfl,e;
+	pdfl = evalpdflog ( val );
+	e = exp ( pdfl );
+	return e;
+};
+
+template<class sq_T>
+double enorm<sq_T>::evalpdflog ( const vec &val ) const {
+	if ( !cached ) {it_error("this should not happen, see cached");}
+
+	// 1.83787706640935 = log(2pi)
+	return -0.5* ( R.cols() * 1.83787706640935 +R.logdet() +_iR.qform ( mu-val ) );
+};
+
+
+template<class sq_T>
+mlnorm<sq_T>::mlnorm ( RV &rv0,RV &rvc0 ) :mEF ( rv0,rvc0 ),epdf ( rv ),A ( rv0.count(),rv0.count() ) {
+	_mu = epdf._mu();
+}
+
+template<class sq_T>
+void mlnorm<sq_T>::set_parameters ( const mat &A0, const sq_T &R0 ) {
+	epdf.set_parameters ( zeros ( rv.count() ),R0 );
+	A = A0;
 }
 
@@ -199,5 +345,5 @@
 	this->condition ( cond );
 
-	for ( i=0; i<dim; i++ ) {
+	for ( i=0; i<n; i++ ) {
 		smp = epdf.sample();
 		lik ( i ) = epdf.eval ( smp );
@@ -210,5 +356,5 @@
 template<class sq_T>
 void mlnorm<sq_T>::condition ( vec &cond ) {
-	epdf.mu = A*cond;
+	*_mu = A*cond;
 //R is already assigned;
 }
@@ -216,9 +362,4 @@
 ///////////
 
-//#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 28)
+++ /bdm/stat/libBM.h (revision 32)
@@ -24,5 +24,7 @@
 * More?...
 */
+
 class RV {
+protected:
 	//! size = sum of sizes
 	int size;
@@ -36,13 +38,13 @@
 
 private:
-	void init ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs );
+	void init ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times);
 public:
 	//! Full constructor which is called by the others
-	RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times, ivec in_obs );
+	RV ( ivec in_ids, Array<std::string> in_names, ivec in_sizes, ivec in_times);
 	//! default constructor
 	RV ( ivec ids );
 	//! Empty constructor will be set later
 	RV ();
-	
+
 	//! Printing output e.g. for debugging.
 	friend std::ostream &operator<< ( std::ostream &os, const RV &rv );
@@ -50,79 +52,108 @@
 	//! Return length (number of scalars) of the RV.
 	int count() const {return size;} ;
+
 	//TODO why not inline and later??
-	
+
 	//! Find indexes of another rv in self
-	ivec find(RV rv2);
+	ivec find ( RV rv2 );
 	//! Add (concat) another variable to the current one
-	RV add(RV rv2);
+	void add (const RV &rv2 );
+	//! Add (concat) another variable to the current one
+	friend RV concat (const RV &rv1, const RV &rv2 );
 	//! Subtract  another variable from the current one
-	RV subt(RV rv2);
+	RV subt ( RV rv2 );
 	//! Select only variables at indeces ind
-	RV subselect(ivec ind);
+	RV subselect ( ivec ind );
 	//! Select only variables at indeces ind
-	RV operator()(ivec ind);
+	RV operator() ( ivec ind );
 	//! Generate new \c RV with \c time shifted by delta.
-	void t(int delta);
-	//! generate a list of indeces, i.e. which 
+	void t ( int delta );
+	//! generate a list of indeces, i.e. which
 	ivec indexlist();
 };
 
 
-
-
 //! Class representing function $f(x)$ of variable $x$ represented by \c rv
+
 class fnc {
 protected:
 	int dimy;
-public: 
+public:
 	//! function evaluates numerical value of $f(x)$ at $x=cond$
-	virtual vec eval(const vec &cond)
-	{
-		return vec(0);
+	virtual vec eval ( const vec &cond ) {
+		return vec ( 0 );
 	}; //Fixme: virtual?
 
 	//! access function
-	int _dimy()const{return dimy;}
-
-		//! Destructor for future use;
-		virtual ~fnc(){};
+	int _dimy() const{return dimy;}
+
+	//! Destructor for future use;
+	virtual ~fnc() {};
 };
 
 
 //! Probability density function with numerical statistics, e.g. posterior density.
+
 class epdf {
+protected:
 	RV rv;
 public:
 	//!default constructor
-	epdf():rv(ivec(0)){};
+	epdf() :rv ( ivec ( 0 ) ) {};
+
+	//!default constructor
+	epdf ( const RV &rv0 ) :rv ( rv0 ) {};
+
 	//! Returns the required moment of the epdf
 //	virtual vec moment ( const int order = 1 );
 	//! Returns a sample from the density, \f$x \sim epdf(rv)\f$
-	virtual vec sample ()=0;
+	virtual vec sample () const =0;
 	//! Compute probability of argument \c val
-	virtual double eval(const vec &val){return 0.0;};
+	virtual double eval ( const vec &val ) const {return exp(this->evalpdflog(val));};
+
 	//! Compute log-probability of argument \c val
-	virtual double evalpdflog(const vec &val){return 0.0;};
-
-		//! Destructor for future use;
-		virtual ~epdf(){};
-};
+	virtual double evalpdflog ( const vec &val ) const =0;
+
+	//! return expected value 
+	virtual vec mean() const =0;
+	
+	//! Destructor for future use;
+	virtual ~epdf() {};
+	//! access function
+	RV _rv() const {return rv;}
+};
+
 
 //! Conditional probability density, e.g. modeling some dependencies.
+//TODO Samplecond can be generalized
+
 class mpdf {
+protected:
 	//! modeled random variable
 	RV rv;
 	//! random variable in condition
 	RV rvc;
+	//! pointer to internal epdf
+	epdf* ep;
 public:
 
 	//! Returns the required moment of the epdf
 //	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){return vec(0);};
-	virtual void condition (vec &cond){};
-
-		//! Destructor for future use;
-		virtual ~mpdf(){};
+	//! Returns a sample from the density conditioned on \c cond, $x \sim epdf(rv|cond)$. \param ll is a return value of log-likelihood of the sample.
+	virtual vec samplecond ( vec &cond, double &ll ) {this->condition(cond);vec temp= ep->sample();ll=ep->evalpdflog(temp);return temp;};
+
+	virtual void condition ( const vec &cond ) {};
+	
+	virtual double evalcond (const vec &dt, const vec &cond ) {this->condition(cond);return ep->eval(dt);};
+
+	//! Destructor for future use;
+	virtual ~mpdf() {};
+
+	//! Default constructor
+	mpdf ( const RV &rv0, const RV &rvc0 ) :rv ( rv0 ),rvc ( rvc0 ) {};
+	//! access function
+	RV _rvc(){return rvc;}
+	//!access function
+	epdf& _epdf(){return *ep;}
 };
 
@@ -133,55 +164,85 @@
 
 */
+
 class DS {
 protected:
 	//!Observed variables, returned by \c getdata().
-	RV Drv; 
+	RV Drv;
 	//!Action variables, accepted by \c write().
 	RV Urv; //
 public:
-	//! Returns full vector of observed data 
-	void getdata(vec &dt);
+	//! Returns full vector of observed data
+	void getdata ( vec &dt );
 	//! Returns data records at indeces.
-	void getdata(vec &dt, ivec &indeces);
+	void getdata ( vec &dt, ivec &indeces );
 	//! Accepts action variable and schedule it for application.
-	void write(vec &ut);
-	//! Accepts action variables at specific indeces	
-	void write(vec &ut, ivec &indeces);
-	/*! \brief Method that assigns random variables to the datasource. 
+	void write ( vec &ut );
+	//! Accepts action variables at specific indeces
+	void write ( vec &ut, ivec &indeces );
+	/*! \brief Method that assigns random variables to the datasource.
 	Typically, the datasource will be constructed without knowledge of random variables. This method will associate existing variables with RVs.
-	
+
 	(Inherited from m3k, may be deprecated soon).
 	*/
-	void linkrvs(RV &drv, RV &urv);
-	
-	//! Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system. 
+	void linkrvs ( RV &drv, RV &urv );
+
+	//! 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:
+protected:
+	//!Random variable of the posterior
+	RV rv;
 	//!Logarithm of marginalized data likelihood.
-	double ll;
+ 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;
+public:
 
 	//!Default constructor
-	BM():ll(0),evalll(true){};
-	
+	BM(const RV &rv0) :rv(rv0), ll ( 0 ),evalll ( true ) {//Fixme: test rv 
+	};
+
 	/*! \brief Incremental Bayes rule
 	@param dt vector of input data
 	*/
-	virtual void bayes ( const vec &dt) = 0;
+	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(){};
+	virtual epdf& _epdf()=0;
+
+	//! Destructor for future use;
+	virtual ~BM() {};
+	//!access function
+	const RV& _rv() const {return rv;}
+	//!access function
+	double _ll() const {return ll;}
+};
+
+/*!
+\brief Conditional Bayesian Filter
+
+Evaluates conditional filtering density $f(rv|rvc,data)$ for a given \c rvc which is specified in each step by calling function \c condition.
+
+This is an interface class used to assure that certain BM has operation \c condition .
+
+*/
+
+class BMcond {
+protected:
+	RV rvc;
+public:
+	//! Substitute \c val for \c rvc.
+	virtual void condition ( const vec &val ) =0;
+	BMcond(RV &rv0):rvc(rv0){};
+	virtual ~BMcond(){};
+	const RV& _rvc() const {return rvc;}
 };
 
Index: /bdm/itpp_ext.cpp
===================================================================
--- /bdm/itpp_ext.cpp (revision 15)
+++ /bdm/itpp_ext.cpp (revision 32)
@@ -12,4 +12,5 @@
 
 #include <itpp/itbase.h>
+#include "itpp_ext.h"
 
 namespace itpp {
@@ -23,4 +24,179 @@
   }
 
-
+//Gamma
+
+  Gamma_RNG::Gamma_RNG(double a, double b)
+  {
+    setup(a,b);
+  }
+
+#define log std::log
+#define exp std::exp
+#define sqrt std::sqrt
+#define R_FINITE std::isfinite
+
+double  Gamma_RNG::sample()
+  {
+  //A copy of rgamma code from the R package!!
+  // 
+  
+/* Constants : */
+    const static double sqrt32 = 5.656854;
+    const static double exp_m1 = 0.36787944117144232159;/* exp(-1) = 1/e */
+
+    /* Coefficients q[k] - for q0 = sum(q[k]*a^(-k))
+     * Coefficients a[k] - for q = q0+(t*t/2)*sum(a[k]*v^k)
+     * Coefficients e[k] - for exp(q)-1 = sum(e[k]*q^k)
+     */
+    const static double q1 = 0.04166669;
+    const static double q2 = 0.02083148;
+    const static double q3 = 0.00801191;
+    const static double q4 = 0.00144121;
+    const static double q5 = -7.388e-5;
+    const static double q6 = 2.4511e-4;
+    const static double q7 = 2.424e-4;
+
+    const static double a1 = 0.3333333;
+    const static double a2 = -0.250003;
+    const static double a3 = 0.2000062;
+    const static double a4 = -0.1662921;
+    const static double a5 = 0.1423657;
+    const static double a6 = -0.1367177;
+    const static double a7 = 0.1233795;
+
+    /* State variables [FIXME for threading!] :*/
+    static double aa = 0.;
+    static double aaa = 0.;
+    static double s, s2, d;    /* no. 1 (step 1) */
+    static double q0, b, si, c;/* no. 2 (step 4) */
+
+    double e, p, q, r, t, u, v, w, x, ret_val;
+    double a=alpha;
+    double scale=1.0/beta;
+
+    if (!R_FINITE(a) || !R_FINITE(scale) || a < 0.0 || scale <= 0.0)
+	it_error("Gamma_RNG wrong parameters");
+
+    if (a < 1.) { /* GS algorithm for parameters a < 1 */
+	if(a == 0)
+	    return 0.;
+	e = 1.0 + exp_m1 * a;
+	for(;;) {  //VS repeat
+	    p = e * unif_rand();
+	    if (p >= 1.0) {
+		x = -log((e - p) / a);
+		if (exp_rand() >= (1.0 - a) * log(x))
+		    break;
+	    } else {
+		x = exp(log(p) / a);
+		if (exp_rand() >= x)
+		    break;
+	    }
+	}
+	return scale * x;
+    }
+
+    /* --- a >= 1 : GD algorithm --- */
+
+    /* Step 1: Recalculations of s2, s, d if a has changed */
+    if (a != aa) {
+	aa = a;
+	s2 = a - 0.5;
+	s = sqrt(s2);
+	d = sqrt32 - s * 12.0;
+    }
+    /* Step 2: t = standard normal deviate,
+               x = (s,1/2) -normal deviate. */
+
+    /* immediate acceptance (i) */
+    t = norm_rand();
+    x = s + 0.5 * t;
+    ret_val = x * x;
+    if (t >= 0.0)
+	return scale * ret_val;
+
+    /* Step 3: u = 0,1 - uniform sample. squeeze acceptance (s) */
+    u = unif_rand();
+    if ((d * u) <= (t * t * t))
+	return scale * ret_val;
+
+    /* Step 4: recalculations of q0, b, si, c if necessary */
+
+    if (a != aaa) {
+	aaa = a;
+	r = 1.0 / a;
+	q0 = ((((((q7 * r + q6) * r + q5) * r + q4) * r + q3) * r
+	       + q2) * r + q1) * r;
+
+	/* Approximation depending on size of parameter a */
+	/* The constants in the expressions for b, si and c */
+	/* were established by numerical experiments */
+
+	if (a <= 3.686) {
+	    b = 0.463 + s + 0.178 * s2;
+	    si = 1.235;
+	    c = 0.195 / s - 0.079 + 0.16 * s;
+	} else if (a <= 13.022) {
+	    b = 1.654 + 0.0076 * s2;
+	    si = 1.68 / s + 0.275;
+	    c = 0.062 / s + 0.024;
+	} else {
+	    b = 1.77;
+	    si = 0.75;
+	    c = 0.1515 / s;
+	}
+    }
+    /* Step 5: no quotient test if x not positive */
+
+    if (x > 0.0) {
+	/* Step 6: calculation of v and quotient q */
+	v = t / (s + s);
+	if (fabs(v) <= 0.25)
+	    q = q0 + 0.5 * t * t * ((((((a7 * v + a6) * v + a5) * v + a4) * v
+				      + a3) * v + a2) * v + a1) * v;
+	else
+	    q = q0 - s * t + 0.25 * t * t + (s2 + s2) * log(1.0 + v);
+
+
+	/* Step 7: quotient acceptance (q) */
+	if (log(1.0 - u) <= q)
+	    return scale * ret_val;
+    }
+
+    for(;;) { //VS repeat
+	/* Step 8: e = standard exponential deviate
+	 *	u =  0,1 -uniform deviate
+	 *	t = (b,si)-double exponential (laplace) sample */
+	e = exp_rand();
+	u = unif_rand();
+	u = u + u - 1.0;
+	if (u < 0.0)
+	    t = b - si * e;
+	else
+	    t = b + si * e;
+	/* Step	 9:  rejection if t < tau(1) = -0.71874483771719 */
+	if (t >= -0.71874483771719) {
+	    /* Step 10:	 calculation of v and quotient q */
+	    v = t / (s + s);
+	    if (fabs(v) <= 0.25)
+		q = q0 + 0.5 * t * t *
+		    ((((((a7 * v + a6) * v + a5) * v + a4) * v + a3) * v
+		      + a2) * v + a1) * v;
+	    else
+		q = q0 - s * t + 0.25 * t * t + (s2 + s2) * log(1.0 + v);
+	    /* Step 11:	 hat acceptance (h) */
+	    /* (if q not positive go to step 8) */
+	    if (q > 0.0) {
+		w = expm1(q);
+		/*  ^^^^^ original code had approximation with rel.err < 2e-7 */
+		/* if t is rejected sample again at step 8 */
+		if ((c * fabs(u)) <= (w * exp(e - 0.5 * t * t)))
+		    break;
+	    }
+	}
+    } /* repeat .. until  `t' is accepted */
+    x = s + 0.5 * t;
+    return scale * x * x;
 }
+
+}
Index: /tests/testEpdf.cpp
===================================================================
--- /tests/testEpdf.cpp (revision 32)
+++ /tests/testEpdf.cpp (revision 32)
@@ -0,0 +1,43 @@
+#include <itpp/itbase.h>
+#include <stat/libEF.h>
+
+using namespace itpp;
+
+//These lines are needed for use of cout and endl
+using std::cout;
+using std::endl;
+
+
+int main() {
+
+	vec x = "-10:0.1:10";
+	vec y = "-10:0.1:10";
+
+	RV rv ( "1","{x }","2","0" );
+	vec mu0 = "0.0 0.0";
+	mat V0 ( "5 -0.05; -0.05 5.20" );
+	fsqmat R = fsqmat ( V0 );
+
+	cout << "====== ENorm ====== " <<endl;
+	enorm<fsqmat> eN ( rv );
+	eN.set_parameters ( mu0,R );
+	vec pdf = zeros ( x.length() );
+
+	vec pom ( 2 );
+	double suma=0.0;
+
+	for ( int i=0;i<x.length();i++ ) {
+		for ( int j=0;j<y.length();j++ ) {
+			pom ( 0 ) = x ( i );
+			pom ( 1 ) = y ( j );
+			suma+= eN.eval ( pom );
+		}
+	}
+
+	cout << suma <<endl;
+
+	//Exit program:
+	return 0;
+
+}
+
Index: /tests/test0.cpp
===================================================================
--- /tests/test0.cpp (revision 28)
+++ /tests/test0.cpp (revision 32)
@@ -12,10 +12,10 @@
 {
 
-	RV th = RV ( "1 2","{a b }","1 1","0 0","0 0" );
+	RV th = RV ( "1 2","{a b }","1 1","0 0");
 	RV r = RV ( "3 4" );
 
 	cout << th << r << endl;
 
-	ldmat ld = ldmat("1 0;-0.1 1","1.1 1.3");
+	ldmat ld = ldmat("1 0;0.5 1","1.1 1.3");
 	vec v = "1 -0.1";
 	
Index: /tests/testSmp.cpp
===================================================================
--- /tests/testSmp.cpp (revision 28)
+++ /tests/testSmp.cpp (revision 32)
@@ -8,26 +8,60 @@
 using std::endl;
 
+void disp(const vec &tmu, const mat &tR,const mat &Smp){
+	int N = Smp.cols();
+	vec Emu = Smp*ones(N) /N ;
+	mat Er = (Smp*Smp.transpose())/N - outer_product(Emu,Emu);
+	cout << "True mu:" << tmu <<endl;
+	cout << "Emp  mu:" << Emu <<endl;
+	
+	cout << "True R:" << tR <<endl;
+	cout << "Emp  R:" << Er <<endl;
+}
+
 int main() {
 
-	//RNG_randomize();
+	RNG_randomize();
 
-	RV rv("1","{x }","2","0","0");
+	RV rv("1","{x }","2","0");
 	int N = 10000; //number of samples
 	vec mu0 = "1.5 1.7";
 	mat V0("1.2 0.3; 0.3 5");
 	ldmat R = ldmat(V0);
+	
+	cout << "====== ENorm ====== " <<endl;
 	enorm<ldmat> eN(rv);
 	eN.set_parameters(mu0,R);
+	mat Smp = eN.sample(N);
+
+	disp(mu0,R.to_mat(),Smp);
+
+	cout << "====== MlNorm ====== " <<endl;
+	mat I = eye(2);
+	vec lik(N);
+	mlnorm<ldmat> ML(rv,rv);
+	ML.set_parameters(I,R);
+	Smp = ML.samplecond(mu0,lik,N);
 	
-	mat Smp = eN.sample(N);
-	cout << "True:" <<endl;
-	cout << "mu:" << mu0 ;
-	cout << "R:" << R ;
-	cout << "R:" << R.to_mat() ;
+	disp(mu0,R.to_mat(),Smp);
+
+	cout << "====== EGamma ====== " <<endl;	
+	vec a = "100000,10000";
+	vec b = a/10.0;
+	egamma eG(rv);
+	eG.set_parameters(a,b);
 	
-	vec Emu = Smp*ones(N) /N ;
-	cout << "Empirical:" <<endl;
-	cout << "mu:" << Emu;
-	cout << "R:" << (Smp*Smp.transpose())/N - Emu*Emu.transpose() <<endl;
+	Smp = eG.sample(N);
+
+	vec g_mu = elem_div(a,b);
+	vec g_var = elem_div(a,pow(b,2.0));
+	disp(g_mu,diag(g_var),Smp);
+
+	cout << "====== MGamma ====== " <<endl;	
+	mgamma mG(rv,rv);
+	double k = 10.0;
+	mG.set_parameters(k);
+
+	Smp=mG.samplecond(mu0,lik,N);
+	disp(mu0,pow(mu0,2.0)/k,Smp);
 
 	//Exit program:
@@ -35,2 +69,3 @@
 
 }
+
Index: /tests/testKF.cpp
===================================================================
--- /tests/testKF.cpp (revision 28)
+++ /tests/testKF.cpp (revision 32)
@@ -18,5 +18,5 @@
 	it_file fin( "testKF.it" );
 
-	mat Dt, Xt,Xt2,XtE;
+	mat Dt, Xt,Xt2,XtE,Xtf;
 	int Ndat;
 
@@ -42,10 +42,11 @@
 	Xt=zeros( 2,Ndat );
 	Xt2=zeros( 2,Ndat );
+	Xtf=zeros( 2,Ndat );
 	XtE=zeros( 2,Ndat );
 
 //	cout << KF;
-	RV rx("1","{x}","2","0","0");
-	RV ru("2","{u}","1","0","0");
-	RV ry("3","{y}","1","0","0");
+	RV rx("1","{x}","2","0");
+	RV ru("2","{u}","1","0");
+	RV ry("3","{y}","1","0");
 	//
 	Kalman<ldmat> KF(rx,ry,ru);
@@ -65,19 +66,26 @@
 	KFE.set_est(mu0,P0);
 
-	Xt.set_col( 0,*((enorm<ldmat>*)(KF._epdf()))->_mu() );
+	epdf& KFep = KF._epdf();
+	epdf& KFfep = KFf._epdf();
+	epdf& KFEep = KFE._epdf();
+	
+	Xt.set_col( 0,KFep.mean() );
+	Xtf.set_col( 0,KFfep.mean() );
 	Xt2.set_col( 0,KF2.mu );
-	XtE.set_col( 0,*((enorm<ldmat>*)(KFE._epdf()))->_mu() );
+	XtE.set_col( 0,KFEep.mean() );
 	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,*((enorm<ldmat>*)(KF._epdf()))->_mu());
+		KFE.bayes( Dt.get_col( t ));
+		Xt.set_col( t,KFep.mean() );
+		Xtf.set_col( t,KFfep.mean() );
 		Xt2.set_col(t,KF2.mu);
-		XtE.set_col(t,*((enorm<ldmat>*)(KFE._epdf()))->_mu());
+		XtE.set_col( t,KFEep.mean() );
 	}
 
 	it_file fou( "testKF_res.it" );
 	fou << Name("xth") << Xt;
+	fou << Name("xthf") << Xtf;
 	fou << Name("xth2") << Xt2;
 	fou << Name("xthE") << XtE;
Index: /tests/testKF_QR.cpp
===================================================================
--- /tests/testKF_QR.cpp (revision 32)
+++ /tests/testKF_QR.cpp (revision 32)
@@ -0,0 +1,96 @@
+#include <itpp/itbase.h>
+#include <estim/libKF.h>
+#include <estim/libPF.h>
+
+using namespace itpp;
+
+//These lines are needed for use of cout and endl
+using std::cout;
+using std::endl;
+
+int main() {
+	// Klaman filter
+	mat A, B,C,D,R,Q,P0;
+	vec mu0;
+	mat Mu0;// read from matlab
+	// input from Matlab
+	it_file fin( "testKF.it" );
+
+	mat Dt, XRt,eR,eQ;
+	int Ndat;
+
+	bool xxx= fin.seek( "d" );
+	if (!xxx){ it_error("testKF.it not found");}
+	fin >>Dt;
+	fin.seek( "A" ); 
+	fin >> A;
+	fin.seek( "B" ); 
+	fin >> B;
+	fin.seek( "C" ); 
+	fin >> C;
+	fin.seek( "D" ); 
+	fin >> D;
+	fin.seek( "R" ); 
+	fin >> R;
+	fin.seek( "Q" ); fin >> Q;
+	fin.seek( "P0" ); fin >> P0;
+	fin.seek( "mu0" ); fin >> Mu0; 
+	mu0=Mu0.get_col(0);
+	
+	Ndat = Dt.cols();
+	XRt=zeros( 3,Ndat );
+
+//	cout << KF;
+	RV rx("1","{x}","2","0");
+	RV ru("2","{u}","1","0");
+	RV ry("3","{y}","1","0");
+	RV rR("4","{R}","1","0");
+	//
+	KFcondR KF(rx,ry,ru,rR);
+	Kalman<fsqmat> KFtr(rx,ry,ru);
+	Kalman<fsqmat> KFtr2(rx,ry,ru);
+	//correct KF
+	KFtr.set_parameters(A,B,C,D,fsqmat(R),fsqmat(Q));
+	KFtr.set_est(mu0,fsqmat(P0) );
+	// KF with lower R
+	mat Q2=Q/1.0;
+	mat R2=R/20.0;
+	KFtr2.set_parameters(A,B,C,D,fsqmat(R2),fsqmat(Q2));
+	KFtr2.set_est(mu0,fsqmat(P0) );
+	// KF with R unknown
+	KF.set_parameters(A,B,C,D,ldmat(R),ldmat(Q));
+	KF.set_est(mu0,ldmat(P0) );
+	//
+	mgamma evolR(rR,rR);
+	evolR.set_parameters(10.0); //sigma = 1/10 mu
+	
+	MPF<KFcondR > KF_R(rx,rR,evolR,evolR,10,KF);
+	evolR.condition("0.1");
+	epdf& pfinit=evolR._epdf();
+	KF_R.set_est(pfinit);
+	epdf& mpost=KF_R._epdf();
+
+	cout << mpost.mean()<<endl;
+
+	XRt.set_col( 0,mpost.mean());
+	double ll1=0.0;
+	double ll2=0.0;
+	for ( int t=1;t<Ndat;t++ ) {
+//		KF_R.bayes( Dt.get_col( t ));
+		KFtr.bayes( Dt.get_col( t ));
+		KFtr2.bayes( Dt.get_col( t ));
+		
+		ll1+=KFtr._ll();
+		ll2+=KFtr2._ll();
+		
+		XRt.set_col(t,mpost.mean());
+	}
+	
+	cout << ll1 << "  " << ll2 <<endl;
+
+	it_file fou( "testKF_R_res.it" );
+	fou << Name("xqrth") << XRt;
+	//Exit program:
+	return 0;
+
+}
Index: /tests/testPF.cpp
===================================================================
--- /tests/testPF.cpp (revision 19)
+++ /tests/testPF.cpp (revision 32)
@@ -13,5 +13,5 @@
 
 	RV x("1");
-	RV xm=x; xm.t(-1);
+	RV xm=x; xm.t(-1);const
 	RV y("2");
 	
@@ -19,22 +19,22 @@
 	vec vR = "1";
 	ldmat R(vR);
+		
+	eEmp emp(x,10);
+	euni eun(x);
+	eun.set_parameters("0","1");
+	emp.set_parameters(ones(10),&eun);
+	vec &v=emp._w();
+	Array<vec> &S=emp._samples();
 	
+	for (int i=0;i<10;i++){	v(i) = exp(-0.5*sum(pow(S(i)-1,2.0))*10);}
+	v/=sum(v);
 	
-	vec ptc = randn(10);
-	vec w = exp(-0.5*(pow(ptc,2))/0.2);
+	cout << "p:" << S << endl;
+	cout << "w:" << v << endl;
 	
-	cout << "p:" << ptc << endl;
-	cout << "w:" << w << endl;
-	
-	PF pf(w);
-	ivec ind = pf.resample();
+	ivec ind = emp.resample();
 	
 	cout << ind << endl;
-	/*
-	mlnorm<ldmat> obs(x,xm,A,R);
-	mlnorm<ldmat> par(y,x,A,R);
 	
-	TrivialPF TPF(obs,par,10);
-	*/
 	//Exit program:
 	return 0;
Index: /tests/testResample.cpp
===================================================================
--- /tests/testResample.cpp (revision 32)
+++ /tests/testResample.cpp (revision 32)
@@ -0,0 +1,42 @@
+#include <itpp/itbase.h>
+#include <estim/libPF.h>
+#include <math/libDC.h>
+#include <stat/libEF.h>
+
+using namespace itpp;
+
+//These lines are needed for use of cout and endl
+using std::cout;
+using std::endl;
+
+int main() {
+
+	RV x("1");
+	RV xm=x; xm.t(-1);const
+	RV y("2");
+	
+	mat A = "1";
+	vec vR = "1";
+	ldmat R(vR);
+		
+	eEmp emp(x,10);
+	euni eun(x);
+	eun.set_parameters("0","1");
+	emp.set_parameters(ones(10),&eun);
+	vec &v=emp._w();
+	Array<vec> &S=emp._samples();
+	
+	for (int i=0;i<10;i++){	v(i) = exp(-0.5*sum(pow(S(i)-1,2.0))*10);}
+	v/=sum(v);
+	
+	cout << "p:" << S << endl;
+	cout << "w:" << v << endl;
+	
+	ivec ind = emp.resample();
+	
+	cout << ind << endl;
+	
+	//Exit program:
+	return 0;
+
+}
Index: /tests/CMakeLists.txt
===================================================================
--- /tests/CMakeLists.txt (revision 22)
+++ /tests/CMakeLists.txt (revision 32)
@@ -6,5 +6,6 @@
 
 ## Save all needed libraries in variable BdmLibs
-SET(BdmLibs bdm itpp)
+SET(BdmLibs bdm itpp_debug)
+#SET(BdmLibs bdm itpp)
 
 IF(WIN32)
@@ -23,4 +24,7 @@
 add_executable (testPF testPF.cpp)
 add_executable (testSmp testSmp.cpp)
+add_executable (testEpdf testEpdf.cpp)
+add_executable (testResample testResample.cpp)
+add_executable (testKF_QR testKF_QR.cpp)
 
 # Link the executable to the Hello library.
@@ -29,2 +33,5 @@
 target_link_libraries (testPF ${BdmLibs})
 target_link_libraries (testSmp ${BdmLibs})
+target_link_libraries (testEpdf ${BdmLibs})
+target_link_libraries (testResample ${BdmLibs})
+target_link_libraries (testKF_QR ${BdmLibs})
Index: /BDM.kdevelop.filelist
===================================================================
--- /BDM.kdevelop.filelist (revision 28)
+++ /BDM.kdevelop.filelist (revision 32)
@@ -1,4 +1,6 @@
 CMakeLists.txt
+bdm
 bdm/CMakeLists.txt
+bdm/estim
 bdm/estim/libKF.cpp
 bdm/estim/libKF.h
@@ -19,5 +21,8 @@
 tests/CMakeLists.txt
 tests/test0.cpp
+tests/testEpdf.cpp
 tests/testKF.cpp
+tests/testKF_QR.cpp
 tests/testPF.cpp
+tests/testResample.cpp
 tests/testSmp.cpp
Index: /doc/html/classTrivialPF-members.html
===================================================================
--- /doc/html/classTrivialPF-members.html (revision 28)
+++ /doc/html/classTrivialPF-members.html (revision 32)
@@ -22,7 +22,7 @@
 </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="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="classPF.html#53b7cc5a0709b0d40fb68408437c0aa2">_epdf</a>()</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [inline, virtual]</code></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="classPF.html#64f636bbd63bea9efd778214e6b631d3">PF::bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
@@ -36,5 +36,6 @@
   <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 Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Sat Feb 23 11:48:50 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__coll__graph.md5
===================================================================
--- /doc/html/classenorm__coll__graph.md5 (revision 23)
+++ /doc/html/classenorm__coll__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-30bcd8762324b938e74004bb47d2edfe
+e13cae85b34037ab9a539a7c6bd2272f
Index: /doc/html/libPF_8h__incl.md5
===================================================================
--- /doc/html/libPF_8h__incl.md5 (revision 23)
+++ /doc/html/libPF_8h__incl.md5 (revision 32)
@@ -1,1 +1,1 @@
-a432bbc2bee5b8f6e1ea2af8334adcb3
+49de3bc2d5fcf3e66c14dac34f0a5e69
Index: /doc/html/classBMcond-members.html
===================================================================
--- /doc/html/classBMcond-members.html (revision 32)
+++ /doc/html/classBMcond-members.html (revision 32)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>BMcond Member List</h1>This is the complete list of members for <a class="el" href="classBMcond.html">BMcond</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classBMcond.html#3543cfe274c35f9033c24d8036a96c4d">condition</a>(const vec &amp;val)=0</td><td><a class="el" href="classBMcond.html">BMcond</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvc</b> (defined in <a class="el" href="classBMcond.html">BMcond</a>)</td><td><a class="el" href="classBMcond.html">BMcond</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>~BMcond</b>() (defined in <a class="el" href="classBMcond.html">BMcond</a>)</td><td><a class="el" href="classBMcond.html">BMcond</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classenorm__inherit__graph.map
===================================================================
--- /doc/html/classenorm__inherit__graph.map (revision 23)
+++ /doc/html/classenorm__inherit__graph.map (revision 32)
@@ -1,2 +1,5 @@
-<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111">
-<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="5,263,136,289">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="67,191,75,199">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="67,259,75,267">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="48,87,93,113">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="45,7,96,33">
Index: /doc/html/classDS-members.html
===================================================================
--- /doc/html/classDS-members.html (revision 28)
+++ /doc/html/classDS-members.html (revision 32)
@@ -30,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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classeEF.html
===================================================================
--- /doc/html/classeEF.html (revision 28)
+++ /doc/html/classeEF.html (revision 32)
@@ -31,5 +31,5 @@
 <p><center><img src="classeEF__inherit__graph.png" border="0" usemap="#eEF__inherit__map" alt="Inheritance graph"></center>
 <map name="eEF__inherit__map">
-<area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33"></map>
+<area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="5,167,85,193"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="109,167,229,193"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="155,263,285,289"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="144,7,195,33"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="167,191,175,199"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="199,259,207,267"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -45,4 +45,11 @@
 <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="702e24158366430bc24d57c7f64e1e9e"></a><!-- doxytag: member="eEF::eEF" ref="702e24158366430bc24d57c7f64e1e9e" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e3c63655e8375c76bf1f421245427a7"></a><!-- doxytag: member="eEF::eEF" ref="7e3c63655e8375c76bf1f421245427a7" args="(const RV &amp;rv)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>eEF</b> (const <a class="el" href="classRV.html">RV</a> &amp;rv)</td></tr>
+
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd88bc35550ec8fe9281d358216d0fcf"></a><!-- doxytag: member="eEF::tupdate" ref="fd88bc35550ec8fe9281d358216d0fcf" args="(double phi, mat &amp;vbar, double nubar)" -->
 virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tupdate</b> (double phi, mat &amp;vbar, double nubar)</td></tr>
@@ -58,4 +65,16 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="113c76c61d20e3f2a24ba322a73dfc51"></a><!-- doxytag: member="eEF::evalpdflog" ref="113c76c61d20e3f2a24ba322a73dfc51" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b61fae74d370d2216576d598c1a74ef"></a><!-- doxytag: member="eEF::mean" ref="5b61fae74d370d2216576d598c1a74ef" args="()=0" -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#5b61fae74d370d2216576d598c1a74ef">mean</a> ()=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <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="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="eEF::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -82,5 +101,5 @@
 <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>
+<p>Implemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>, <a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">egamma</a>, <a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">emix</a>, <a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">euni</a>, <a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">eEmp</a>, and <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; ldmat &gt;</a>.</p>
 
 </div>
@@ -88,5 +107,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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classegamma__coll__graph.md5
===================================================================
--- /doc/html/classegamma__coll__graph.md5 (revision 32)
+++ /doc/html/classegamma__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+65b329e06f4a775ad33f99a31cce2bce
Index: /doc/html/classfnc.html
===================================================================
--- /doc/html/classfnc.html (revision 28)
+++ /doc/html/classfnc.html (revision 32)
@@ -46,4 +46,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="17164c202f6feee3d708b8caab6306ab"></a><!-- doxytag: member="fnc::~fnc" ref="17164c202f6feee3d708b8caab6306ab" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <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="" -->
@@ -54,5 +58,5 @@
 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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 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/classmgamma__coll__graph.md5
===================================================================
--- /doc/html/classmgamma__coll__graph.md5 (revision 32)
+++ /doc/html/classmgamma__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+88984c29d70bd1bfa84e088cc27ec3d1
Index: /doc/html/classeuni__inherit__graph.md5
===================================================================
--- /doc/html/classeuni__inherit__graph.md5 (revision 32)
+++ /doc/html/classeuni__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+923254211440564da45ed1297e33d6dc
Index: /doc/html/functions_rela.html
===================================================================
--- /doc/html/functions_rela.html (revision 28)
+++ /doc/html/functions_rela.html (revision 32)
@@ -35,5 +35,5 @@
 : <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classKalman__inherit__graph.md5
===================================================================
--- /doc/html/classKalman__inherit__graph.md5 (revision 23)
+++ /doc/html/classKalman__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-a793120a23be6e0a8083db15415045b3
+325927edf6cbe7f4faf28a15528bc694
Index: /doc/html/annotated.html
===================================================================
--- /doc/html/annotated.html (revision 28)
+++ /doc/html/annotated.html (revision 32)
@@ -24,24 +24,33 @@
   <tr><td class="indexkey"><a class="el" href="classbilinfn.html">bilinfn</a></td><td class="indexvalue">Class representing function $f(x,u) = Ax+Bu$ </td></tr>
   <tr><td class="indexkey"><a class="el" href="classBM.html">BM</a></td><td class="indexvalue">Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classBMcond.html">BMcond</a></td><td class="indexvalue">Conditional Bayesian Filter </td></tr>
   <tr><td class="indexkey"><a class="el" href="classconstfn.html">constfn</a></td><td class="indexvalue">Class representing function $f(x) = a$, here rv is empty </td></tr>
   <tr><td class="indexkey"><a class="el" href="classdiffbifn.html">diffbifn</a></td><td class="indexvalue">Class representing a differentiable function of two variables $f(x,u)$ </td></tr>
   <tr><td class="indexkey"><a class="el" href="classDS.html">DS</a></td><td class="indexvalue">Abstract class for discrete-time sources of data </td></tr>
   <tr><td class="indexkey"><a class="el" href="classeEF.html">eEF</a></td><td class="indexvalue">General conjugate exponential family posterior density </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classeEmp.html">eEmp</a></td><td class="indexvalue">Weighted empirical density </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classegamma.html">egamma</a></td><td class="indexvalue">Gamma posterior density </td></tr>
   <tr><td class="indexkey"><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a></td><td class="indexvalue">Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classemix.html">emix</a></td><td class="indexvalue">Weighted mixture of epdfs with external owned components </td></tr>
   <tr><td class="indexkey"><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td class="indexvalue">Gaussian density with positive definite (decomposed) covariance matrix </td></tr>
   <tr><td class="indexkey"><a class="el" href="classepdf.html">epdf</a></td><td class="indexvalue">Probability density function with numerical statistics, e.g. posterior density </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classeuni.html">euni</a></td><td class="indexvalue">Uniform distributed density on a rectangular support </td></tr>
   <tr><td class="indexkey"><a class="el" href="classfnc.html">fnc</a></td><td class="indexvalue">Class representing function $f(x)$ of variable $x$ represented by <code>rv</code> </td></tr>
   <tr><td class="indexkey"><a class="el" href="classfsqmat.html">fsqmat</a></td><td class="indexvalue">Fake <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a>. This class maps <a class="el" href="classsqmat.html" title="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</a> operations to operations on full matrix </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td class="indexvalue">Gamma distribution </td></tr>
   <tr><td class="indexkey"><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td class="indexvalue"><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form </td></tr>
   <tr><td class="indexkey"><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td class="indexvalue">Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classKFcondQR.html">KFcondQR</a></td><td class="indexvalue"><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter with conditional diagonal matrices R and Q </td></tr>
   <tr><td class="indexkey"><a class="el" href="classlinfn.html">linfn</a></td><td class="indexvalue">Class representing function $f(x) = Ax+B$ </td></tr>
   <tr><td class="indexkey"><a class="el" href="classMemDS.html">MemDS</a></td><td class="indexvalue">Class representing off-line data stored in memory </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmgamma.html">mgamma</a></td><td class="indexvalue">Gamma random walk </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td class="indexvalue">Normal distributed linear function with linear function of mean value; </td></tr>
   <tr><td class="indexkey"><a class="el" href="classmpdf.html">mpdf</a></td><td class="indexvalue">Conditional probability density, e.g. modeling some dependencies </td></tr>
-  <tr><td class="indexkey"><a class="el" href="classPF.html">PF</a></td><td class="indexvalue">A Particle Filter prototype </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td><td class="indexvalue">Marginalized Particle filter </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classPF.html">PF</a></td><td class="indexvalue">Trivial particle filter with proposal density equal to parameter evolution model </td></tr>
   <tr><td class="indexkey"><a class="el" href="classRV.html">RV</a></td><td class="indexvalue">Class representing variables, most often random variables </td></tr>
   <tr><td class="indexkey"><a class="el" href="classsqmat.html">sqmat</a></td><td class="indexvalue">Virtual class for representation of double symmetric matrices in square-root form </td></tr>
-  <tr><td class="indexkey"><a class="el" href="classTrivialPF.html">TrivialPF</a></td><td class="indexvalue">Trivial particle filter with proposal density that is not conditioned on the data </td></tr>
 </table>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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 28)
+++ /doc/html/libEF_8h-source.html (revision 32)
@@ -21,142 +21,279 @@
 <a name="l00017"></a>00017 <span class="preprocessor">#include "../math/libDC.h"</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="libBM_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations.">libBM.h</a>"</span>
-<a name="l00019"></a>00019 <span class="comment">//#include &lt;std&gt;</span>
-<a name="l00020"></a>00020 
-<a name="l00021"></a>00021 <span class="keyword">using namespace </span>itpp;
-<a name="l00022"></a>00022 
-<a name="l00028"></a><a class="code" href="classeEF.html">00028</a> <span class="keyword">class </span><a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> : <span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
+<a name="l00019"></a>00019 <span class="preprocessor">#include "../itpp_ext.h"</span>
+<a name="l00020"></a>00020 <span class="comment">//#include &lt;std&gt;</span>
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="keyword">using namespace </span>itpp;
+<a name="l00023"></a>00023 
+<a name="l00024"></a>00024 
+<a name="l00026"></a>00026 <span class="keyword">extern</span> Uniform_RNG UniRNG;
+<a name="l00027"></a>00027 <span class="keyword">extern</span> Normal_RNG NorRNG;
+<a name="l00028"></a>00028 <span class="keyword">extern</span> <a class="code" href="classitpp_1_1Gamma__RNG.html" title="Gamma distribution.">Gamma_RNG</a> GamRNG;
 <a name="l00029"></a>00029 
-<a name="l00030"></a>00030 <span class="keyword">public</span>:
-<a name="l00031"></a>00031         <span class="keyword">virtual</span> <span class="keywordtype">void</span> tupdate( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) {};
-<a name="l00032"></a>00032         <span class="keyword">virtual</span> <span class="keywordtype">void</span> dupdate( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 ) {};
-<a name="l00033"></a>00033 };
-<a name="l00034"></a>00034 
-<a name="l00035"></a>00035 <span class="keyword">class </span>mEF : <span class="keyword">public</span> <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> {
-<a name="l00036"></a>00036 
-<a name="l00037"></a>00037 <span class="keyword">public</span>:
+<a name="l00030"></a>00030 
+<a name="l00037"></a><a class="code" href="classeEF.html">00037</a> <span class="keyword">class </span><a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> : <span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
 <a name="l00038"></a>00038 
-<a name="l00039"></a>00039 };
-<a name="l00040"></a>00040 
-<a name="l00046"></a>00046 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00047"></a><a class="code" href="classenorm.html">00047</a> <span class="keyword">class </span><a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a> : <span class="keyword">public</span> <a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> {
-<a name="l00048"></a>00048         <span class="keywordtype">int</span> dim;
-<a name="l00049"></a>00049         vec mu;
-<a name="l00050"></a>00050         sq_T R;
-<a name="l00051"></a>00051 <span class="keyword">public</span>:
-<a name="l00052"></a>00052         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu, sq_T &amp;R );
-<a name="l00053"></a>00053         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>();
-<a name="l00055"></a>00055         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar );
-<a name="l00056"></a>00056         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">dupdate</a>( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 );
-<a name="l00058"></a>00058         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">tupdate</a>();
-<a name="l00060"></a>00060         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">dupdate</a>();
-<a name="l00061"></a>00061          
-<a name="l00062"></a>00062         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>();
-<a name="l00063"></a>00063         mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>(<span class="keywordtype">int</span> N);
-<a name="l00064"></a>00064         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">eval</a>( <span class="keyword">const</span> vec &amp;val );
-<a name="l00065"></a>00065         Normal_RNG RNG;
-<a name="l00066"></a>00066 };
-<a name="l00067"></a>00067 
-<a name="l00071"></a>00071 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00072"></a>00072 <span class="keyword">class </span>mlnorm : <span class="keyword">public</span> mEF {
-<a name="l00073"></a>00073         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>;
-<a name="l00074"></a>00074         mat A;
+<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00041"></a><a class="code" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">00041</a>         <a class="code" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e" title="default constructor">eEF</a>() :<a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>() {};
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043         <a class="code" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e" title="default constructor">eEF</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv ) :<a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> ( rv ) {};
+<a name="l00044"></a>00044 
+<a name="l00045"></a>00045         <span class="keyword">virtual</span> <span class="keywordtype">void</span> tupdate ( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) {};
+<a name="l00046"></a>00046 
+<a name="l00047"></a>00047         <span class="keyword">virtual</span> <span class="keywordtype">void</span> dupdate ( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 ) {};
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050 <span class="keyword">class </span>mEF : <span class="keyword">public</span> <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> {
+<a name="l00051"></a>00051 
+<a name="l00052"></a>00052 <span class="keyword">public</span>:
+<a name="l00053"></a>00053         mEF ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc0 ) :<a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> ( rv0,rvc0 ) {};
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055 
+<a name="l00061"></a>00061 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00062"></a>00062 
+<a name="l00063"></a><a class="code" href="classenorm.html">00063</a> <span class="keyword">class </span><a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a> : <span class="keyword">public</span> <a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> {
+<a name="l00064"></a>00064 <span class="keyword">protected</span>:
+<a name="l00066"></a><a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">00066</a>         vec <a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>;
+<a name="l00068"></a><a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">00068</a>         sq_T <a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>;
+<a name="l00070"></a><a class="code" href="classenorm.html#82f39ac49911d7097f4bfe385deba355">00070</a>         sq_T <a class="code" href="classenorm.html#82f39ac49911d7097f4bfe385deba355" title="Cache: _iR = inv(R);.">_iR</a>;
+<a name="l00072"></a><a class="code" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1">00072</a>         <span class="keywordtype">bool</span> <a class="code" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1" title="indicator if _iR is chached">cached</a>;
+<a name="l00074"></a><a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e">00074</a>         <span class="keywordtype">int</span> <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a>;
 <a name="l00075"></a>00075 <span class="keyword">public</span>:
-<a name="l00077"></a>00077         mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R );
-<a name="l00079"></a>00079         vec samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
-<a name="l00080"></a>00080         mat samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
-<a name="l00081"></a>00081         <span class="keywordtype">void</span> condition( vec &amp;cond );
-<a name="l00082"></a>00082 };
+<a name="l00076"></a>00076         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a>() :<a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a>() {};
+<a name="l00077"></a>00077 
+<a name="l00078"></a>00078         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv );
+<a name="l00079"></a>00079         <span class="keywordtype">void</span> set_parameters ( <span class="keyword">const</span> vec &amp;<a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>,<span class="keyword">const</span> sq_T &amp;<a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a> );
+<a name="l00081"></a>00081         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a" title="tupdate in exponential form (not really handy)">tupdate</a> ( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar );
+<a name="l00082"></a>00082         <span class="keywordtype">void</span> dupdate ( mat &amp;v,<span class="keywordtype">double</span> nu=1.0 );
 <a name="l00083"></a>00083 
-<a name="l00085"></a>00085 
-<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00087"></a>00087 <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::enorm</a>( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;mu0, sq_T &amp;R0 ) {
-<a name="l00088"></a>00088         dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();
-<a name="l00089"></a>00089         mu = mu0;
-<a name="l00090"></a>00090         R = R0;
-<a name="l00091"></a>00091 };
-<a name="l00092"></a>00092 
-<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32" title="dupdate used in KF">enorm&lt;sq_T&gt;::dupdate</a>( mat &amp;v, <span class="keywordtype">double</span> nu ) {
-<a name="l00095"></a>00095         <span class="comment">//</span>
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097 
-<a name="l00098"></a>00098 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00099"></a><a class="code" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">00099</a> <span class="keywordtype">void</span> <a class="code" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e" title="tupdate used in KF">enorm&lt;sq_T&gt;::tupdate</a>( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) {
-<a name="l00100"></a>00100         <span class="comment">//</span>
-<a name="l00101"></a>00101 };
-<a name="l00102"></a>00102 
-<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00104"></a><a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">00104</a> vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>() {
-<a name="l00105"></a>00105         vec x( dim );
-<a name="l00106"></a>00106         RNG.sample_vector( dim,x );
-<a name="l00107"></a>00107         vec smp = R.sqrt_mult( x );
-<a name="l00108"></a>00108 
-<a name="l00109"></a>00109         smp += mu;
-<a name="l00110"></a>00110         <span class="keywordflow">return</span> smp;
-<a name="l00111"></a>00111 };
-<a name="l00112"></a>00112 
-<a name="l00113"></a>00113 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00114"></a>00114 mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>( <span class="keywordtype">int</span> N ) {
-<a name="l00115"></a>00115         mat X( dim,N );
-<a name="l00116"></a>00116         vec x( dim );
-<a name="l00117"></a>00117         vec pom;
-<a name="l00118"></a>00118         <span class="keywordtype">int</span> i;
-<a name="l00119"></a>00119         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) {
-<a name="l00120"></a>00120                 RNG.sample_vector( dim,x );
-<a name="l00121"></a>00121                 pom = R.sqrt_mult( x );
-<a name="l00122"></a>00122                 pom +=mu;
-<a name="l00123"></a>00123                 X.set_col( i, pom);
-<a name="l00124"></a>00124         }
-<a name="l00125"></a>00125         <span class="keywordflow">return</span> X;
-<a name="l00126"></a>00126 };
-<a name="l00127"></a>00127 
-<a name="l00128"></a>00128 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00129"></a><a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4">00129</a> <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">enorm&lt;sq_T&gt;::eval</a>( <span class="keyword">const</span> vec &amp;val ) {
-<a name="l00130"></a>00130         <span class="comment">//</span>
-<a name="l00131"></a>00131 };
-<a name="l00132"></a>00132 
-<a name="l00133"></a>00133 
-<a name="l00134"></a>00134 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00135"></a>00135 <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::enorm</a>() {};
-<a name="l00136"></a>00136 
-<a name="l00137"></a>00137 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00138"></a>00138 mlnorm&lt;sq_T&gt;::mlnorm( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc, mat &amp;A, sq_T &amp;R ) {
-<a name="l00139"></a>00139         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();
-<a name="l00140"></a>00140         vec mu( dim );
-<a name="l00141"></a>00141 
-<a name="l00142"></a>00142         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> = <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a>( rv,mu,R );
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144 
-<a name="l00145"></a>00145 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00146"></a>00146 vec mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) {
-<a name="l00147"></a>00147         this-&gt;condition( cond );
-<a name="l00148"></a>00148         vec smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
-<a name="l00149"></a>00149         lik = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp );
-<a name="l00150"></a>00150         <span class="keywordflow">return</span> smp;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152 
-<a name="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00154"></a>00154 mat mlnorm&lt;sq_T&gt;::samplecond( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) {
-<a name="l00155"></a>00155         <span class="keywordtype">int</span> i;
-<a name="l00156"></a>00156         <span class="keywordtype">int</span> dim = rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>();
-<a name="l00157"></a>00157         mat Smp( dim,n );
-<a name="l00158"></a>00158         vec smp( dim );
-<a name="l00159"></a>00159         this-&gt;condition( cond );
-<a name="l00160"></a>00160         <span class="keywordflow">for</span> ( i=0; i&lt;dim; i++ ) {
-<a name="l00161"></a>00161                 smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
-<a name="l00162"></a>00162                 lik( i ) = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval( smp );
-<a name="l00163"></a>00163                 Smp.set_col( i ,smp );
-<a name="l00164"></a>00164         }
-<a name="l00165"></a>00165         <span class="keywordflow">return</span> Smp;
-<a name="l00166"></a>00166 }
-<a name="l00167"></a>00167 
-<a name="l00168"></a>00168 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00169"></a>00169 <span class="keywordtype">void</span> mlnorm&lt;sq_T&gt;::condition( vec &amp;cond ) {
-<a name="l00170"></a>00170         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.mu = A*cond;
-<a name="l00171"></a>00171 <span class="comment">//R is already assigned;</span>
-<a name="l00172"></a>00172 }
-<a name="l00173"></a>00173 
-<a name="l00174"></a>00174 <span class="preprocessor">#endif //EF_H</span>
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+<a name="l00084"></a>00084         vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a>();
+<a name="l00085"></a>00085         mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">sample</a> ( <span class="keywordtype">int</span> N );
+<a name="l00086"></a>00086         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">eval</a> ( <span class="keyword">const</span> vec &amp;val );
+<a name="l00087"></a>00087         <span class="keywordtype">double</span> <a class="code" href="classenorm.html#9517594915e897584eaebbb057ed8881" title="Compute log-probability of argument val.">evalpdflog</a> ( <span class="keyword">const</span> vec &amp;val );
+<a name="l00088"></a><a class="code" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5">00088</a>         vec <a class="code" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5" title="return expected value">mean</a>(){<span class="keywordflow">return</span> <a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>;}
+<a name="l00089"></a>00089 
+<a name="l00090"></a>00090 <span class="comment">//Access methods</span>
+<a name="l00092"></a><a class="code" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753">00092</a> <span class="comment"></span>        vec* <a class="code" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753" title="returns a pointer to the internal mean value. Use with Care!">_mu</a>() {<span class="keywordflow">return</span> &amp;<a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>;}
+<a name="l00093"></a>00093 
+<a name="l00095"></a><a class="code" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740">00095</a>         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740" title="returns pointers to the internal variance and its inverse. Use with Care!">_R</a> ( sq_T* &amp;pR, sq_T* &amp;piR ) {
+<a name="l00096"></a>00096                 pR=&amp;<a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>;
+<a name="l00097"></a>00097                 piR=&amp;<a class="code" href="classenorm.html#82f39ac49911d7097f4bfe385deba355" title="Cache: _iR = inv(R);.">_iR</a>;
+<a name="l00098"></a>00098         }
+<a name="l00099"></a>00099 
+<a name="l00101"></a><a class="code" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247">00101</a>         <span class="keywordtype">void</span> <a class="code" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247" title="set cache as inconsistent">_cached</a> ( <span class="keywordtype">bool</span> what ) {<a class="code" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1" title="indicator if _iR is chached">cached</a>=what;}
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103 
+<a name="l00113"></a><a class="code" href="classegamma.html">00113</a> <span class="keyword">class </span><a class="code" href="classegamma.html" title="Gamma posterior density.">egamma</a> : <span class="keyword">public</span> <a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> {
+<a name="l00114"></a>00114 <span class="keyword">protected</span>:
+<a name="l00115"></a>00115         vec alpha;
+<a name="l00116"></a>00116         vec beta;
+<a name="l00117"></a>00117 <span class="keyword">public</span> :
+<a name="l00119"></a><a class="code" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1">00119</a>         <a class="code" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1" title="Default constructor.">egamma</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv ) :<a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a> ( rv ) {};
+<a name="l00121"></a><a class="code" href="classegamma.html#8e348b89be82b70471fe8c5630f61339">00121</a>         <span class="keywordtype">void</span> <a class="code" href="classegamma.html#8e348b89be82b70471fe8c5630f61339" title="Sets parameters.">set_parameters</a> ( <span class="keyword">const</span> vec &amp;a, <span class="keyword">const</span> vec &amp;b ) {alpha=a,beta=b;};
+<a name="l00122"></a>00122         vec <a class="code" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f" title="Returns the required moment of the epdf.">sample</a>();
+<a name="l00123"></a>00123         mat <a class="code" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f" title="Returns the required moment of the epdf.">sample</a> ( <span class="keywordtype">int</span> N );
+<a name="l00124"></a>00124         <span class="keywordtype">double</span> evalpdflog ( <span class="keyword">const</span> vec val );
+<a name="l00126"></a><a class="code" href="classegamma.html#44445c56e60b91b377f207f8d5089790">00126</a>         <span class="keywordtype">void</span> <a class="code" href="classegamma.html#44445c56e60b91b377f207f8d5089790" title="Returns poiter to alpha and beta. Potentially dengerous: use with care!">_param</a> ( vec* &amp;a, vec* &amp;b ) {a=&amp;alpha;b=&amp;beta;};
+<a name="l00127"></a><a class="code" href="classegamma.html#6617890ffa40767fc196876534d4119d">00127</a>         vec <a class="code" href="classegamma.html#6617890ffa40767fc196876534d4119d" title="return expected value">mean</a>(){vec pom(alpha); pom/=beta; <span class="keywordflow">return</span> pom;}
+<a name="l00128"></a>00128 };
+<a name="l00129"></a>00129 
+<a name="l00131"></a><a class="code" href="classemix.html">00131</a> <span class="keyword">class </span><a class="code" href="classemix.html" title="Weighted mixture of epdfs with external owned components.">emix</a> : <span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
+<a name="l00132"></a>00132 <span class="keyword">protected</span>:
+<a name="l00133"></a>00133         <span class="keywordtype">int</span> n;
+<a name="l00134"></a>00134         vec &amp;w;
+<a name="l00135"></a>00135         Array&lt;epdf*&gt; Coms;
+<a name="l00136"></a>00136 <span class="keyword">public</span>:
+<a name="l00138"></a><a class="code" href="classemix.html#b0ac204af8919c22bce72816ed82019e">00138</a>         <a class="code" href="classemix.html#b0ac204af8919c22bce72816ed82019e" title="Default constructor.">emix</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv, vec &amp;w0): <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>(rv), n(w0.length()), w(w0), Coms(n) {};
+<a name="l00139"></a>00139         <span class="keywordtype">void</span> set_parameters( <span class="keywordtype">int</span> &amp;i, <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>* ep){Coms(i)=ep;}
+<a name="l00140"></a><a class="code" href="classemix.html#dcb3f927bf061eac6229850158ca1558">00140</a>         vec <a class="code" href="classemix.html#dcb3f927bf061eac6229850158ca1558" title="return expected value">mean</a>(){vec pom; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0;i&lt;n;i++){pom+=Coms(i)-&gt;mean()*w(i);} <span class="keywordflow">return</span> pom;};
+<a name="l00141"></a><a class="code" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">00141</a>         vec <a class="code" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941" title="Returns the required moment of the epdf.">sample</a>() {it_error ( <span class="stringliteral">"Not implemented"</span> );<span class="keywordflow">return</span> 0;}
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143 
+<a name="l00145"></a>00145 
+<a name="l00146"></a><a class="code" href="classeuni.html">00146</a> <span class="keyword">class </span><a class="code" href="classeuni.html" title="Uniform distributed density on a rectangular support.">euni</a>: <span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
+<a name="l00147"></a>00147 <span class="keyword">protected</span>:
+<a name="l00149"></a><a class="code" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1">00149</a>         vec <a class="code" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1" title="lower bound on support">low</a>;
+<a name="l00151"></a><a class="code" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231">00151</a>         vec <a class="code" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231" title="upper bound on support">high</a>;
+<a name="l00153"></a><a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4">00153</a>         vec <a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4" title="internal">distance</a>;
+<a name="l00155"></a><a class="code" href="classeuni.html#63105490e946e43372d6187ad1bafdda">00155</a>         <span class="keywordtype">double</span> <a class="code" href="classeuni.html#63105490e946e43372d6187ad1bafdda" title="normalizing coefficients">nk</a>,lnk;
+<a name="l00156"></a>00156 <span class="keyword">public</span>:
+<a name="l00157"></a>00157         <a class="code" href="classeuni.html" title="Uniform distributed density on a rectangular support.">euni</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv ) :<a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> ( rv ) {}
+<a name="l00158"></a><a class="code" href="classeuni.html#95f29237feb32fcadf570a181d5a0918">00158</a>         <span class="keywordtype">double</span> <a class="code" href="classeuni.html#95f29237feb32fcadf570a181d5a0918" title="Compute probability of argument val.">eval</a> ( <span class="keyword">const</span> vec &amp;val ) {<span class="keywordflow">return</span> <a class="code" href="classeuni.html#63105490e946e43372d6187ad1bafdda" title="normalizing coefficients">nk</a>;}
+<a name="l00159"></a><a class="code" href="classeuni.html#830fca2ffb6786530529c57eabc81666">00159</a>         <span class="keywordtype">double</span> <a class="code" href="classeuni.html#830fca2ffb6786530529c57eabc81666" title="Compute log-probability of argument val.">evalpdflog</a> ( <span class="keyword">const</span> vec &amp;val ) {<span class="keywordflow">return</span> lnk;}
+<a name="l00160"></a><a class="code" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">00160</a>         vec <a class="code" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c" title="Returns the required moment of the epdf.">sample</a>() {
+<a name="l00161"></a>00161                 vec smp ( rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>() ); UniRNG.sample_vector ( rv.<a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>(),smp );
+<a name="l00162"></a>00162                 <span class="keywordflow">return</span> <a class="code" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1" title="lower bound on support">low</a>+<a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4" title="internal">distance</a>*smp;
+<a name="l00163"></a>00163         }
+<a name="l00164"></a>00164         <span class="keywordtype">void</span> set_parameters ( <span class="keyword">const</span> vec &amp;low0, <span class="keyword">const</span> vec &amp;high0 ) {
+<a name="l00165"></a>00165                 <a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4" title="internal">distance</a> = high0-low0;
+<a name="l00166"></a>00166                 it_assert_debug ( min ( <a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4" title="internal">distance</a> ) &gt;0.0,<span class="stringliteral">"bad support"</span> );
+<a name="l00167"></a>00167                 <a class="code" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1" title="lower bound on support">low</a> = low0;
+<a name="l00168"></a>00168                 <a class="code" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231" title="upper bound on support">high</a> = high0;
+<a name="l00169"></a>00169                 <a class="code" href="classeuni.html#63105490e946e43372d6187ad1bafdda" title="normalizing coefficients">nk</a> = prod ( 1.0/<a class="code" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4" title="internal">distance</a> );
+<a name="l00170"></a>00170                 lnk = log ( <a class="code" href="classeuni.html#63105490e946e43372d6187ad1bafdda" title="normalizing coefficients">nk</a> );
+<a name="l00171"></a>00171         }
+<a name="l00172"></a><a class="code" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d">00172</a>         vec <a class="code" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d" title="return expected value">mean</a>(){vec pom=<a class="code" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231" title="upper bound on support">high</a>; pom-=<a class="code" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1" title="lower bound on support">low</a>; pom/=2.0; <span class="keywordflow">return</span> pom;}
+<a name="l00173"></a>00173 };
+<a name="l00174"></a>00174 
+<a name="l00175"></a>00175 
+<a name="l00181"></a>00181 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00182"></a><a class="code" href="classmlnorm.html">00182</a> <span class="keyword">class </span><a class="code" href="classmlnorm.html" title="Normal distributed linear function with linear function of mean value;.">mlnorm</a> : <span class="keyword">public</span> mEF {
+<a name="l00183"></a>00183         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>;
+<a name="l00184"></a>00184         vec* _mu; <span class="comment">//cached epdf.mu;</span>
+<a name="l00185"></a>00185         mat A;
+<a name="l00186"></a>00186 <span class="keyword">public</span>:
+<a name="l00188"></a>00188         <a class="code" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5" title="Constructor.">mlnorm</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc );
+<a name="l00189"></a>00189         <span class="keywordtype">void</span> set_parameters ( <span class="keyword">const</span>  mat &amp;A, <span class="keyword">const</span> sq_T &amp;R );
+<a name="l00191"></a>00191         vec <a class="code" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18" title="Generate one sample of the posterior.">samplecond</a> ( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
+<a name="l00193"></a>00193         mat <a class="code" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18" title="Generate one sample of the posterior.">samplecond</a> ( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
+<a name="l00194"></a>00194         <span class="keywordtype">void</span> condition ( vec &amp;cond );
+<a name="l00195"></a>00195 };
+<a name="l00196"></a>00196 
+<a name="l00206"></a><a class="code" href="classmgamma.html">00206</a> <span class="keyword">class </span><a class="code" href="classmgamma.html" title="Gamma random walk.">mgamma</a> : <span class="keyword">public</span> mEF {
+<a name="l00207"></a>00207         <a class="code" href="classegamma.html" title="Gamma posterior density.">egamma</a> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>;
+<a name="l00208"></a>00208         <span class="keywordtype">double</span> k;
+<a name="l00209"></a>00209         vec* _beta;
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211 <span class="keyword">public</span>:
+<a name="l00213"></a>00213         <a class="code" href="classmgamma.html#af43e61b86900c0398d5c0ffc83b94e6" title="Constructor.">mgamma</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv,<span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc );
+<a name="l00214"></a>00214         <span class="keywordtype">void</span> set_parameters ( <span class="keywordtype">double</span> k );
+<a name="l00216"></a>00216         vec <a class="code" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139" title="Generate one sample of the posterior.">samplecond</a> ( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik );
+<a name="l00218"></a>00218         mat <a class="code" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139" title="Generate one sample of the posterior.">samplecond</a> ( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n );
+<a name="l00219"></a>00219         <span class="keywordtype">void</span> condition ( <span class="keyword">const</span> vec &amp;val ) {*_beta=k/val;};
+<a name="l00220"></a>00220 };
+<a name="l00221"></a>00221 
+<a name="l00223"></a><a class="code" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212">00223</a> <span class="keyword">enum</span> <a class="code" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212" title="Switch between various resampling methods.">RESAMPLING_METHOD</a> { MULTINOMIAL = 0, STRATIFIED = 1, SYSTEMATIC = 3 };
+<a name="l00229"></a><a class="code" href="classeEmp.html">00229</a> <span class="keyword">class </span><a class="code" href="classeEmp.html" title="Weighted empirical density.">eEmp</a>: <span class="keyword">public</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> {
+<a name="l00230"></a>00230 <span class="keyword">protected</span> :
+<a name="l00232"></a><a class="code" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd">00232</a>         <span class="keywordtype">int</span> <a class="code" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd" title="Number of particles.">n</a>;
+<a name="l00233"></a>00233         vec w;
+<a name="l00234"></a>00234         Array&lt;vec&gt; samples;
+<a name="l00235"></a>00235 <span class="keyword">public</span>:
+<a name="l00236"></a>00236         <a class="code" href="classeEmp.html" title="Weighted empirical density.">eEmp</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0 ) :<a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> ( rv0 ) {};
+<a name="l00237"></a>00237         <span class="keywordtype">void</span> set_parameters ( <span class="keyword">const</span> vec &amp;w0, <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>* pdf0 );
+<a name="l00239"></a><a class="code" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b">00239</a>         vec&amp; <a class="code" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b" title="Potentially dangerous, use with care.">_w</a>()  {<span class="keywordflow">return</span> w;};
+<a name="l00240"></a>00240         Array&lt;vec&gt;&amp; _samples() {<span class="keywordflow">return</span> samples;};
+<a name="l00242"></a>00242         ivec <a class="code" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59" title="Function performs resampling, i.e. removal of low-weight samples and duplication...">resample</a> ( <a class="code" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212" title="Switch between various resampling methods.">RESAMPLING_METHOD</a> method = SYSTEMATIC );
+<a name="l00243"></a><a class="code" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">00243</a>         vec <a class="code" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13" title="Returns the required moment of the epdf.">sample</a>() {it_error ( <span class="stringliteral">"Not implemented"</span> );<span class="keywordflow">return</span> 0;}
+<a name="l00244"></a><a class="code" href="classeEmp.html#de42454cb65a17fd8662d207dd59aacf">00244</a>         vec <a class="code" href="classeEmp.html#de42454cb65a17fd8662d207dd59aacf" title="return expected value">mean</a>(){vec pom; 
+<a name="l00245"></a>00245                 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0;i&lt;<a class="code" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd" title="Number of particles.">n</a>;i++){pom+=samples(i)*w(i);}
+<a name="l00246"></a>00246                 <span class="keywordflow">return</span> pom;
+<a name="l00247"></a>00247         }
+<a name="l00248"></a>00248 };
+<a name="l00249"></a>00249 
+<a name="l00250"></a>00250 
+<a name="l00252"></a>00252 
+<a name="l00253"></a>00253 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00254"></a>00254 <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::enorm</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv ) :<a class="code" href="classeEF.html" title="General conjugate exponential family posterior density.">eEF</a>(), mu ( rv.count() ),R ( rv.count() ),_iR ( rv.count() ),cached ( false ),dim ( rv.count() ) {};
+<a name="l00255"></a>00255 
+<a name="l00256"></a>00256 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00257"></a>00257 <span class="keywordtype">void</span> <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::set_parameters</a> ( <span class="keyword">const</span> vec &amp;mu0, <span class="keyword">const</span> sq_T &amp;R0 ) {
+<a name="l00258"></a>00258 <span class="comment">//Fixme test dimensions of mu0 and R0;</span>
+<a name="l00259"></a>00259         mu = mu0;
+<a name="l00260"></a>00260         R = R0;
+<a name="l00261"></a>00261         <span class="keywordflow">if</span> ( _iR.rows() !=R.rows() ) _iR=R; <span class="comment">// memory allocation!</span>
+<a name="l00262"></a>00262         R.inv ( _iR ); <span class="comment">//update cache</span>
+<a name="l00263"></a>00263         cached=<span class="keyword">true</span>;
+<a name="l00264"></a>00264 };
+<a name="l00265"></a>00265 
+<a name="l00266"></a>00266 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00267"></a>00267 <span class="keywordtype">void</span> <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;::dupdate</a> ( mat &amp;v, <span class="keywordtype">double</span> nu ) {
+<a name="l00268"></a>00268         <span class="comment">//</span>
+<a name="l00269"></a>00269 };
+<a name="l00270"></a>00270 
+<a name="l00271"></a>00271 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00272"></a><a class="code" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a">00272</a> <span class="keywordtype">void</span> <a class="code" href="classenorm.html#5b5fd142b6b17ea334597960e3fe126a" title="tupdate in exponential form (not really handy)">enorm&lt;sq_T&gt;::tupdate</a> ( <span class="keywordtype">double</span> phi, mat &amp;vbar, <span class="keywordtype">double</span> nubar ) {
+<a name="l00273"></a>00273         <span class="comment">//</span>
+<a name="l00274"></a>00274 };
+<a name="l00275"></a>00275 
+<a name="l00276"></a>00276 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00277"></a><a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">00277</a> vec <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a>() {
+<a name="l00278"></a>00278         vec x ( <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a> );
+<a name="l00279"></a>00279         NorRNG.sample_vector ( <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a>,x );
+<a name="l00280"></a>00280         vec smp = <a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>.sqrt_mult ( x );
+<a name="l00281"></a>00281 
+<a name="l00282"></a>00282         smp += <a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>;
+<a name="l00283"></a>00283         <span class="keywordflow">return</span> smp;
+<a name="l00284"></a>00284 };
+<a name="l00285"></a>00285 
+<a name="l00286"></a>00286 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00287"></a>00287 mat <a class="code" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023" title="Returns the required moment of the epdf.">enorm&lt;sq_T&gt;::sample</a> ( <span class="keywordtype">int</span> N ) {
+<a name="l00288"></a>00288         mat X ( <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a>,N );
+<a name="l00289"></a>00289         vec x ( <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a> );
+<a name="l00290"></a>00290         vec pom;
+<a name="l00291"></a>00291         <span class="keywordtype">int</span> i;
+<a name="l00292"></a>00292 
+<a name="l00293"></a>00293         <span class="keywordflow">for</span> ( i=0;i&lt;N;i++ ) {
+<a name="l00294"></a>00294                 NorRNG.sample_vector ( <a class="code" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e" title="dimension (redundant from rv.count() for easier coding )">dim</a>,x );
+<a name="l00295"></a>00295                 pom = <a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>.sqrt_mult ( x );
+<a name="l00296"></a>00296                 pom +=<a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>;
+<a name="l00297"></a>00297                 X.set_col ( i, pom );
+<a name="l00298"></a>00298         }
+<a name="l00299"></a>00299 
+<a name="l00300"></a>00300         <span class="keywordflow">return</span> X;
+<a name="l00301"></a>00301 };
+<a name="l00302"></a>00302 
+<a name="l00303"></a>00303 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00304"></a><a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4">00304</a> <span class="keywordtype">double</span> <a class="code" href="classenorm.html#93107f05a8e9b34b64853767200121a4" title="Compute probability of argument val.">enorm&lt;sq_T&gt;::eval</a> ( <span class="keyword">const</span> vec &amp;val ) {
+<a name="l00305"></a>00305         <span class="keywordtype">double</span> pdfl,e;
+<a name="l00306"></a>00306         pdfl = <a class="code" href="classenorm.html#9517594915e897584eaebbb057ed8881" title="Compute log-probability of argument val.">evalpdflog</a> ( val );
+<a name="l00307"></a>00307         e = exp ( pdfl );
+<a name="l00308"></a>00308         <span class="keywordflow">return</span> e;
+<a name="l00309"></a>00309 };
+<a name="l00310"></a>00310 
+<a name="l00311"></a>00311 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00312"></a><a class="code" href="classenorm.html#9517594915e897584eaebbb057ed8881">00312</a> <span class="keywordtype">double</span> <a class="code" href="classenorm.html#9517594915e897584eaebbb057ed8881" title="Compute log-probability of argument val.">enorm&lt;sq_T&gt;::evalpdflog</a> ( <span class="keyword">const</span> vec &amp;val ) {
+<a name="l00313"></a>00313         <span class="keywordflow">if</span> ( !<a class="code" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1" title="indicator if _iR is chached">cached</a> ) {<a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>.inv ( <a class="code" href="classenorm.html#82f39ac49911d7097f4bfe385deba355" title="Cache: _iR = inv(R);.">_iR</a> );<a class="code" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1" title="indicator if _iR is chached">cached</a>=<span class="keyword">true</span>;}
+<a name="l00314"></a>00314 
+<a name="l00315"></a>00315         <span class="keywordflow">return</span> -0.5* ( <a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>.cols() *0.79817986835811504957 +<a class="code" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1" title="Covariance matrix in decomposed form.">R</a>.logdet() +<a class="code" href="classenorm.html#82f39ac49911d7097f4bfe385deba355" title="Cache: _iR = inv(R);.">_iR</a>.qform ( <a class="code" href="classenorm.html#71fde0d54bba147e00f612577f95ad20" title="mean value">mu</a>-val ) );
+<a name="l00316"></a>00316 };
+<a name="l00317"></a>00317 
+<a name="l00318"></a>00318 
+<a name="l00319"></a>00319 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00320"></a><a class="code" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5">00320</a> <a class="code" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5" title="Constructor.">mlnorm&lt;sq_T&gt;::mlnorm</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0,<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc0 ) :mEF ( rv0,rvc0 ),<a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> ( rv ),A ( rv0.count(),rv0.count() ) {
+<a name="l00321"></a>00321         _mu = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>._mu();
+<a name="l00322"></a>00322 }
+<a name="l00323"></a>00323 
+<a name="l00324"></a>00324 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00325"></a>00325 <span class="keywordtype">void</span> <a class="code" href="classmlnorm.html" title="Normal distributed linear function with linear function of mean value;.">mlnorm&lt;sq_T&gt;::set_parameters</a> ( <span class="keyword">const</span> mat &amp;A0, <span class="keyword">const</span> sq_T &amp;R0 ) {
+<a name="l00326"></a>00326         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.set_parameters ( zeros ( rv.count() ),R0 );
+<a name="l00327"></a>00327         A = A0;
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 
+<a name="l00330"></a>00330 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00331"></a><a class="code" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18">00331</a> vec <a class="code" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18" title="Generate one sample of the posterior.">mlnorm&lt;sq_T&gt;::samplecond</a> ( vec &amp;cond, <span class="keywordtype">double</span> &amp;lik ) {
+<a name="l00332"></a>00332         this-&gt;condition ( cond );
+<a name="l00333"></a>00333         vec smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
+<a name="l00334"></a>00334         lik = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval ( smp );
+<a name="l00335"></a>00335         <span class="keywordflow">return</span> smp;
+<a name="l00336"></a>00336 }
+<a name="l00337"></a>00337 
+<a name="l00338"></a>00338 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00339"></a><a class="code" href="classmlnorm.html#215fb88cc8b95d64cdefd6849abdd1e8">00339</a> mat <a class="code" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18" title="Generate one sample of the posterior.">mlnorm&lt;sq_T&gt;::samplecond</a> ( vec &amp;cond, vec &amp;lik, <span class="keywordtype">int</span> n ) {
+<a name="l00340"></a>00340         <span class="keywordtype">int</span> i;
+<a name="l00341"></a>00341         <span class="keywordtype">int</span> dim = rv.count();
+<a name="l00342"></a>00342         mat Smp ( dim,n );
+<a name="l00343"></a>00343         vec smp ( dim );
+<a name="l00344"></a>00344         this-&gt;condition ( cond );
+<a name="l00345"></a>00345 
+<a name="l00346"></a>00346         <span class="keywordflow">for</span> ( i=0; i&lt;n; i++ ) {
+<a name="l00347"></a>00347                 smp = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.sample();
+<a name="l00348"></a>00348                 lik ( i ) = <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.eval ( smp );
+<a name="l00349"></a>00349                 Smp.set_col ( i ,smp );
+<a name="l00350"></a>00350         }
+<a name="l00351"></a>00351 
+<a name="l00352"></a>00352         <span class="keywordflow">return</span> Smp;
+<a name="l00353"></a>00353 }
+<a name="l00354"></a>00354 
+<a name="l00355"></a>00355 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00356"></a>00356 <span class="keywordtype">void</span> <a class="code" href="classmlnorm.html" title="Normal distributed linear function with linear function of mean value;.">mlnorm&lt;sq_T&gt;::condition</a> ( vec &amp;cond ) {
+<a name="l00357"></a>00357         *_mu = A*cond;
+<a name="l00358"></a>00358 <span class="comment">//R is already assigned;</span>
+<a name="l00359"></a>00359 }
+<a name="l00360"></a>00360 
+<a name="l00362"></a>00362 
+<a name="l00363"></a>00363 
+<a name="l00364"></a>00364 <span class="preprocessor">#endif //EF_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/formula.repository
===================================================================
--- /doc/html/formula.repository (revision 23)
+++ /doc/html/formula.repository (revision 32)
@@ -3,2 +3,3 @@
 \form#2:$A=\frac{d}{du}f(x,u)|_{x0,u0}$
 \form#3:$x \sim epdf(rv)$
+\form#4:\[ f(x|a,b) = \prod f(x_i|a_i,b_i) \]
Index: /doc/html/classfnc-members.html
===================================================================
--- /doc/html/classfnc-members.html (revision 28)
+++ /doc/html/classfnc-members.html (revision 32)
@@ -25,5 +25,6 @@
   <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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a>()</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 Thu Feb 28 16:54:49 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 28)
+++ /doc/html/libKF_8h-source.html (revision 32)
@@ -20,10 +20,10 @@
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
 <a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libFN.h"</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include "../math/libDC.h"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "../stat/libEF.h"</span>
 <a name="l00019"></a>00019 
 <a name="l00020"></a>00020 
 <a name="l00021"></a>00021 <span class="keyword">using namespace </span>itpp;
 <a name="l00022"></a>00022 
-<a name="l00026"></a><a class="code" href="classKalmanFull.html">00026</a> <span class="keyword">class </span><a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> { 
+<a name="l00026"></a><a class="code" href="classKalmanFull.html">00026</a> <span class="keyword">class </span><a class="code" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted...">KalmanFull</a> { 
 <a name="l00027"></a>00027         <span class="keywordtype">int</span> dimx, dimy, dimu;
 <a name="l00028"></a>00028         mat A, B, C, D, R, Q;
@@ -38,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> <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="l00043"></a>00043         <span class="keywordtype">void</span> <a class="code" href="classKalmanFull.html#13a041cd98ff157703766be275a657bb" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt); 
 <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 );
@@ -48,169 +48,195 @@
 <a name="l00054"></a><a class="code" href="classKalman.html">00054</a> <span class="keyword">class </span><a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> { 
 <a name="l00055"></a>00055 <span class="keyword">protected</span>:
-<a name="l00056"></a>00056         <span class="keywordtype">int</span> dimx, dimy, dimu;
-<a name="l00057"></a>00057         mat A, B, C, D;
-<a name="l00058"></a>00058         sq_T R, Q;
-<a name="l00059"></a>00059         
-<a name="l00060"></a>00060         <span class="comment">//cache</span>
-<a name="l00061"></a>00061         mat _K;
-<a name="l00062"></a>00062         vec _yp;
-<a name="l00063"></a>00063         sq_T _Ry,_iRy;
-<a name="l00064"></a>00064 <span class="keyword">public</span>:
-<a name="l00065"></a>00065         <span class="comment">//posterior </span>
-<a name="l00067"></a><a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed">00067</a> <span class="comment"></span>        vec <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a>;
-<a name="l00069"></a><a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">00069</a>         sq_T <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a>;
-<a name="l00070"></a>00070 
-<a name="l00071"></a>00071 <span class="keyword">public</span>:
-<a name="l00073"></a>00073         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> (<span class="keywordtype">int</span> dimx, <span class="keywordtype">int</span> dimu, <span class="keywordtype">int</span> dimy);
-<a name="l00075"></a>00075         <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman</a> ( mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0 );
-<a name="l00077"></a>00077         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt, <span class="keywordtype">bool</span> <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 );
-<a name="l00080"></a>00080 
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082 
-<a name="l00088"></a>00088 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00089"></a><a class="code" href="classEKF.html">00089</a> <span class="keyword">class </span><a class="code" href="classEKF.html" title="Extended Kalman Filter.">EKF</a> : <span class="keyword">public</span> <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;fsqmat&gt; {
-<a name="l00091"></a>00091         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* 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#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 
-<a name="l00102"></a>00102 
-<a name="l00103"></a>00103 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00104"></a><a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a">00104</a> <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>( <span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> du, <span class="keywordtype">int</span> dy): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>(), dimx(dx),dimy(dy),dimu(du){
-<a name="l00105"></a>00105         A = mat(dimx,dimx);
-<a name="l00106"></a>00106         B = mat(dimx,dimu);
-<a name="l00107"></a>00107         C = mat(dimy,dimx);
-<a name="l00108"></a>00108         D = mat(dimy,dimu);
-<a name="l00109"></a>00109 
-<a name="l00110"></a>00110         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = vec(dimx);
-<a name="l00111"></a>00111         <span class="comment">//TODO Initialize the rest?</span>
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113 
-<a name="l00114"></a>00114 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
-<a name="l00115"></a><a class="code" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">00115</a> <a class="code" href="classKalman.html#96958a5ebfa966d892137987f265083a" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>(<span class="keyword">const</span>  mat A0,<span class="keyword">const</span>  mat B0, <span class="keyword">const</span> mat C0, <span class="keyword">const</span> mat D0, <span class="keyword">const</span> sq_T R0, <span class="keyword">const</span> sq_T Q0, <span class="keyword">const</span> sq_T P0, <span class="keyword">const</span> vec mu0 ): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>() {
-<a name="l00116"></a>00116         dimx = A0.rows();
-<a name="l00117"></a>00117         dimu = B0.cols();
-<a name="l00118"></a>00118         dimy = C0.rows();
-<a name="l00119"></a>00119 
-<a name="l00120"></a>00120         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> );
-<a name="l00121"></a>00121         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> );
-<a name="l00122"></a>00122         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> );
-<a name="l00123"></a>00123         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> );
-<a name="l00124"></a>00124         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> );
-<a name="l00125"></a>00125         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> );
-<a name="l00126"></a>00126 
-<a name="l00127"></a>00127         A = A0;
-<a name="l00128"></a>00128         B = B0;
-<a name="l00129"></a>00129         C = C0;
-<a name="l00130"></a>00130         D = D0;
-<a name="l00131"></a>00131         R = R0;
-<a name="l00132"></a>00132         Q = Q0;
-<a name="l00133"></a>00133         <a class="code" href="classKalman.html#3063a3f58a74cea672ae889971012eed" title="Mean value of the posterior density.">mu</a> = mu0;
-<a name="l00134"></a>00134         <a class="code" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3" title="Mean value of the posterior density.">P</a> = P0;
+<a name="l00056"></a>00056         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy;
+<a name="l00057"></a>00057         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu;
+<a name="l00058"></a>00058         <span class="keywordtype">int</span> dimx, dimy, dimu;
+<a name="l00059"></a>00059         mat A, B, C, D;
+<a name="l00060"></a>00060         sq_T R, Q;
+<a name="l00061"></a>00061         
+<a name="l00063"></a><a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">00063</a>         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a> <a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>;
+<a name="l00065"></a><a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f">00065</a>         <a class="code" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix.">enorm&lt;sq_T&gt;</a> <a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f" title="preditive density on $y_t$">fy</a>;
+<a name="l00066"></a>00066         
+<a name="l00067"></a>00067         mat _K;
+<a name="l00068"></a>00068         <span class="comment">//cache of fy</span>
+<a name="l00069"></a>00069         vec* _yp; 
+<a name="l00070"></a>00070         sq_T* _Ry,*_iRy;
+<a name="l00071"></a>00071         <span class="comment">//cache of est</span>
+<a name="l00072"></a>00072         vec* _mu;
+<a name="l00073"></a>00073         sq_T* _P, *_iP;
+<a name="l00074"></a>00074         
+<a name="l00075"></a>00075 <span class="keyword">public</span>:
+<a name="l00077"></a>00077         <a class="code" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3" title="Default constructor.">Kalman</a> (<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx0, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy0, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu0);
+<a name="l00079"></a>00079         <a class="code" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3" title="Default constructor.">Kalman</a> (<span class="keyword">const</span> <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman&lt;sq_T&gt;</a> &amp;K0);
+<a name="l00081"></a>00081         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a" title="Set parameters with check of relevance.">set_parameters</a> (<span class="keyword">const</span> mat &amp;A0,<span class="keyword">const</span> mat &amp;B0,<span class="keyword">const</span> mat &amp;C0,<span class="keyword">const</span> mat &amp;D0,<span class="keyword">const</span> sq_T &amp;R0,<span class="keyword">const</span> sq_T &amp;Q0);
+<a name="l00083"></a><a class="code" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">00083</a>         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0" title="Set estimate values, used e.g. in initialization.">set_est</a>(<span class="keyword">const</span> vec &amp;mu0, <span class="keyword">const</span> sq_T &amp;P0 ){<a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>.set_parameters(mu0,P0);};
+<a name="l00085"></a>00085         <span class="keywordtype">void</span> <a class="code" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt); 
+<a name="l00086"></a><a class="code" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">00086</a>         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>&amp; <a class="code" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4" title="Returns a pointer to the epdf representing posterior density on parameters. Use with...">_epdf</a>(){<span class="keywordflow">return</span> <a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>;}
+<a name="l00087"></a>00087 <span class="comment">//      friend std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, const Kalman&lt;sq_T&gt; &amp;kf );</span>
+<a name="l00088"></a>00088 
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091 
+<a name="l00097"></a>00097 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00098"></a><a class="code" href="classEKF.html">00098</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;ldmat&gt; {
+<a name="l00100"></a>00100         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* pfxu;
+<a name="l00102"></a>00102         <a class="code" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$.">diffbifn</a>* phxu;
+<a name="l00103"></a>00103 <span class="keyword">public</span>: 
+<a name="l00105"></a>00105         <a class="code" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e" title="Default constructor.">EKF</a> (<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu);
+<a name="l00106"></a>00106         <span class="keywordtype">void</span> set_parameters(<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, <span class="keyword">const</span> sq_T Q0, <span class="keyword">const</span> sq_T R0);
+<a name="l00108"></a>00108         <span class="keywordtype">void</span> <a class="code" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7" title="Here dt = [yt;ut] of appropriate dimensions.">bayes</a>(<span class="keyword">const</span> vec &amp;dt);      
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110 
+<a name="l00114"></a><a class="code" href="classKFcondQR.html">00114</a> <span class="keyword">class </span><a class="code" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q.">KFcondQR</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;ldmat&gt;, <span class="keyword">public</span> <a class="code" href="classBMcond.html" title="Conditional Bayesian Filter.">BMcond</a> {
+<a name="l00115"></a>00115 <span class="comment">//protected:</span>
+<a name="l00116"></a>00116 <span class="keyword">public</span>:
+<a name="l00117"></a>00117 <a class="code" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q.">KFcondQR</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu): <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman&lt;ldmat&gt;</a>(rvx, rvy,rvu){};
+<a name="l00118"></a>00118 <span class="keywordtype">void</span> <a class="code" href="classKFcondQR.html#c9ecf292a85327aa6309c9fd70ceb606" title="Substitute val for rvc.">condition</a>(<span class="keyword">const</span> vec &amp;RQ);
+<a name="l00119"></a>00119 };
+<a name="l00120"></a>00120 
+<a name="l00122"></a>00122 
+<a name="l00123"></a>00123 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00124"></a><a class="code" href="classKalman.html#ce38e31810aea4db45a83ad05eaba009">00124</a> <a class="code" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>(<span class="keyword">const</span> <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman&lt;sq_T&gt;</a> &amp;K0): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>(K0.rv),rvy(K0.rvy),rvu(K0.rvu),
+<a name="l00125"></a>00125 dimx(rv.count()), dimy(rvy.count()),dimu(rvu.count()), 
+<a name="l00126"></a>00126  A(dimx,dimx), B(dimx,dimu), C(dimy,dimx), D(dimy,dimu),est(rv), fy(rvy){
+<a name="l00127"></a>00127 this-&gt;<a class="code" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a" title="Set parameters with check of relevance.">set_parameters</a>(K0.<a class="code" href="classKalman.html#5e02efe86ee91e9c74b93b425fe060b9">A</a>, K0.<a class="code" href="classKalman.html#dc87704284a6c0bca13bf51f4345a50a">B</a>, K0.<a class="code" href="classKalman.html#86a805cd6515872d1132ad0d6eb5dc13">C</a>, K0.<a class="code" href="classKalman.html#d69f774ba3335c970c1c5b1d182f4dd1">D</a>, K0.<a class="code" href="classKalman.html#11d171dc0e0ab111c56a70f98b97b3ec">R</a>, K0.<a class="code" href="classKalman.html#9b69015c800eb93f3ee49da23a6f55d9">Q</a>);
+<a name="l00128"></a>00128 <span class="comment">//reset copy values in pointers</span>
+<a name="l00129"></a>00129 *_mu = *K0.<a class="code" href="classKalman.html#d1f669b5b3421a070cc75d77b55ba734">_mu</a>;
+<a name="l00130"></a>00130 *_P = *K0.<a class="code" href="classKalman.html#b3388218567128a797e69b109138271d">_P</a>;
+<a name="l00131"></a>00131 *_iP = *K0.<a class="code" href="classKalman.html#b8bb7f870d69993493ba67ce40e7c3e9">_iP</a>;
+<a name="l00132"></a>00132 *_yp = *K0.<a class="code" href="classKalman.html#5188eb0329f8561f0b357af329769bf8">_yp</a>;
+<a name="l00133"></a>00133 *_iRy = *K0.<a class="code" href="classKalman.html#fbbdf31365f5a5674099599200ea193b">_iRy</a>;
+<a name="l00134"></a>00134 *_Ry = *K0.<a class="code" href="classKalman.html#e17dd745daa8a958035a334a56fa4674">_Ry</a>;
 <a name="l00135"></a>00135 
-<a name="l00136"></a>00136 <span class="comment">//Fixme should we assign cache??</span>
-<a name="l00137"></a>00137         _iRy = eye(dimy); <span class="comment">// needed in inv(_iRy)</span>
-<a name="l00138"></a>00138         _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="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                 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 name="l00136"></a>00136 }
+<a name="l00137"></a>00137 
+<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00139"></a><a class="code" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">00139</a> <a class="code" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3" title="Default constructor.">Kalman&lt;sq_T&gt;::Kalman</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy0, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu0): <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>(rvx),rvy(rvy0),rvu(rvu0),
+<a name="l00140"></a>00140 dimx(rvx.count()), dimy(rvy.count()),dimu(rvu.count()), 
+<a name="l00141"></a>00141  A(dimx,dimx), B(dimx,dimu), C(dimy,dimx), D(dimy,dimu),<a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>(rvx), <a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f" title="preditive density on $y_t$">fy</a>(rvy){
+<a name="l00142"></a>00142 <span class="comment">//assign cache</span>
+<a name="l00143"></a>00143 <span class="comment">//est</span>
+<a name="l00144"></a>00144 _mu = <a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>._mu();
+<a name="l00145"></a>00145 <a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>._R(_P,_iP);
+<a name="l00146"></a>00146 
+<a name="l00147"></a>00147 <span class="comment">//fy</span>
+<a name="l00148"></a>00148 _yp = <a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f" title="preditive density on $y_t$">fy</a>._mu();
+<a name="l00149"></a>00149 <a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f" title="preditive density on $y_t$">fy</a>._R(_Ry,_iRy);
+<a name="l00150"></a>00150 };
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00153"></a><a class="code" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">00153</a> <span class="keywordtype">void</span> <a class="code" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a" title="Set parameters with check of relevance.">Kalman&lt;sq_T&gt;::set_parameters</a>(<span class="keyword">const</span> mat &amp;A0,<span class="keyword">const</span>  mat &amp;B0, <span class="keyword">const</span> mat &amp;C0, <span class="keyword">const</span> mat &amp;D0, <span class="keyword">const</span> sq_T &amp;R0, <span class="keyword">const</span> sq_T &amp;Q0) {
+<a name="l00154"></a>00154         it_assert_debug( A0.cols()==dimx, <span class="stringliteral">"Kalman: A is not square"</span> );
+<a name="l00155"></a>00155         it_assert_debug( B0.rows()==dimx, <span class="stringliteral">"Kalman: B is not compatible"</span> );
+<a name="l00156"></a>00156         it_assert_debug( C0.cols()==dimx, <span class="stringliteral">"Kalman: C is not square"</span> );
+<a name="l00157"></a>00157         it_assert_debug(( D0.rows()==dimy ) || ( D0.cols()==dimu ),     <span class="stringliteral">"Kalman: D is not compatible"</span> );
+<a name="l00158"></a>00158         it_assert_debug(( R0.cols()==dimy ) || ( R0.rows()==dimy ), <span class="stringliteral">"Kalman: R is not compatible"</span> );
+<a name="l00159"></a>00159         it_assert_debug(( Q0.cols()==dimx ) || ( Q0.rows()==dimx ), <span class="stringliteral">"Kalman: Q is not compatible"</span> );
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161         A = A0;
+<a name="l00162"></a>00162         B = B0;
+<a name="l00163"></a>00163         C = C0;
+<a name="l00164"></a>00164         D = D0;
+<a name="l00165"></a>00165         R = R0;
+<a name="l00166"></a>00166         Q = Q0; 
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 
+<a name="l00169"></a>00169 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00170"></a><a class="code" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">00170</a> <span class="keywordtype">void</span> <a class="code" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c" title="Here dt = [yt;ut] of appropriate dimensions.">Kalman&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt) {
+<a name="l00171"></a>00171         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00172"></a>00172 
+<a name="l00173"></a>00173         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00174"></a>00174         vec y = dt.get( 0,dimy-1 );
+<a name="l00175"></a>00175         <span class="comment">//Time update</span>
+<a name="l00176"></a>00176         *_mu = A*(*_mu) + B*u;
+<a name="l00177"></a>00177         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<a name="l00178"></a>00178         _P-&gt;mult_sym( A );
+<a name="l00179"></a>00179         (*_P)+=Q;
+<a name="l00180"></a>00180 
+<a name="l00181"></a>00181         <span class="comment">//Data update</span>
+<a name="l00182"></a>00182         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<a name="l00183"></a>00183         _P-&gt;mult_sym( C, *_Ry);
+<a name="l00184"></a>00184         (*_Ry)+=R;
+<a name="l00185"></a>00185 
+<a name="l00186"></a>00186         mat Pfull = _P-&gt;to_mat();
+<a name="l00187"></a>00187         
+<a name="l00188"></a>00188         _Ry-&gt;inv( *_iRy ); <span class="comment">// result is in _iRy;</span>
+<a name="l00189"></a>00189         _K = Pfull*C.transpose()*(_iRy-&gt;to_mat());
+<a name="l00190"></a>00190         
+<a name="l00191"></a>00191         sq_T pom((<span class="keywordtype">int</span>)Pfull.rows());
+<a name="l00192"></a>00192         _iRy-&gt;mult_sym_t(C*Pfull,pom);
+<a name="l00193"></a>00193         (*_P) -= pom; <span class="comment">// P = P -PC'iRy*CP;</span>
+<a name="l00194"></a>00194         (*_yp) = C*(*_mu)+D*u; <span class="comment">//y prediction</span>
+<a name="l00195"></a>00195         (*_mu) += _K*( y-(*_yp) );
+<a name="l00196"></a>00196         
+<a name="l00197"></a>00197         <span class="keywordflow">if</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="l00198"></a>00198                 <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+=<a class="code" href="classKalman.html#e580ab06483952bd03f2e651763e184f" title="preditive density on $y_t$">fy</a>.evalpdflog(*_yp);
+<a name="l00199"></a>00199         }
+<a name="l00200"></a>00200 };
+<a name="l00201"></a>00201 
+<a name="l00202"></a>00202 <span class="comment">//TODO why not const pointer??</span>
+<a name="l00203"></a>00203 
+<a name="l00204"></a>00204 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00205"></a><a class="code" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">00205</a> <a class="code" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e" title="Default constructor.">EKF&lt;sq_T&gt;::EKF</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvx0, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvy0, <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvu0): <a class="code" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a>&lt;ldmat&gt;(rvx0,rvy0,rvu0){}
+<a name="l00206"></a>00206 
+<a name="l00207"></a>00207 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00208"></a>00208 <span class="keywordtype">void</span> <a class="code" href="classEKF.html" title="Extended Kalman Filter.">EKF&lt;sq_T&gt;::set_parameters</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,<span class="keyword">const</span> sq_T Q0,<span class="keyword">const</span> sq_T R0) {
+<a name="l00209"></a>00209                 pfxu = pfxu0;
+<a name="l00210"></a>00210                 phxu = phxu0;
+<a name="l00211"></a>00211                 
+<a name="l00212"></a>00212                 <span class="comment">//initialize matrices A C, later, these will be only updated!</span>
+<a name="l00213"></a>00213                 pfxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(*_mu,zeros(dimu),A,<span class="keyword">true</span>);
+<a name="l00214"></a>00214                 pfxu-&gt;<a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a>(*_mu,zeros(dimu),B,<span class="keyword">true</span>);
+<a name="l00215"></a>00215                 phxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(*_mu,zeros(dimu),C,<span class="keyword">true</span>);
+<a name="l00216"></a>00216                 phxu-&gt;<a class="code" href="classdiffbifn.html#1978bafd7909d15c139a08c495c24aa0" title="Evaluates  and writes result into A .">dfdu_cond</a>(*_mu,zeros(dimu),D,<span class="keyword">true</span>);
+<a name="l00217"></a>00217 
+<a name="l00218"></a>00218                 R = R0;
+<a name="l00219"></a>00219                 Q = Q0;
+<a name="l00220"></a>00220 
+<a name="l00221"></a>00221         <span class="keyword">using</span> std::cout;
+<a name="l00222"></a>00222         cout&lt;&lt;A&lt;&lt;std::endl;
+<a name="l00223"></a>00223         cout&lt;&lt;B&lt;&lt;std::endl;
+<a name="l00224"></a>00224         cout&lt;&lt;C&lt;&lt;std::endl;
+<a name="l00225"></a>00225         cout&lt;&lt;D&lt;&lt;std::endl;
+<a name="l00226"></a>00226 
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228 
+<a name="l00229"></a>00229 <span class="keyword">template</span>&lt;<span class="keyword">class</span> sq_T&gt;
+<a name="l00230"></a><a class="code" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">00230</a> <span class="keywordtype">void</span> <a class="code" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7" title="Here dt = [yt;ut] of appropriate dimensions.">EKF&lt;sq_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt) {
+<a name="l00231"></a>00231         it_assert_debug( dt.length()==( dimy+dimu ),<span class="stringliteral">"KalmanFull::bayes wrong size of dt"</span> );
+<a name="l00232"></a>00232 
+<a name="l00233"></a>00233         vec u = dt.get( dimy,dimy+dimu-1 );
+<a name="l00234"></a>00234         vec y = dt.get( 0,dimy-1 );
+<a name="l00235"></a>00235         <span class="comment">//Time update</span>
+<a name="l00236"></a>00236         *_mu = pfxu-&gt;<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(*_mu, u);
+<a name="l00237"></a>00237         pfxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(*_mu,u,A,<span class="keyword">false</span>); <span class="comment">//update A by a derivative of fx</span>
+<a name="l00238"></a>00238         
+<a name="l00239"></a>00239         <span class="comment">//P  = A*P*A.transpose() + Q; in sq_T</span>
+<a name="l00240"></a>00240         _P-&gt;mult_sym( A );
+<a name="l00241"></a>00241         (*_P)+=Q;
+<a name="l00242"></a>00242 
+<a name="l00243"></a>00243         <span class="comment">//Data update</span>
+<a name="l00244"></a>00244         phxu-&gt;<a class="code" href="classdiffbifn.html#6d217a02d4fa13931258d4bebdd0feb4" title="Evaluates  and writes result into A .">dfdx_cond</a>(*_mu,u,C,<span class="keyword">false</span>); <span class="comment">//update C by a derivative hx</span>
+<a name="l00245"></a>00245         <span class="comment">//_Ry = C*P*C.transpose() + R; in sq_T</span>
+<a name="l00246"></a>00246         _P-&gt;mult_sym( C, *_Ry);
+<a name="l00247"></a>00247         (*_Ry)+=R;
+<a name="l00248"></a>00248 
+<a name="l00249"></a>00249         mat Pfull = _P-&gt;to_mat();
+<a name="l00250"></a>00250         
+<a name="l00251"></a>00251         _Ry-&gt;inv( *_iRy ); <span class="comment">// result is in _iRy;</span>
+<a name="l00252"></a>00252         _K = Pfull*C.transpose()*(_iRy-&gt;to_mat());
+<a name="l00253"></a>00253         
+<a name="l00254"></a>00254         sq_T pom((<span class="keywordtype">int</span>)Pfull.rows());
+<a name="l00255"></a>00255         _iRy-&gt;mult_sym_t(C*Pfull,pom);
+<a name="l00256"></a>00256         (*_P) -= pom; <span class="comment">// P = P -PC'iRy*CP;</span>
+<a name="l00257"></a>00257         *_yp = phxu-&gt;<a class="code" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632" title="Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ).">eval</a>(*_mu,u); <span class="comment">//y prediction</span>
+<a name="l00258"></a>00258         (*_mu) += _K*( y-*_yp );
+<a name="l00259"></a>00259         
+<a name="l00260"></a>00260         <span class="keywordflow">if</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 class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>+=<a class="code" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424" title="posterior density on $x_t$">est</a>.<a class="code" href="classenorm.html#9517594915e897584eaebbb057ed8881" title="Compute log-probability of argument val.">evalpdflog</a>(y);}
+<a name="l00261"></a>00261 };
+<a name="l00262"></a>00262 
+<a name="l00263"></a>00263 
+<a name="l00264"></a>00264 <span class="preprocessor">#endif // KF_H</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span>
+<a name="l00266"></a>00266 
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classenorm__inherit__graph.md5
===================================================================
--- /doc/html/classenorm__inherit__graph.md5 (revision 23)
+++ /doc/html/classenorm__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-11dce2d22a9a02cd861d01ba8587e55e
+061248f424677ea931318b513f9bb052
Index: /doc/html/libPF_8h-source.html
===================================================================
--- /doc/html/libPF_8h-source.html (revision 28)
+++ /doc/html/libPF_8h-source.html (revision 32)
@@ -19,49 +19,77 @@
 <a name="l00015"></a>00015 <span class="preprocessor"></span>
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libBM.h"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "../stat/libEF.h"</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include "../math/libDC.h"</span>
 <a name="l00019"></a>00019 
 <a name="l00020"></a>00020 <span class="keyword">using namespace </span>itpp;
 <a name="l00021"></a>00021 
-<a name="l00022"></a>00022 <span class="keyword">enum</span> RESAMPLING_METHOD { MULTINOMIAL = 0, STRATIFIED = 1, SYSTEMATIC = 3 };
-<a name="l00023"></a>00023 
-<a name="l00029"></a><a class="code" href="classPF.html">00029</a> <span class="keyword">class </span><a class="code" href="classPF.html" title="A Particle Filter prototype.">PF</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> { 
-<a name="l00030"></a>00030 <span class="keyword">protected</span>:
-<a name="l00031"></a>00031         <span class="keywordtype">int</span> n; <span class="comment">//number of particles</span>
-<a name="l00032"></a>00032         vec w; <span class="comment">//particle weights</span>
-<a name="l00033"></a>00033         Uniform_RNG URNG; <span class="comment">//used for resampling</span>
-<a name="l00034"></a>00034         
-<a name="l00035"></a>00035 <span class="keyword">public</span>:
-<a name="l00037"></a>00037         ivec <a class="code" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19" title="Returns indexes of particles that should be resampled. The ordering MUST guarantee...">resample</a>(RESAMPLING_METHOD method = SYSTEMATIC);
-<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>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 
-<a name="l00049"></a><a class="code" href="classTrivialPF.html">00049</a> <span class="keyword">class </span><a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a> : <span class="keyword">public</span> <a class="code" href="classPF.html" title="A Particle Filter prototype.">PF</a> {
-<a name="l00050"></a>00050         Array&lt;vec&gt; ptcls;
-<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="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="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> 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 
-<a name="l00063"></a>00063 <span class="keyword">class </span>MPF : <span class="keyword">public</span> <a class="code" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data...">TrivialPF</a> {
-<a name="l00064"></a>00064         Array&lt;BM&gt; Bms;
-<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> bayes(vec &amp;dt);    
-<a name="l00068"></a>00068 };
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070 <span class="preprocessor">#endif // KF_H</span>
-<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 Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+<a name="l00027"></a><a class="code" href="classPF.html">00027</a> <span class="keyword">class </span><a class="code" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model...">PF</a> : <span class="keyword">public</span> <a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> {
+<a name="l00028"></a>00028 <span class="keyword">protected</span>:
+<a name="l00030"></a><a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">00030</a>         <span class="keywordtype">int</span> <a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280" title="number of particles;">n</a>;
+<a name="l00032"></a><a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">00032</a>         <a class="code" href="classeEmp.html" title="Weighted empirical density.">eEmp</a> <a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0" title="posterior density">ePdf</a>;
+<a name="l00034"></a><a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0">00034</a>         vec &amp;<a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a>;
+<a name="l00036"></a><a class="code" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">00036</a>         Array&lt;vec&gt; &amp;<a class="code" href="classPF.html#361743a0b5b89de1a29e91d1343b2565" title="pointer into eEmp ">samples</a>;
+<a name="l00038"></a><a class="code" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">00038</a>         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;<a class="code" href="classPF.html#d92ac103f88f8c21e197e90af5695a09" title="Parameter evolution model.">par</a>;
+<a name="l00040"></a><a class="code" href="classPF.html#dd0a687a4515333d6809147335854e77">00040</a>         <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;<a class="code" href="classPF.html#dd0a687a4515333d6809147335854e77" title="Observation model.">obs</a>;
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00042"></a>00042         <a class="code" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model...">PF</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;par0,  <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;obs0, <span class="keywordtype">int</span> <a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280" title="number of particles;">n</a> ) :<a class="code" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a>(rv0),
+<a name="l00043"></a>00043                         n ( 1 ),<a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0" title="posterior density">ePdf</a> ( rv0 ),<a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a> ( <a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0" title="posterior density">ePdf</a>._w() ),<a class="code" href="classPF.html#361743a0b5b89de1a29e91d1343b2565" title="pointer into eEmp ">samples</a> ( <a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0" title="posterior density">ePdf</a>._samples() ),
+<a name="l00044"></a>00044                         <a class="code" href="classPF.html#d92ac103f88f8c21e197e90af5695a09" title="Parameter evolution model.">par</a> ( par0 ), <a class="code" href="classPF.html#dd0a687a4515333d6809147335854e77" title="Observation model.">obs</a> ( obs0 ) {};
+<a name="l00045"></a>00045 <span class="comment">//      void set_parametres(mpdf &amp;par0, mpdf &amp;obs0) {par=&amp;par0;obs=&amp;obs0;};</span>
+<a name="l00046"></a>00046         <span class="keywordtype">void</span> set_est ( <span class="keyword">const</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>* &amp;epdf0 );
+<a name="l00047"></a>00047         <span class="comment">//TODO remove or implement bayes()!</span>
+<a name="l00048"></a>00048         <span class="keywordtype">void</span> <a class="code" href="classPF.html#64f636bbd63bea9efd778214e6b631d3" title="Incremental Bayes rule.">bayes</a> ( <span class="keyword">const</span> vec &amp;dt );
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050 
+<a name="l00057"></a>00057 <span class="keyword">template</span>&lt;<span class="keyword">class</span> BM_T&gt;
+<a name="l00058"></a><a class="code" href="classMPF.html">00058</a> <span class="keyword">class </span><a class="code" href="classMPF.html" title="Marginalized Particle filter.">MPF</a> : <span class="keyword">public</span> <a class="code" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model...">PF</a> {
+<a name="l00059"></a>00059         BM_T* Bms[1000];
+<a name="l00060"></a>00060         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
+<a name="l00061"></a>00061         <a class="code" href="classemix.html" title="Weighted mixture of epdfs with external owned components.">emix</a> est;
+<a name="l00062"></a>00062 <span class="keyword">public</span>:
+<a name="l00064"></a><a class="code" href="classMPF.html#827a66609cf69a832535d52233f76fa0">00064</a>         <a class="code" href="classMPF.html#827a66609cf69a832535d52233f76fa0" title="Default constructor.">MPF</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;par0, <a class="code" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies.">mpdf</a> &amp;obs0, <span class="keywordtype">int</span> <a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280" title="number of particles;">n</a>, <span class="keyword">const</span> BM_T &amp;BMcond0 ) :
+<a name="l00065"></a>00065                         <a class="code" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model...">PF</a> ( rv0,par0,obs0,n ), est(rv0,<a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a>) {
+<a name="l00066"></a>00066                 <span class="comment">//</span>
+<a name="l00067"></a>00067                 <span class="keywordflow">if</span> (n&gt;1000) it_error(<span class="stringliteral">"increase 1000 here!"</span>);
+<a name="l00068"></a>00068                 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i=0;i&lt;n;i++ ) {
+<a name="l00069"></a>00069                         Bms[i] = <span class="keyword">new</span> BM_T(BMcond0); <span class="comment">//copy constructor</span>
+<a name="l00070"></a>00070                         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>&amp; pom=Bms[i]-&gt;_epdf();
+<a name="l00071"></a>00071                         est.<a class="code" href="classemix.html#599366d678152cfb0703da697b6b1de1">set_parameters</a>(i,&amp;pom);
+<a name="l00072"></a>00072                 }
+<a name="l00073"></a>00073         };
+<a name="l00074"></a>00074         ~<a class="code" href="classMPF.html" title="Marginalized Particle filter.">MPF</a>() {
+<a name="l00075"></a>00075         }
+<a name="l00076"></a>00076         <span class="keywordtype">void</span> <a class="code" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623" title="Incremental Bayes rule.">bayes</a> (<span class="keyword">const</span> vec &amp;dt );
+<a name="l00077"></a><a class="code" href="classMPF.html#549e08268a46a250f21a33d06f19276a">00077</a>         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>&amp; <a class="code" href="classMPF.html#549e08268a46a250f21a33d06f19276a" title="Returns a pointer to the epdf representing posterior density on parameters. Use with...">_epdf</a>(){<span class="keywordflow">return</span> est;}
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079 
+<a name="l00080"></a>00080 <span class="keyword">template</span>&lt;<span class="keyword">class</span> BM_T&gt;
+<a name="l00081"></a><a class="code" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">00081</a> <span class="keywordtype">void</span> <a class="code" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623" title="Incremental Bayes rule.">MPF&lt;BM_T&gt;::bayes</a>( <span class="keyword">const</span> vec &amp;dt) {
+<a name="l00082"></a>00082         <span class="keywordtype">int</span> i;
+<a name="l00083"></a>00083         vec lls(<a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280" title="number of particles;">n</a>);
+<a name="l00084"></a>00084         ivec ind;
+<a name="l00085"></a>00085         <span class="keywordtype">double</span> mlls=-std::numeric_limits&lt;double&gt;::infinity(), sum=0.0;
+<a name="l00086"></a>00086         
+<a name="l00087"></a>00087         <span class="keywordflow">for</span> ( i=0;i&lt;<a class="code" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280" title="number of particles;">n</a>;i++ ) {
+<a name="l00088"></a>00088         <span class="comment">//generate new samples from paramater evolution model;</span>
+<a name="l00089"></a>00089                 <a class="code" href="classPF.html#361743a0b5b89de1a29e91d1343b2565" title="pointer into eEmp ">samples</a>(i) = <a class="code" href="classPF.html#d92ac103f88f8c21e197e90af5695a09" title="Parameter evolution model.">par</a>.<a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41" title="Returns the required moment of the epdf.">samplecond</a>( <a class="code" href="classPF.html#361743a0b5b89de1a29e91d1343b2565" title="pointer into eEmp ">samples</a>( i ), lls(i) );
+<a name="l00090"></a>00090                 <span class="keywordflow">if</span> (lls(i)&gt;mlls) mlls=lls(i); <span class="comment">//find maximum</span>
+<a name="l00091"></a>00091         }
+<a name="l00092"></a>00092         <span class="comment">// compute weights </span>
+<a name="l00093"></a>00093         <span class="keywordflow">for</span> ( i=0;i&lt;n;i++ ) {
+<a name="l00094"></a>00094                 <a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a>(i) *= exp( lls(i) - mlls); <span class="comment">// multiply w by likelihood</span>
+<a name="l00095"></a>00095         }
+<a name="l00096"></a>00096         <span class="comment">//renormalize</span>
+<a name="l00097"></a>00097         <span class="keywordflow">for</span> ( i=0;i&lt;n;i++ ){sum+=<a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a>( i );};
+<a name="l00098"></a>00098                 <a class="code" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0" title="pointer into eEmp ">w</a>( i ) /=sum; <span class="comment">//?</span>
+<a name="l00099"></a>00099         
+<a name="l00100"></a>00100         ind = <a class="code" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0" title="posterior density">ePdf</a>.<a class="code" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59" title="Function performs resampling, i.e. removal of low-weight samples and duplication...">resample</a>();
+<a name="l00101"></a>00101         
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // KF_H</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00106"></a>00106 
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classbilinfn-members.html
===================================================================
--- /doc/html/classbilinfn-members.html (revision 28)
+++ /doc/html/classbilinfn-members.html (revision 32)
@@ -37,5 +37,6 @@
   <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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a>()</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 Thu Feb 28 16:54: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/classeEmp__coll__graph.map
===================================================================
--- /doc/html/classeEmp__coll__graph.map (revision 32)
+++ /doc/html/classeEmp__coll__graph.map (revision 32)
@@ -0,0 +1,4 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="9,103,60,129">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="16,7,53,33">
+<area shape="rect" title="rv" alt="" coords="31,31,39,39">
+<area shape="rect" title="rv" alt="" coords="31,99,39,107">
Index: /doc/html/inherit__graph__7.map
===================================================================
--- /doc/html/inherit__graph__7.map (revision 23)
+++ /doc/html/inherit__graph__7.map (revision 32)
@@ -1,2 +1,1 @@
-<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">
+<area shape="rect" href="$classmlnorm.html" title="Normal distributed linear function with linear function of mean value;." alt="" coords="7,5,135,32">
Index: /doc/html/classBM__coll__graph.map
===================================================================
--- /doc/html/classBM__coll__graph.map (revision 32)
+++ /doc/html/classBM__coll__graph.map (revision 32)
@@ -0,0 +1,3 @@
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="8,7,45,33">
+<area shape="rect" title="rv" alt="" coords="23,31,31,39">
+<area shape="rect" title="rv" alt="" coords="23,99,31,107">
Index: /doc/html/itpp__ext_8h-source.html
===================================================================
--- /doc/html/itpp__ext_8h-source.html (revision 28)
+++ /doc/html/itpp__ext_8h-source.html (revision 32)
@@ -27,8 +27,32 @@
 <a name="l00012"></a>00012 <span class="preprocessor">#include &lt;itpp/itbase.h&gt;</span>
 <a name="l00013"></a>00013 
-<a name="l00014"></a>00014 <span class="keyword">namespace </span>itpp {
-<a name="l00015"></a>00015         Array&lt;int&gt; to_Arr(<span class="keyword">const</span> ivec &amp;indices);
-<a name="l00016"></a>00016 }
-</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+<a name="l00014"></a>00014 <span class="keyword">using</span> std::cout;
+<a name="l00015"></a>00015 <span class="keyword">using</span> std::endl;
+<a name="l00016"></a>00016 
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>itpp {
+<a name="l00018"></a>00018         Array&lt;int&gt; to_Arr(<span class="keyword">const</span> ivec &amp;indices);
+<a name="l00019"></a>00019         
+<a name="l00024"></a><a class="code" href="classitpp_1_1Gamma__RNG.html">00024</a>   <span class="keyword">class </span><a class="code" href="classitpp_1_1Gamma__RNG.html" title="Gamma distribution.">Gamma_RNG</a> {
+<a name="l00025"></a>00025   <span class="keyword">public</span>:
+<a name="l00027"></a>00027     <a class="code" href="classitpp_1_1Gamma__RNG.html#e132860f825f427d63652edd02c25b54" title="constructor. Set lambda.">Gamma_RNG</a>(<span class="keywordtype">double</span> a=1.0, <span class="keywordtype">double</span> b=1.0);
+<a name="l00029"></a><a class="code" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe">00029</a>     <span class="keywordtype">void</span> <a class="code" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe" title="Set lambda.">setup</a>(<span class="keywordtype">double</span> a0, <span class="keywordtype">double</span> b0) { alpha=a0; beta=b0;}
+<a name="l00031"></a>00031     <span class="keywordtype">double</span> <a class="code" href="classitpp_1_1Gamma__RNG.html#8e666953249038f262cece2d3ed952d6" title="get lambda">get_setup</a>() <span class="keyword">const</span>;
+<a name="l00033"></a><a class="code" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e">00033</a>     <span class="keywordtype">double</span> <a class="code" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e" title="Get one sample.">operator()</a>() { <span class="keywordflow">return</span> sample(); }
+<a name="l00035"></a>00035     vec <a class="code" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e" title="Get one sample.">operator()</a>(<span class="keywordtype">int</span> n);
+<a name="l00037"></a>00037     mat <a class="code" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e" title="Get one sample.">operator()</a>(<span class="keywordtype">int</span> h, <span class="keywordtype">int</span> w);
+<a name="l00038"></a>00038   <span class="keyword">protected</span>:
+<a name="l00039"></a>00039   <span class="keyword">private</span>:
+<a name="l00041"></a>00041     <span class="keywordtype">double</span> sample();
+<a name="l00043"></a>00043     <span class="keywordtype">double</span> alpha;
+<a name="l00045"></a>00045     <span class="keywordtype">double</span> beta;
+<a name="l00047"></a>00047     Random_Generator RNG;
+<a name="l00048"></a>00048     Normal_RNG NRNG;
+<a name="l00050"></a>00050     <span class="keyword">inline</span> <span class="keywordtype">double</span> exp_rand(){<span class="keywordflow">return</span> -std::log(RNG.random_01());}
+<a name="l00051"></a>00051     <span class="keyword">inline</span> <span class="keywordtype">double</span> unif_rand(){<span class="keywordflow">return</span> RNG.random_01();}
+<a name="l00052"></a>00052     <span class="keyword">inline</span> <span class="keywordtype">double</span> norm_rand(){<span class="keywordflow">return</span> NRNG.sample();}
+<a name="l00053"></a>00053 
+<a name="l00054"></a>00054   };
+<a name="l00055"></a>00055 }
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/libPF_8h.html
===================================================================
--- /doc/html/libPF_8h.html (revision 28)
+++ /doc/html/libPF_8h.html (revision 32)
@@ -17,5 +17,5 @@
 <p>
 <code>#include &lt;itpp/itbase.h&gt;</code><br>
-<code>#include &quot;<a class="el" href="libBM_8h-source.html">../stat/libBM.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="libEF_8h-source.html">../stat/libEF.h</a>&quot;</code><br>
 <code>#include &quot;<a class="el" href="libDC_8h-source.html">../math/libDC.h</a>&quot;</code><br>
 
@@ -26,5 +26,5 @@
 <p><center><img src="libPF_8h__incl.png" border="0" usemap="#work/mixpp/bdm/estim/libPF.h_map" alt=""></center>
 <map name="work/mixpp/bdm/estim/libPF.h_map">
-<area shape="rect" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="63,161,161,188"><area shape="rect" href="libBM_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="57,84,167,111"><area shape="rect" href="libDC_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="191,84,308,111"></map>
+<area shape="rect" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="159,239,257,265"><area shape="rect" href="libEF_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="157,84,259,111"><area shape="rect" href="libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="53,161,171,188"><area shape="rect" href="libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="245,161,312,188"><area shape="rect" href="itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="336,161,432,188"></map>
 </div>
 
@@ -35,16 +35,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html">PF</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A Particle Filter prototype.  <a href="classPF.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTrivialPF.html">TrivialPF</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trivial particle filter with proposal density equal to parameter evolution model.  <a href="classPF.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trivial particle filter with proposal density that is not conditioned on the data.  <a href="classTrivialPF.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>MPF</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>RESAMPLING_METHOD</b> { <b>MULTINOMIAL</b> =  0, 
-<b>STRATIFIED</b> =  1, 
-<b>SYSTEMATIC</b> =  3
- }</td></tr>
-
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Marginalized Particle filter.  <a href="classMPF.html#_details">More...</a><br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -53,5 +45,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 Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classMemDS.html
===================================================================
--- /doc/html/classMemDS.html (revision 28)
+++ /doc/html/classMemDS.html (revision 32)
@@ -121,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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 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/classemix__inherit__graph.map
===================================================================
--- /doc/html/classemix__inherit__graph.map (revision 32)
+++ /doc/html/classemix__inherit__graph.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="7,7,57,33">
Index: /doc/html/classRV.html
===================================================================
--- /doc/html/classRV.html (revision 28)
+++ /doc/html/classRV.html (revision 32)
@@ -51,6 +51,6 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find indexes of another rv in self. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f068a86abb5a6e46fcf76c939d2ed2ec"></a><!-- doxytag: member="RV::add" ref="f068a86abb5a6e46fcf76c939d2ed2ec" args="(RV rv2)" -->
-<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#f068a86abb5a6e46fcf76c939d2ed2ec">add</a> (<a class="el" href="classRV.html">RV</a> rv2)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18fa114b92017f7f80301a4f8d3a6382"></a><!-- doxytag: member="RV::add" ref="18fa114b92017f7f80301a4f8d3a6382" args="(const RV &amp;rv2)" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#18fa114b92017f7f80301a4f8d3a6382">add</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv2)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add (concat) another variable to the current one. <br></td></tr>
@@ -75,4 +75,28 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generate a list of indeces, i.e. which <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cae53d262be90a775a99a198e17fa58"></a><!-- doxytag: member="RV::size" ref="0cae53d262be90a775a99a198e17fa58" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#0cae53d262be90a775a99a198e17fa58">size</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size = sum of sizes <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d7b36e2bbccf880c8fcf1e8cc43c1a9"></a><!-- doxytag: member="RV::len" ref="0d7b36e2bbccf880c8fcf1e8cc43c1a9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9">len</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">len = number of individual rvs <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bd7165140f4b880a7f344bbb1c433f9"></a><!-- doxytag: member="RV::ids" ref="1bd7165140f4b880a7f344bbb1c433f9" args="" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><b>ids</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c878aab13f34b420e1eb5b485563682b"></a><!-- doxytag: member="RV::sizes" ref="c878aab13f34b420e1eb5b485563682b" args="" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><b>sizes</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="646e530c47a2dd38254b778d9f11ac89"></a><!-- doxytag: member="RV::times" ref="646e530c47a2dd38254b778d9f11ac89" args="" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><b>times</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2999743deec9b4cdb7ce51747bc53319"></a><!-- doxytag: member="RV::obs" ref="2999743deec9b4cdb7ce51747bc53319" args="" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><b>obs</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df5d0030b277a1db2f1fd5fb79152acb"></a><!-- doxytag: member="RV::names" ref="df5d0030b277a1db2f1fd5fb79152acb" args="" -->
+Array&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>names</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="cad6f15535d10437f6690cb4492176a8"></a><!-- doxytag: member="RV::operator&lt;&lt;" ref="cad6f15535d10437f6690cb4492176a8" args="(std::ostream &amp;os, const RV &amp;rv)" -->
@@ -86,5 +110,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 Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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/globals_vars.html
===================================================================
--- /doc/html/globals_vars.html (revision 32)
+++ /doc/html/globals_vars.html (revision 32)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><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>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>UniRNG
+: <a class="el" href="libEF_8h.html#2ae7dcdfebede774dd1b1f16cad10dd9">libEF.h</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/codingrules.html
===================================================================
--- /doc/html/codingrules.html (revision 32)
+++ /doc/html/codingrules.html (revision 32)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Coding Rules (Mostly inherited from IT++)</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<h1><a class="anchor" name="codingrules">Coding Rules (Mostly inherited from IT++)</a></h1>In the following sections we describe the naming conventions which are used for files, classes, structures, local variables, and global variables.<h2><a class="anchor" name="cr_variables">
+Default Naming Rules for Variables</a></h2>
+Variables are named using lower-case letters and words are separated using under-score. Abbreviations, when used in variable names, are also written with lower-case letters. Examples:<p>
+<ul>
+<li>
+<code>`fft_size'</code>  </li>
+<li>
+<code>`nrof_paths'</code>  </li>
+<li>
+<code>`my_variable_name'</code>  </li>
+</ul>
+<p>
+Some variable names or parts of variable names are commonly used in several different functions and files to denote the same thing. For instance the following common names and prefixes should be used:<p>
+<ul>
+<li>
+<code>`rows'</code> - number of rows in a matrix  </li>
+<li>
+<code>`cols'</code> - number of columns in a matrix  </li>
+<li>
+<code>`nrof_'</code> - number of ...  </li>
+</ul>
+<h2><a class="anchor" name="cr_files">
+Default Naming Rules for Files</a></h2>
+Files are named using lower-case letters and words are separated using under-score. Abbreviations, when used in file names, are also written with lower-case letters.<p>
+Source files are named using <code>`.cpp'</code> suffix, whereas header files end with <code>`.h'</code> extension. Examples:<p>
+<ul>
+<li>
+<code>`my_file.h'</code>  </li>
+<li>
+<code>`my_file.cpp'</code>  </li>
+</ul>
+<h2><a class="anchor" name="cr_functions">
+Default Naming Rules for Functions</a></h2>
+Function names are named using lower-case letters and words are separated using under-score. Abbreviations, when used in function names, are also written with lower-case letters. This rule applies both to stand-alone functions as well as to member functions of classes. Example:<p>
+<ul>
+<li>
+<code>int my_function_name(int a, int b)</code>  </li>
+</ul>
+<h2><a class="anchor" name="cr_specialfunctions">
+Convention for sensitive functions</a></h2>
+For efficiency, some functions may return pointers to internal variables. Such functionality is indicated by underscore as the first letter in the the name.<p>
+<ul>
+<li>
+<code>mat* _internal_matrix()</code>  </li>
+</ul>
+<h2><a class="anchor" name="cr_classes">
+Default Naming Rules for Classes and Structures</a></h2>
+Each new word in a class or structure name should always start with a capital letter and the words should be separated with an under-score. Abbreviations are written with capital letters. Examples:<p>
+<ul>
+<li>
+<code>`My_Class_Name'</code>  </li>
+<li>
+<code>`My_Struct_Name'</code>  </li>
+<li>
+<code>`OFDM'</code>  </li>
+</ul>
+<h2><a class="anchor" name="cr_classes_functionality">
+Default Functionality of Classes</a></h2>
+All classes that are configured by input parameters should include:<p>
+<ul>
+<li>
+default empty constructor  </li>
+<li>
+one or more additional constructor(s) that takes input parameters and initializes the class instance  </li>
+<li>
+setup function, preferably named <code>`setup'</code> or <code>`set_parameters'</code>  </li>
+</ul>
+<p>
+Explicit destructor functions are not required, unless they are needed. It shall not be possible to use any of the other member functions unless the class has been properly initiated with the input parameters. <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classepdf__inherit__graph.map
===================================================================
--- /doc/html/classepdf__inherit__graph.map (revision 23)
+++ /doc/html/classepdf__inherit__graph.map (revision 32)
@@ -1,2 +1,9 @@
-<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111">
-<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="147,87,192,113">
+<area shape="rect" href="$classeEmp.html" title="Weighted empirical density." alt="" coords="216,87,275,113">
+<area shape="rect" href="$classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="299,87,352,113">
+<area shape="rect" href="$classeuni.html" title="Uniform distributed density on a rectangular support." alt="" coords="376,87,424,113">
+<area shape="rect" href="$classegamma.html" title="Gamma posterior density." alt="" coords="5,167,85,193">
+<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="109,167,229,193">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="155,263,285,289">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="167,191,175,199">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="199,259,207,267">
Index: /doc/html/classeEmp__coll__graph.md5
===================================================================
--- /doc/html/classeEmp__coll__graph.md5 (revision 32)
+++ /doc/html/classeEmp__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+cc752072d4b6558e4c91247619fcd3ef
Index: /doc/html/inherit__graph__7.md5
===================================================================
--- /doc/html/inherit__graph__7.md5 (revision 23)
+++ /doc/html/inherit__graph__7.md5 (revision 32)
@@ -1,1 +1,1 @@
-62e586a60ab5d6ec2e62c8d35cc907c5
+6a326c49441ed1311f9b7f95165a796d
Index: /doc/html/classEKF.html
===================================================================
--- /doc/html/classEKF.html (revision 28)
+++ /doc/html/classEKF.html (revision 32)
@@ -21,5 +21,5 @@
   </ul>
 </div>
-<h1>EKF&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="EKF" --><!-- doxytag: inherits="Kalman&lt; fsqmat &gt;" -->Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter.  
+<h1>EKF&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="EKF" --><!-- doxytag: inherits="Kalman&lt; ldmat &gt;" -->Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter.  
 <a href="#_details">More...</a>
 <p>
@@ -31,5 +31,5 @@
 <p><center><img src="classEKF__inherit__graph.png" border="0" usemap="#EKF_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center>
 <map name="EKF_3_01sq__T_01_4__inherit__map">
-<area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="5,183,152,209"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="69,7,112,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="95,87,223,113"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="143,111,151,119"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="85,179,93,187"></map>
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="5,183,141,209"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="64,7,107,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="89,87,217,113"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="137,111,145,119"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="80,179,88,187"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -38,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="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>
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="300,636,436,663"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="339,231,381,257"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="201,412,329,439"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="344,7,381,33"><area shape="rect" title="rvu\nrvy" alt="" coords="372,31,380,39"><area shape="rect" title="rvu\nrvy" alt="" coords="375,632,383,640"><area shape="rect" title="rv" alt="" coords="359,31,367,39"><area shape="rect" title="rv" alt="" coords="356,227,364,235"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="177,119,228,145"><area shape="rect" title="rv" alt="" coords="340,21,348,29"><area shape="rect" title="rv" alt="" coords="208,115,216,123"><area shape="rect" title="rvu\nrvy" alt="" coords="356,31,364,39"><area shape="rect" title="rvu\nrvy" alt="" coords="268,408,276,416"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="456,119,523,145"><area shape="rect" title="rvu\nrvx" alt="" coords="379,24,387,32"><area shape="rect" title="rvu\nrvx" alt="" coords="477,115,485,123"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="85,524,216,551"><area shape="rect" title="est\nfy" alt="" coords="157,548,165,556"><area shape="rect" title="est\nfy" alt="" coords="296,635,304,643"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="140,231,185,257"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,412,125,439"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="60,436,68,444"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="105,520,113,528"><area shape="rect" title="_iR\nR" alt="" coords="225,255,233,263"><area shape="rect" title="_iR\nR" alt="" coords="93,408,101,416"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="235,255,243,263"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="259,408,267,416"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="261,436,269,444"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="347,632,355,640"><area shape="rect" title="pfxu\nphxu" alt="" coords="484,143,492,151"><area shape="rect" title="pfxu\nphxu" alt="" coords="451,712,459,720"><area shape="rect" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="484,7,524,33"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -45,41 +45,38 @@
 <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="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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea4f3254cacf0a92d2a820b1201d049e"></a><!-- doxytag: member="EKF::EKF" ref="ea4f3254cacf0a92d2a820b1201d049e" args="(RV rvx, RV rvy, RV rvu)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">EKF</a> (<a class="el" href="classRV.html">RV</a> rvx, <a class="el" href="classRV.html">RV</a> rvy, <a class="el" href="classRV.html">RV</a> rvu)</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 <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28d058ae4d24d992d2f055419a06ee66"></a><!-- doxytag: member="EKF::set_parameters" ref="28d058ae4d24d992d2f055419a06ee66" args="(diffbifn *pfxu, diffbifn *phxu, const sq_T Q0, const sq_T R0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (<a class="el" href="classdiffbifn.html">diffbifn</a> *pfxu, <a class="el" href="classdiffbifn.html">diffbifn</a> *phxu, const sq_T Q0, const sq_T R0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c79c62c9b3e0b56b3aaa1b6f1d9a7af7"></a><!-- doxytag: member="EKF::bayes" ref="c79c62c9b3e0b56b3aaa1b6f1d9a7af7" args="(const vec &amp;dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">bayes</a> (const vec &amp;dt)</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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="239b28a0380946f5749b2f8d2807f93a"></a><!-- doxytag: member="EKF::set_parameters" ref="239b28a0380946f5749b2f8d2807f93a" args="(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">set_parameters</a> (const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set parameters with check of relevance. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80bcf29466d9a9dd2b8f74699807d0c0"></a><!-- doxytag: member="EKF::set_est" ref="80bcf29466d9a9dd2b8f74699807d0c0" args="(const vec &amp;mu0, const ldmat &amp;P0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a> (const vec &amp;mu0, const ldmat &amp;P0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set estimate values, used e.g. in initialization. <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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a213c57aef55b2645e550bed81cfc0d4"></a><!-- doxytag: member="EKF::_epdf" ref="a213c57aef55b2645e550bed81cfc0d4" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_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 colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7501230c2fafa3655887d2da23b3184c"></a><!-- doxytag: member="EKF::rvy" ref="7501230c2fafa3655887d2da23b3184c" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvy</b></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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44a16ffd5ac1e6e39bae34fea9e1e498"></a><!-- doxytag: member="EKF::rvu" ref="44a16ffd5ac1e6e39bae34fea9e1e498" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvu</b></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>
@@ -104,25 +101,50 @@
 
 <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>
+ldmat&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>
+ldmat&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="5568c74bac67ae6d3b1061dba60c9424"></a><!-- doxytag: member="EKF::est" ref="5568c74bac67ae6d3b1061dba60c9424" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density on $x_t$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e580ab06483952bd03f2e651763e184f"></a><!-- doxytag: member="EKF::fy" ref="e580ab06483952bd03f2e651763e184f" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">preditive density on $y_t$ <br></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="5188eb0329f8561f0b357af329769bf8"></a><!-- doxytag: member="EKF::_yp" ref="5188eb0329f8561f0b357af329769bf8" 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="e17dd745daa8a958035a334a56fa4674"></a><!-- doxytag: member="EKF::_Ry" ref="e17dd745daa8a958035a334a56fa4674" args="" -->
+ldmat *&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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbbdf31365f5a5674099599200ea193b"></a><!-- doxytag: member="EKF::_iRy" ref="fbbdf31365f5a5674099599200ea193b" args="" -->
+ldmat *&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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1f669b5b3421a070cc75d77b55ba734"></a><!-- doxytag: member="EKF::_mu" ref="d1f669b5b3421a070cc75d77b55ba734" args="" -->
+vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mu</b></td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3388218567128a797e69b109138271d"></a><!-- doxytag: member="EKF::_P" ref="b3388218567128a797e69b109138271d" args="" -->
+ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_P</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8bb7f870d69993493ba67ce40e7c3e9"></a><!-- doxytag: member="EKF::_iP" ref="b8bb7f870d69993493ba67ce40e7c3e9" args="" -->
+ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iP</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="EKF::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <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>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -132,35 +154,7 @@
 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><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>
+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>
 <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 Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:47 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__coll__graph.md5
===================================================================
--- /doc/html/classBM__coll__graph.md5 (revision 32)
+++ /doc/html/classBM__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+ac463ca14610ad996628c1ab6a01deb9
Index: /doc/html/files.html
===================================================================
--- /doc/html/files.html (revision 28)
+++ /doc/html/files.html (revision 32)
@@ -14,4 +14,10 @@
   </ul>
 </div>
+<div class="tabs">
+  <ul>
+    <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+  </ul>
+</div>
 <h1>mixpp File List</h1>Here is a list of all documented files with brief descriptions:<table>
   <tr><td class="indexkey">work/mixpp/bdm/<b>itpp_ext.h</b> <a href="itpp__ext_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -24,5 +30,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 Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 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/classBMcond__inherit__graph.map
===================================================================
--- /doc/html/classBMcond__inherit__graph.map (revision 32)
+++ /doc/html/classBMcond__inherit__graph.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="5,84,93,111">
Index: /doc/html/functions_vars.html
===================================================================
--- /doc/html/functions_vars.html (revision 28)
+++ /doc/html/functions_vars.html (revision 32)
@@ -32,20 +32,63 @@
 <p>
 <ul>
+<li>_iR
+: <a class="el" href="classenorm.html#82f39ac49911d7097f4bfe385deba355">enorm&lt; sq_T &gt;</a>
+<li>cached
+: <a class="el" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1">enorm&lt; sq_T &gt;</a>
+<li>dim
+: <a class="el" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e">enorm&lt; sq_T &gt;</a>
+<li>distance
+: <a class="el" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4">euni</a>
 <li>Drv
 : <a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">DS</a>
+<li>ep
+: <a class="el" href="classmpdf.html#7aa894208a32f3487827df6d5054424c">mpdf</a>
+<li>ePdf
+: <a class="el" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">PF</a>
+<li>est
+: <a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">Kalman&lt; sq_T &gt;</a>
 <li>evalll
 : <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">BM</a>
+<li>fy
+: <a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">Kalman&lt; sq_T &gt;</a>
+<li>high
+: <a class="el" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231">euni</a>
+<li>len
+: <a class="el" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9">RV</a>
 <li>ll
 : <a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">BM</a>
+<li>low
+: <a class="el" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1">euni</a>
 <li>mu
 : <a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">KalmanFull</a>
-, <a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">enorm&lt; sq_T &gt;</a>
+<li>n
+: <a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">PF</a>
+, <a class="el" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd">eEmp</a>
+<li>nk
+: <a class="el" href="classeuni.html#63105490e946e43372d6187ad1bafdda">euni</a>
+<li>obs
+: <a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">PF</a>
 <li>P
 : <a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">KalmanFull</a>
-, <a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">Kalman&lt; sq_T &gt;</a>
+<li>par
+: <a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">PF</a>
+<li>R
+: <a class="el" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">enorm&lt; sq_T &gt;</a>
+<li>rv
+: <a class="el" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb">mpdf</a>
+, <a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">BM</a>
+<li>rvc
+: <a class="el" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab">mpdf</a>
+<li>samples
+: <a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">PF</a>
+<li>size
+: <a class="el" href="classRV.html#0cae53d262be90a775a99a198e17fa58">RV</a>
 <li>Urv
 : <a class="el" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">DS</a>
+<li>w
+: <a class="el" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0">PF</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classemix__inherit__graph.md5
===================================================================
--- /doc/html/classemix__inherit__graph.md5 (revision 32)
+++ /doc/html/classemix__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+2cb1b6f2f4f5690f9051813c5e8e56e9
Index: /doc/html/libDC_8h-source.html
===================================================================
--- /doc/html/libDC_8h-source.html (revision 28)
+++ /doc/html/libDC_8h-source.html (revision 32)
@@ -29,103 +29,125 @@
 <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="l00044"></a>00044                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa" 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 ) =0;
+<a name="l00045"></a>00045                 
+<a name="l00049"></a>00049                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325" title="Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C&amp;#39;*V*C$...">mult_sym_t</a> ( <span class="keyword">const</span> mat &amp;C ) =0;
+<a name="l00050"></a>00050 
+<a name="l00051"></a>00051 
+<a name="l00056"></a>00056                 <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45" title="Logarithm of a determinant.">logdet</a>() <span class="keyword">const</span> =0;
+<a name="l00057"></a>00057 
+<a name="l00063"></a>00063                 <span class="keyword">virtual</span> vec <a class="code" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> (<span class="keyword">const</span> vec &amp;v ) =0;
+<a name="l00064"></a>00064 
+<a name="l00069"></a>00069                 <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a> (<span class="keyword">const</span> vec &amp;v ) =0;
+<a name="l00070"></a>00070 
+<a name="l00071"></a>00071 <span class="comment">//      //! easy version of the</span>
+<a name="l00072"></a>00072 <span class="comment">//      sqmat inv();</span>
+<a name="l00073"></a>00073 
+<a name="l00075"></a>00075                 <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="l00076"></a>00076 
+<a name="l00078"></a><a class="code" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">00078</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="l00079"></a>00079 
+<a name="l00081"></a><a class="code" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">00081</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="l00082"></a>00082 
-<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="l00084"></a><a class="code" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">00084</a>                 <span class="keyword">virtual</span> <a class="code" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656" title="Destructor for future use;.">~sqmat</a>(){};
+<a name="l00085"></a>00085         <span class="keyword">protected</span>:
+<a name="l00086"></a>00086                 <span class="keywordtype">int</span> dim;
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088 
+<a name="l00089"></a>00089 
+<a name="l00094"></a><a class="code" href="classfsqmat.html">00094</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="l00095"></a>00095 {
+<a name="l00096"></a>00096         <span class="keyword">protected</span>:
+<a name="l00097"></a>00097                 mat M;
+<a name="l00098"></a>00098         <span class="keyword">public</span>:
+<a name="l00099"></a>00099                 <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="l00100"></a>00100                 mat <a class="code" href="classfsqmat.html#cedf4f048309056f4262c930914dfda8" title="Conversion to full matrix.">to_mat</a>() ;
+<a name="l00101"></a>00101                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e" 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 name="l00102"></a>00102                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89" title="Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C&amp;#39;*V*C$...">mult_sym_t</a> ( <span class="keyword">const</span> mat &amp;C);
+<a name="l00103"></a>00103                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e" 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);
+<a name="l00104"></a>00104                 <span class="keywordtype">void</span> <a class="code" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89" title="Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C&amp;#39;*V*C$...">mult_sym_t</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);
+<a name="l00105"></a>00105                 <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="l00106"></a>00106 
+<a name="l00108"></a>00108                 <a class="code" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940" title="Default initialization.">fsqmat</a>(); <span class="comment">// mat will be initialized OK</span>
+<a name="l00110"></a>00110 <span class="comment"></span>                <a class="code" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940" title="Default initialization.">fsqmat</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> dim0); <span class="comment">// mat will be initialized OK</span>
+<a name="l00112"></a>00112 <span class="comment"></span>                <a class="code" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940" title="Default initialization.">fsqmat</a> ( <span class="keyword">const</span> mat &amp;M );
+<a name="l00113"></a>00113 
+<a name="l00115"></a><a class="code" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e">00115</a>                 <span class="keyword">virtual</span> <a class="code" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e" title="Destructor for future use;.">~fsqmat</a>(){};
+<a name="l00116"></a>00116 
+<a name="l00117"></a>00117 
+<a name="l00123"></a>00123                 <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="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="l00125"></a><a class="code" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5">00125</a>                 <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5" title="Logarithm of a determinant.">logdet</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> log ( det ( M ) );};
+<a name="l00126"></a><a class="code" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad">00126</a>                 <span class="keywordtype">double</span> <a class="code" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a> (<span class="keyword">const</span>  vec &amp;v ) {<span class="keywordflow">return</span> ( v* ( M*v ) );};
+<a name="l00127"></a><a class="code" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">00127</a>                 vec <a class="code" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> (<span class="keyword">const</span> vec &amp;v ) {it_error ( <span class="stringliteral">"not implemented"</span> );<span class="keywordflow">return</span> v;};
+<a name="l00128"></a>00128 
+<a name="l00129"></a>00129                 <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="l00130"></a>00130                 <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="l00131"></a>00131                 <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="l00132"></a>00132 <span class="comment">//              fsqmat&amp; operator = ( const fsqmat &amp;A) {M=A.M; return *this;};</span>
+<a name="l00133"></a>00133 
+<a name="l00134"></a>00134                 <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <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;sq );
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 };
+<a name="l00137"></a>00137 
+<a name="l00138"></a>00138 <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="l00139"></a>00139 {
+<a name="l00140"></a>00140         <span class="keyword">public</span>:
+<a name="l00141"></a>00141 
+<a name="l00143"></a>00143                 ldmat ( <span class="keyword">const</span> mat &amp;L, <span class="keyword">const</span> vec &amp;D );
+<a name="l00145"></a>00145                 ldmat (<span class="keyword">const</span> mat &amp;V );
+<a name="l00147"></a>00147                 ldmat ( vec D0 );
+<a name="l00149"></a>00149                 ldmat ();
+<a name="l00151"></a>00151                 ldmat(<span class="keyword">const</span> <span class="keywordtype">int</span> dim0);
+<a name="l00152"></a>00152 
+<a name="l00154"></a>00154                 <span class="keyword">virtual</span> ~ldmat(){};
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156                 <span class="comment">// Reimplementation of compulsory operatios</span>
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158                 <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="l00159"></a>00159                 mat <a class="code" href="classsqmat.html#9a5b6fddfeb42339e1dc9b978a2590fc" title="Conversion to full matrix.">to_mat</a>();
+<a name="l00160"></a>00160                 <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa" 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 name="l00161"></a>00161                 <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325" title="Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C&amp;#39;*V*C$...">mult_sym_t</a> ( <span class="keyword">const</span> mat &amp;C);
+<a name="l00162"></a>00162                 <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="l00163"></a>00163                 <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45" title="Logarithm of a determinant.">logdet</a>() <span class="keyword">const</span>;
+<a name="l00164"></a>00164                 <span class="keywordtype">double</span> <a class="code" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce" title="Evaluates quadratic form $x= v&amp;#39;*V*v$;.">qform</a> (<span class="keyword">const</span> vec &amp;v );
+<a name="l00165"></a>00165 <span class="comment">//      sqmat&amp; operator -= ( const sqmat &amp; ld2 );</span>
+<a name="l00166"></a>00166                 <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="l00167"></a>00167                 <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>;
+<a name="l00168"></a>00168                 <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>;
+<a name="l00169"></a>00169                 vec <a class="code" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c" title="Multiplies square root of $V$ by vector $x$.">sqrt_mult</a> ( <span class="keyword">const</span> vec &amp;v );
 <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="l00176"></a>00176                 <span class="keyword">virtual</span> <span class="keywordtype">void</span> inv ( ldmat &amp;Inv );
+<a name="l00177"></a>00177 
+<a name="l00183"></a>00183                 <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa" 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);
 <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 name="l00190"></a>00190                 <span class="keywordtype">void</span> <a class="code" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325" title="Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C&amp;#39;*V*C$...">mult_sym_t</a> ( <span class="keyword">const</span> mat &amp;C, ldmat &amp;U);
+<a name="l00191"></a>00191 
+<a name="l00192"></a>00192 
+<a name="l00201"></a>00201                 <span class="keywordtype">void</span> ldform (<span class="keyword">const</span> mat &amp;A,<span class="keyword">const</span> vec &amp;D0 );
+<a name="l00202"></a>00202 
+<a name="l00204"></a>00204                 <span class="keywordtype">void</span> setD (<span class="keyword">const</span> vec &amp;nD){D=nD;}
+<a name="l00205"></a>00205                 <span class="keywordtype">void</span> setL (<span class="keyword">const</span> vec &amp;nL){L=nL;}
+<a name="l00206"></a>00206 
+<a name="l00207"></a>00207                 ldmat&amp; operator += ( <span class="keyword">const</span> ldmat &amp;ldA );
+<a name="l00208"></a>00208                 ldmat&amp; operator -= ( <span class="keyword">const</span> ldmat &amp;ldA );
+<a name="l00209"></a>00209                 ldmat&amp; operator *= ( <span class="keywordtype">double</span> x );
+<a name="l00210"></a>00210 
+<a name="l00211"></a>00211                 <span class="keyword">friend</span> std::ostream &amp;operator&lt;&lt; ( std::ostream &amp;os, <span class="keyword">const</span> ldmat &amp;sq );
+<a name="l00212"></a>00212 
+<a name="l00213"></a>00213 
+<a name="l00214"></a>00214         <span class="keyword">protected</span>:
+<a name="l00215"></a>00215                 vec D;
+<a name="l00216"></a>00216                 mat L;
+<a name="l00217"></a>00217 
+<a name="l00218"></a>00218 };
+<a name="l00219"></a>00219 
+<a name="l00221"></a>00221 
+<a name="l00222"></a>00222 <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="l00223"></a>00223 <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="l00224"></a>00224 <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="keyword"> const </span>{<span class="keywordflow">return</span> dim;}
+<a name="l00225"></a>00225 <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="keyword"> const </span>{<span class="keywordflow">return</span> dim;}
+<a name="l00226"></a>00226 
+<a name="l00227"></a>00227 <span class="preprocessor">#endif // DC_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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 28)
+++ /doc/html/graph_legend.html (revision 32)
@@ -76,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 Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 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 28)
+++ /doc/html/classfsqmat.html (revision 32)
@@ -51,9 +51,15 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion to full matrix. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">mult_sym</a> (const mat &amp;C, bool trans=false)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  <a href="#acc5d2d0a243f1de6d0106065f01f518"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccf5ad8fb038f82e9d2201c0606b65fa"></a><!-- doxytag: member="fsqmat::mult_sym" ref="ccf5ad8fb038f82e9d2201c0606b65fa" args="(const mat &amp;C, fsqmat &amp;U, bool trans=false)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><b>mult_sym</b> (const mat &amp;C, <a class="el" href="classfsqmat.html">fsqmat</a> &amp;U, bool trans=false)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e">mult_sym</a> (const mat &amp;C)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  <a href="#5530d2756b5d991de755e6121c9a452e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89">mult_sym_t</a> (const mat &amp;C)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$.  <a href="#92052a8adc2054b63e42d1373d145c89"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfea3618d426e2b8232f09aa0070266f"></a><!-- doxytag: member="fsqmat::mult_sym" ref="cfea3618d426e2b8232f09aa0070266f" args="(const mat &amp;C, fsqmat &amp;U)" -->
+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)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ca865c68989d22903efe97045cb6c9a"></a><!-- doxytag: member="fsqmat::mult_sym_t" ref="7ca865c68989d22903efe97045cb6c9a" args="(const mat &amp;C, fsqmat &amp;U)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>mult_sym_t</b> (const mat &amp;C, <a class="el" href="classfsqmat.html">fsqmat</a> &amp;U)</td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfa4c359483d2322f32d1d50050f8ac4"></a><!-- doxytag: member="fsqmat::clear" ref="cfa4c359483d2322f32d1d50050f8ac4" args="()" -->
@@ -61,22 +67,34 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79e3f73e0ccd663c7f7e08083d272940"></a><!-- doxytag: member="fsqmat::fsqmat" ref="79e3f73e0ccd663c7f7e08083d272940" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940">fsqmat</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default initialization. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40eae99305e7c7240fa95cfec125b06f"></a><!-- doxytag: member="fsqmat::fsqmat" ref="40eae99305e7c7240fa95cfec125b06f" args="(const int dim0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#40eae99305e7c7240fa95cfec125b06f">fsqmat</a> (const int dim0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default initialization with proper size. <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1929fbc9fe375f1d67f979d0d302336f"></a><!-- doxytag: member="fsqmat::fsqmat" ref="1929fbc9fe375f1d67f979d0d302336f" args="(const mat &amp;M)" -->
 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a> (const mat &amp;M)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a8f104e4befbc2aa90d8b11edfedb2e"></a><!-- doxytag: member="fsqmat::~fsqmat" ref="2a8f104e4befbc2aa90d8b11edfedb2e" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e">~fsqmat</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb0d1358f536e4453b5f99d0418ca1e5"></a><!-- doxytag: member="fsqmat::logdet" ref="eb0d1358f536e4453b5f99d0418ca1e5" args="() const " -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5">logdet</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of a determinant. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d047b9f7a27dfc093303a13cc9b1fba"></a><!-- doxytag: member="fsqmat::qform" ref="6d047b9f7a27dfc093303a13cc9b1fba" args="(vec &amp;v)" -->
-double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">qform</a> (vec &amp;v)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1eec8762a2299d83c7b7cd6bf6cbc1ad"></a><!-- doxytag: member="fsqmat::qform" ref="1eec8762a2299d83c7b7cd6bf6cbc1ad" args="(const vec &amp;v)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad">qform</a> (const vec &amp;v)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form $x= v'*V*v$;. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">sqrt_mult</a> (vec &amp;v)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#6648dd4291b809cce14e8497d0433ad3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">sqrt_mult</a> (const vec &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#2288389e2d47bd9df112815ef570c5c9"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="514d1fdd8a382dbd6a774f2cf1ebd3de"></a><!-- doxytag: member="fsqmat::operator+=" ref="514d1fdd8a382dbd6a774f2cf1ebd3de" args="(const fsqmat &amp;A)" -->
 <a class="el" href="classfsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator+=</b> (const <a class="el" href="classfsqmat.html">fsqmat</a> &amp;A)</td></tr>
@@ -103,4 +121,8 @@
 int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dim</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="e06aba54d61e807b41bd68b5ee6ac22f"></a><!-- doxytag: member="fsqmat::operator&lt;&lt;" ref="e06aba54d61e807b41bd68b5ee6ac22f" args="(std::ostream &amp;os, const fsqmat &amp;sq)" -->
+std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classfsqmat.html">fsqmat</a> &amp;sq)</td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -145,5 +167,5 @@
 </div>
 </div><p>
-<a class="anchor" name="acc5d2d0a243f1de6d0106065f01f518"></a><!-- doxytag: member="fsqmat::mult_sym" ref="acc5d2d0a243f1de6d0106065f01f518" args="(const mat &amp;C, bool trans=false)" -->
+<a class="anchor" name="5530d2756b5d991de755e6121c9a452e"></a><!-- doxytag: member="fsqmat::mult_sym" ref="5530d2756b5d991de755e6121c9a452e" args="(const mat &amp;C)" -->
 <div class="memitem">
 <div class="memproto">
@@ -153,16 +175,7 @@
           <td>(</td>
           <td class="paramtype">const mat &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>trans</em> = <code>false</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
+          <td class="paramname"> <em>C</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [virtual]</code></td>
         </tr>
       </table>
@@ -176,9 +189,37 @@
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>if true, product $V = C'*V*C$ will be computed instead; </td></tr>
-  </table>
-</dl>
-
-<p>Implements <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>.</p>
+  </table>
+</dl>
+
+<p>Implements <a class="el" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa">sqmat</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="92052a8adc2054b63e42d1373d145c89"></a><!-- doxytag: member="fsqmat::mult_sym_t" ref="92052a8adc2054b63e42d1373d145c89" args="(const mat &amp;C)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void fsqmat::mult_sym_t           </td>
+          <td>(</td>
+          <td class="paramtype">const mat &amp;&nbsp;</td>
+          <td class="paramname"> <em>C</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
+  </table>
+</dl>
+
+<p>Implements <a class="el" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325">sqmat</a>.</p>
 
 </div>
@@ -211,5 +252,5 @@
 </div>
 </div><p>
-<a class="anchor" name="6648dd4291b809cce14e8497d0433ad3"></a><!-- doxytag: member="fsqmat::sqrt_mult" ref="6648dd4291b809cce14e8497d0433ad3" args="(vec &amp;v)" -->
+<a class="anchor" name="2288389e2d47bd9df112815ef570c5c9"></a><!-- doxytag: member="fsqmat::sqrt_mult" ref="2288389e2d47bd9df112815ef570c5c9" args="(const vec &amp;v)" -->
 <div class="memitem">
 <div class="memproto">
@@ -218,5 +259,5 @@
           <td class="memname">vec fsqmat::sqrt_mult           </td>
           <td>(</td>
-          <td class="paramtype">vec &amp;&nbsp;</td>
+          <td class="paramtype">const vec &amp;&nbsp;</td>
           <td class="paramname"> <em>v</em>          </td>
           <td>&nbsp;)&nbsp;</td>
@@ -231,5 +272,5 @@
 <p>
 Used e.g. in generating normal samples. 
-<p>Implements <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>.</p>
+<p>Implements <a class="el" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c">sqmat</a>.</p>
 
 </div>
@@ -237,5 +278,5 @@
 <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;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 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__inherit__graph.md5
===================================================================
--- /doc/html/classepdf__inherit__graph.md5 (revision 23)
+++ /doc/html/classepdf__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-7be3800f050a429d545752f71af4def4
+cb4ef050c276391640ca78baae1d370e
Index: /doc/html/classmlnorm.html
===================================================================
--- /doc/html/classmlnorm.html (revision 32)
+++ /doc/html/classmlnorm.html (revision 32)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: mlnorm&lt; sq_T &gt; Class Template Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mlnorm&lt; sq_T &gt; Class Template Reference</h1><!-- doxytag: class="mlnorm" -->Normal distributed linear function with linear function of mean value;.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="classmlnorm-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f927203b3f31171c5c10ffc7caa797f5"></a><!-- doxytag: member="mlnorm::mlnorm" ref="f927203b3f31171c5c10ffc7caa797f5" args="(RV &amp;rv, RV &amp;rvc)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5">mlnorm</a> (<a class="el" href="classRV.html">RV</a> &amp;rv, <a class="el" href="classRV.html">RV</a> &amp;rvc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6749030c5d5abcb3eb6898f74cea3c0"></a><!-- doxytag: member="mlnorm::set_parameters" ref="b6749030c5d5abcb3eb6898f74cea3c0" args="(const mat &amp;A, const sq_T &amp;R)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (const mat &amp;A, const sq_T &amp;R)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="decf3e3b5c8e0812e5b4dbe94fa2ae18"></a><!-- doxytag: member="mlnorm::samplecond" ref="decf3e3b5c8e0812e5b4dbe94fa2ae18" args="(vec &amp;cond, double &amp;lik)" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18">samplecond</a> (vec &amp;cond, double &amp;lik)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate one sample of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="215fb88cc8b95d64cdefd6849abdd1e8"></a><!-- doxytag: member="mlnorm::samplecond" ref="215fb88cc8b95d64cdefd6849abdd1e8" args="(vec &amp;cond, vec &amp;lik, int n)" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlnorm.html#215fb88cc8b95d64cdefd6849abdd1e8">samplecond</a> (vec &amp;cond, vec &amp;lik, int n)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate matrix of samples of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5232fc7e305eceab4e2bd6a8daa44195"></a><!-- doxytag: member="mlnorm::condition" ref="5232fc7e305eceab4e2bd6a8daa44195" args="(vec &amp;cond)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>condition</b> (vec &amp;cond)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template&lt;class sq_T&gt;<br>
+ class mlnorm&lt; sq_T &gt;</h3>
+
+Normal distributed linear function with linear function of mean value;. 
+<p>
+Mean value $mu=A*rvc$. <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 Thu Feb 28 16:54:53 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libDS_8h-source.html
===================================================================
--- /doc/html/libDS_8h-source.html (revision 28)
+++ /doc/html/libDS_8h-source.html (revision 32)
@@ -42,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 Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classEKF__coll__graph.map
===================================================================
--- /doc/html/classEKF__coll__graph.map (revision 28)
+++ /doc/html/classEKF__coll__graph.map (revision 32)
@@ -1,18 +1,32 @@
-<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">
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="300,636,436,663">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="339,231,381,257">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="201,412,329,439">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="344,7,381,33">
+<area shape="rect" title="rvu\nrvy" alt="" coords="372,31,380,39">
+<area shape="rect" title="rvu\nrvy" alt="" coords="375,632,383,640">
+<area shape="rect" title="rv" alt="" coords="359,31,367,39">
+<area shape="rect" title="rv" alt="" coords="356,227,364,235">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="177,119,228,145">
+<area shape="rect" title="rv" alt="" coords="340,21,348,29">
+<area shape="rect" title="rv" alt="" coords="208,115,216,123">
+<area shape="rect" title="rvu\nrvy" alt="" coords="356,31,364,39">
+<area shape="rect" title="rvu\nrvy" alt="" coords="268,408,276,416">
+<area shape="rect" href="$classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="456,119,523,145">
+<area shape="rect" title="rvu\nrvx" alt="" coords="379,24,387,32">
+<area shape="rect" title="rvu\nrvx" alt="" coords="477,115,485,123">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="85,524,216,551">
+<area shape="rect" title="est\nfy" alt="" coords="157,548,165,556">
+<area shape="rect" title="est\nfy" alt="" coords="296,635,304,643">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="140,231,185,257">
+<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,412,125,439">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="60,436,68,444">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="105,520,113,528">
+<area shape="rect" title="_iR\nR" alt="" coords="225,255,233,263">
+<area shape="rect" title="_iR\nR" alt="" coords="93,408,101,416">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="235,255,243,263">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="259,408,267,416">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="261,436,269,444">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="347,632,355,640">
+<area shape="rect" title="pfxu\nphxu" alt="" coords="484,143,492,151">
+<area shape="rect" title="pfxu\nphxu" alt="" coords="451,712,459,720">
+<area shape="rect" href="$classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="484,7,524,33">
Index: /doc/html/libEF_8h__incl.map
===================================================================
--- /doc/html/libEF_8h__incl.map (revision 23)
+++ /doc/html/libEF_8h__incl.map (revision 32)
@@ -1,3 +1,4 @@
-<area shape="rect" title="Probability distributions for Exponential Family models." alt="" coords="57,161,156,188">
-<area shape="rect" href="$libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="48,84,165,111">
-<area shape="rect" href="$libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="189,84,256,111">
+<area shape="rect" title="Probability distributions for Exponential Family models." alt="" coords="105,161,204,188">
+<area shape="rect" href="$libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="39,84,156,111">
+<area shape="rect" href="$libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="180,84,247,111">
+<area shape="rect" href="$itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="271,84,367,111">
Index: /doc/html/classEKF__inherit__graph.map
===================================================================
--- /doc/html/classEKF__inherit__graph.map (revision 23)
+++ /doc/html/classEKF__inherit__graph.map (revision 32)
@@ -1,5 +1,5 @@
-<area shape="rect" href="$classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="5,183,152,209">
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="69,7,112,33">
-<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="95,87,223,113">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="143,111,151,119">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="85,179,93,187">
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="5,183,141,209">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="64,7,107,33">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="89,87,217,113">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="137,111,145,119">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="80,179,88,187">
Index: /doc/html/classKFcondQR__inherit__graph.map
===================================================================
--- /doc/html/classKFcondQR__inherit__graph.map (revision 32)
+++ /doc/html/classKFcondQR__inherit__graph.map (revision 32)
@@ -0,0 +1,6 @@
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="5,183,141,209">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="64,7,107,33">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="89,87,217,113">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="137,111,145,119">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="80,179,88,187">
+<area shape="rect" href="$classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="165,183,237,209">
Index: /doc/html/classBMcond__inherit__graph.md5
===================================================================
--- /doc/html/classBMcond__inherit__graph.md5 (revision 32)
+++ /doc/html/classBMcond__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+003d99eb8776d72903876cc2391de63a
Index: /doc/html/classeEmp.html
===================================================================
--- /doc/html/classeEmp.html (revision 32)
+++ /doc/html/classeEmp.html (revision 32)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: eEmp Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>eEmp Class Reference</h1><!-- doxytag: class="eEmp" --><!-- doxytag: inherits="epdf" -->Weighted empirical density.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for eEmp:</div>
+<div class="dynsection">
+<p><center><img src="classeEmp__inherit__graph.png" border="0" usemap="#eEmp__inherit__map" alt="Inheritance graph"></center>
+<map name="eEmp__inherit__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="9,7,60,33"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for eEmp:</div>
+<div class="dynsection">
+<p><center><img src="classeEmp__coll__graph.png" border="0" usemap="#eEmp__coll__map" alt="Collaboration graph"></center>
+<map name="eEmp__coll__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="9,103,60,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="16,7,53,33"><area shape="rect" title="rv" alt="" coords="31,31,39,39"><area shape="rect" title="rv" alt="" coords="31,99,39,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classeEmp-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b7235ea451df276dd2c57aae207fe34"></a><!-- doxytag: member="eEmp::eEmp" ref="0b7235ea451df276dd2c57aae207fe34" args="(const RV &amp;rv0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>eEmp</b> (const <a class="el" href="classRV.html">RV</a> &amp;rv0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6606a656c1b28114f7384c25aaf80e8d"></a><!-- doxytag: member="eEmp::set_parameters" ref="6606a656c1b28114f7384c25aaf80e8d" args="(const vec &amp;w0, epdf *pdf0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (const vec &amp;w0, <a class="el" href="classepdf.html">epdf</a> *pdf0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31b2bfb73b72486a5c89f2ab850c7a9b"></a><!-- doxytag: member="eEmp::_w" ref="31b2bfb73b72486a5c89f2ab850c7a9b" args="()" -->
+vec &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b">_w</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Potentially dangerous, use with care. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31b747eca73b16f30370827ba4cc3575"></a><!-- doxytag: member="eEmp::_samples" ref="31b747eca73b16f30370827ba4cc3575" args="()" -->
+Array&lt; vec &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_samples</b> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77268292fc4465cb73ddbfb1f2932a59"></a><!-- doxytag: member="eEmp::resample" ref="77268292fc4465cb73ddbfb1f2932a59" args="(RESAMPLING_METHOD method=SYSTEMATIC)" -->
+ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59">resample</a> (<a class="el" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212">RESAMPLING_METHOD</a> method=SYSTEMATIC)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function performs resampling, i.e. removal of low-weight samples and duplication of high-weight samples such that the new samples represent the same density. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">sample</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#c9b44099a400579b88aff9f5afaf9c13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de42454cb65a17fd8662d207dd59aacf"></a><!-- doxytag: member="eEmp::mean" ref="de42454cb65a17fd8662d207dd59aacf" args="()" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html#de42454cb65a17fd8662d207dd59aacf">mean</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f333ceeb88ebc37d81fcd4cea4526bfc"></a><!-- doxytag: member="eEmp::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="113c76c61d20e3f2a24ba322a73dfc51"></a><!-- doxytag: member="eEmp::evalpdflog" ref="113c76c61d20e3f2a24ba322a73dfc51" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <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="8c33034de0e35f03f8bb85d3d67438fd"></a><!-- doxytag: member="eEmp::n" ref="8c33034de0e35f03f8bb85d3d67438fd" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd">n</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of particles. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae78d144404ddba843c93b171b215de8"></a><!-- doxytag: member="eEmp::w" ref="ae78d144404ddba843c93b171b215de8" 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="a4d6f4bbd6a6824fc39f14676701279a"></a><!-- doxytag: member="eEmp::samples" ref="a4d6f4bbd6a6824fc39f14676701279a" args="" -->
+Array&lt; vec &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>samples</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="eEmp::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Weighted empirical density. 
+<p>
+Used e.g. in particle filters. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c9b44099a400579b88aff9f5afaf9c13"></a><!-- doxytag: member="eEmp::sample" ref="c9b44099a400579b88aff9f5afaf9c13" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">vec eEmp::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
+<p>
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
+<p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a><li>work/mixpp/bdm/stat/libEF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classKalman-members.html
===================================================================
--- /doc/html/classKalman-members.html (revision 28)
+++ /doc/html/classKalman-members.html (revision 32)
@@ -22,15 +22,17 @@
 </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 class="memlist"><td><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_epdf</a>()</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_iP</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>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_K</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_mu</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>_P</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_Ry</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>_yp</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>B</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a>(const vec &amp;dt, bool evalll=true)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</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="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>C</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>D</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
@@ -38,14 +40,19 @@
   <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>
-  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">mu</a></td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">P</a></td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</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><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</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#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman</a>(RV rvx0, RV rvy0, RV rvu0)</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#ce38e31810aea4db45a83ad05eaba009">Kalman</a>(const Kalman&lt; sq_T &gt; &amp;K0)</td><td><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
   <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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvu</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>rvy</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#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a>(const vec &amp;mu0, const sq_T &amp;P0)</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#239b28a0380946f5749b2f8d2807f93a">set_parameters</a>(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const sq_T &amp;R0, const sq_T &amp;Q0)</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#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:50 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/classmlnorm-members.html
===================================================================
--- /doc/html/classmlnorm-members.html (revision 32)
+++ /doc/html/classmlnorm-members.html (revision 32)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mlnorm&lt; sq_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a>, including all inherited members.<p><table>
+  <tr bgcolor="#f0f0f0"><td><b>condition</b>(vec &amp;cond) (defined in <a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5">mlnorm</a>(RV &amp;rv, RV &amp;rvc)</td><td><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18">samplecond</a>(vec &amp;cond, double &amp;lik)</td><td><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmlnorm.html#215fb88cc8b95d64cdefd6849abdd1e8">samplecond</a>(vec &amp;cond, vec &amp;lik, int n)</td><td><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(const mat &amp;A, const sq_T &amp;R) (defined in <a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/globals.html
===================================================================
--- /doc/html/globals.html (revision 32)
+++ /doc/html/globals.html (revision 32)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><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>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li class="current"><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+  </ul>
+</div>
+Here is a list of all documented file members with links to the documentation:
+<p>
+<ul>
+<li>RESAMPLING_METHOD
+: <a class="el" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212">libEF.h</a>
+<li>UniRNG
+: <a class="el" href="libEF_8h.html#2ae7dcdfebede774dd1b1f16cad10dd9">libEF.h</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classBM.html
===================================================================
--- /doc/html/classBM.html (revision 28)
+++ /doc/html/classBM.html (revision 32)
@@ -31,5 +31,12 @@
 <p><center><img src="classBM__inherit__graph.png" border="0" usemap="#BM__inherit__map" alt="Inheritance graph"></center>
 <map name="BM__inherit__map">
-<area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="5,87,133,113"><area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="47,183,193,209"><area shape="rect" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="208,87,299,113"><area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="323,87,360,113"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="64,111,72,119"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="95,179,103,187"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="68,263,172,289"><area shape="rect" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="305,183,377,209"></map>
+<area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="47,87,175,113"><area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="49,183,185,209"><area shape="rect" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="249,87,287,113"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="108,111,116,119"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="112,179,120,187"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="5,263,109,289"><area shape="rect" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="133,263,221,289"><area shape="rect" href="classMPF.html" title="Marginalized Particle filter." alt="" coords="211,183,325,209"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for BM:</div>
+<div class="dynsection">
+<p><center><img src="classBM__coll__graph.png" border="0" usemap="#BM__coll__map" alt="Collaboration graph"></center>
+<map name="BM__coll__map">
+<area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="8,7,45,33"><area shape="rect" title="rv" alt="" coords="23,31,31,39"><area shape="rect" title="rv" alt="" coords="23,99,31,107"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -38,6 +45,6 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef32a12f4f89e4000bf5390ceda762ae"></a><!-- doxytag: member="BM::BM" ref="ef32a12f4f89e4000bf5390ceda762ae" args="()" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="605d28b426adb677c86a57ddb525132a"></a><!-- doxytag: member="BM::BM" ref="605d28b426adb677c86a57ddb525132a" args="(const RV &amp;rv0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv0)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
@@ -49,9 +56,17 @@
 
 <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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3dc45554556926bde996a267636abe55"></a><!-- doxytag: member="BM::_epdf" ref="3dc45554556926bde996a267636abe55" args="()=0" -->
+virtual <a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#3dc45554556926bde996a267636abe55">_epdf</a> ()=0</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="ca0f02b3b4144e0895cc14f7e0374bdd"></a><!-- doxytag: member="BM::~BM" ref="ca0f02b3b4144e0895cc14f7e0374bdd" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <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="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="BM::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="BM::ll" ref="5623fef6572a08c2b53b8c87b82dc979" args="" -->
 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td></tr>
@@ -90,9 +105,11 @@
 </dl>
 
+<p>Implemented in <a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">Kalman&lt; sq_T &gt;</a>, <a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">EKF&lt; sq_T &gt;</a>, <a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">PF</a>, <a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">MPF&lt; BM_T &gt;</a>, and <a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">Kalman&lt; ldmat &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="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/libEF_8h__dep__incl.map
===================================================================
--- /doc/html/libEF_8h__dep__incl.map (revision 32)
+++ /doc/html/libEF_8h__dep__incl.map (revision 32)
@@ -0,0 +1,2 @@
+<area shape="rect" href="$libKF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="5,84,219,111">
+<area shape="rect" href="$libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,84,456,111">
Index: /doc/html/classeEmp__inherit__graph.map
===================================================================
--- /doc/html/classeEmp__inherit__graph.map (revision 32)
+++ /doc/html/classeEmp__inherit__graph.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="9,7,60,33">
Index: /doc/html/libKF_8h.html
===================================================================
--- /doc/html/libKF_8h.html (revision 28)
+++ /doc/html/libKF_8h.html (revision 32)
@@ -18,5 +18,5 @@
 <code>#include &lt;itpp/itbase.h&gt;</code><br>
 <code>#include &quot;../stat/libFN.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="libDC_8h-source.html">../math/libDC.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="libEF_8h-source.html">../stat/libEF.h</a>&quot;</code><br>
 
 <p>
@@ -26,5 +26,5 @@
 <p><center><img src="libKF_8h__incl.png" border="0" usemap="#work/mixpp/bdm/estim/libKF.h_map" alt=""></center>
 <map name="work/mixpp/bdm/estim/libKF.h_map">
-<area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="44,239,143,265"><area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="59,84,165,111"><area shape="rect" href="libDC_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="187,161,304,188"><area shape="rect" href="libBM_8h.html" title="libBM.h" alt="" coords="96,161,163,188"></map>
+<area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="128,239,227,265"><area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="59,84,165,111"><area shape="rect" href="libEF_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="189,84,291,111"><area shape="rect" href="libBM_8h.html" title="libBM.h" alt="" coords="109,161,176,188"><area shape="rect" href="libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="251,161,368,188"><area shape="rect" href="itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="392,161,488,188"></map>
 </div>
 
@@ -42,4 +42,7 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extended <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter.  <a href="classEKF.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKFcondQR.html">KFcondQR</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter with conditional diagonal matrices R and Q.  <a href="classKFcondQR.html#_details">More...</a><br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -48,5 +51,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 Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classegamma__inherit__graph.map
===================================================================
--- /doc/html/classegamma__inherit__graph.map (revision 32)
+++ /doc/html/classegamma__inherit__graph.map (revision 32)
@@ -0,0 +1,2 @@
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="23,84,68,111">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="20,7,71,33">
Index: /doc/html/classKalman__coll__graph.map
===================================================================
--- /doc/html/classKalman__coll__graph.map (revision 23)
+++ /doc/html/classKalman__coll__graph.map (revision 32)
@@ -1,3 +1,8 @@
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="13,7,56,33">
-<area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="97,31,105,39">
-<area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="68,168,76,176">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="48,105,91,132">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="11,7,48,33">
+<area shape="rect" title="rvu\nrvy" alt="" coords="23,31,31,39">
+<area shape="rect" title="rvu\nrvy" alt="" coords="57,285,65,293">
+<area shape="rect" title="rv" alt="" coords="32,31,40,39">
+<area shape="rect" title="rv" alt="" coords="60,101,68,109">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="131,129,139,137">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="72,285,80,293">
Index: /doc/html/classKFcondQR.html
===================================================================
--- /doc/html/classKFcondQR.html (revision 32)
+++ /doc/html/classKFcondQR.html (revision 32)
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: KFcondQR Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>KFcondQR Class Reference</h1><!-- doxytag: class="KFcondQR" --><!-- doxytag: inherits="Kalman&lt; ldmat &gt;,BMcond" --><a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter with conditional diagonal matrices R and Q.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libKF_8h-source.html">libKF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for KFcondQR:</div>
+<div class="dynsection">
+<p><center><img src="classKFcondQR__inherit__graph.png" border="0" usemap="#KFcondQR__inherit__map" alt="Inheritance graph"></center>
+<map name="KFcondQR__inherit__map">
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="5,183,141,209"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="64,7,107,33"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="89,87,217,113"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="137,111,145,119"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="80,179,88,187"><area shape="rect" href="classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="165,183,237,209"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for KFcondQR:</div>
+<div class="dynsection">
+<p><center><img src="classKFcondQR__coll__graph.png" border="0" usemap="#KFcondQR__coll__map" alt="Collaboration graph"></center>
+<map name="KFcondQR__coll__map">
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="231,604,367,631"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="340,215,383,241"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="237,396,365,423"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="281,7,319,33"><area shape="rect" title="rvu\nrvy" alt="" coords="277,19,285,27"><area shape="rect" title="rvu\nrvy" alt="" coords="227,601,235,609"><area shape="rect" title="rv" alt="" coords="304,31,312,39"><area shape="rect" title="rv" alt="" coords="355,211,363,219"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="191,103,241,129"><area shape="rect" title="rv" alt="" coords="283,31,291,39"><area shape="rect" title="rv" alt="" coords="224,99,232,107"><area shape="rect" title="rvu\nrvy" alt="" coords="296,31,304,39"><area shape="rect" title="rvu\nrvy" alt="" coords="297,392,305,400"><area shape="rect" href="classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="399,159,471,185"><area shape="rect" title="rvc" alt="" coords="316,21,324,29"><area shape="rect" title="rvc" alt="" coords="427,155,435,163"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="88,492,219,519"><area shape="rect" title="est\nfy" alt="" coords="169,516,177,524"><area shape="rect" title="est\nfy" alt="" coords="277,600,285,608"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="131,215,176,241"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="93,396,213,423"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="149,420,157,428"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="149,488,157,496"><area shape="rect" title="_iR\nR" alt="" coords="219,239,227,247"><area shape="rect" title="_iR\nR" alt="" coords="157,392,165,400"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="228,239,236,247"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="275,392,283,400"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="297,420,305,428"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="295,600,303,608"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classKFcondQR-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21d96dbfab7c990cb878cad0801c8758"></a><!-- doxytag: member="KFcondQR::KFcondQR" ref="21d96dbfab7c990cb878cad0801c8758" args="(RV rvx, RV rvy, RV rvu)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>KFcondQR</b> (<a class="el" href="classRV.html">RV</a> rvx, <a class="el" href="classRV.html">RV</a> rvy, <a class="el" href="classRV.html">RV</a> rvu)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9ecf292a85327aa6309c9fd70ceb606"></a><!-- doxytag: member="KFcondQR::condition" ref="c9ecf292a85327aa6309c9fd70ceb606" args="(const vec &amp;RQ)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKFcondQR.html#c9ecf292a85327aa6309c9fd70ceb606">condition</a> (const vec &amp;RQ)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Substitute <code>val</code> for <code>rvc</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="239b28a0380946f5749b2f8d2807f93a"></a><!-- doxytag: member="KFcondQR::set_parameters" ref="239b28a0380946f5749b2f8d2807f93a" args="(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">set_parameters</a> (const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set parameters with check of relevance. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80bcf29466d9a9dd2b8f74699807d0c0"></a><!-- doxytag: member="KFcondQR::set_est" ref="80bcf29466d9a9dd2b8f74699807d0c0" args="(const vec &amp;mu0, const ldmat &amp;P0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a> (const vec &amp;mu0, const ldmat &amp;P0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set estimate values, used e.g. in initialization. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7750ffd73f261828a32c18aaeb65c75c"></a><!-- doxytag: member="KFcondQR::bayes" ref="7750ffd73f261828a32c18aaeb65c75c" args="(const vec &amp;dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">bayes</a> (const vec &amp;dt)</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"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="KFcondQR::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="a213c57aef55b2645e550bed81cfc0d4"></a><!-- doxytag: member="KFcondQR::_epdf" ref="a213c57aef55b2645e550bed81cfc0d4" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_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>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7501230c2fafa3655887d2da23b3184c"></a><!-- doxytag: member="KFcondQR::rvy" ref="7501230c2fafa3655887d2da23b3184c" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvy</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44a16ffd5ac1e6e39bae34fea9e1e498"></a><!-- doxytag: member="KFcondQR::rvu" ref="44a16ffd5ac1e6e39bae34fea9e1e498" 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="39c8c403b46fa3b8c7da77cb2e3729eb"></a><!-- doxytag: member="KFcondQR::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="KFcondQR::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="KFcondQR::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="KFcondQR::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="KFcondQR::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="KFcondQR::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="KFcondQR::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="KFcondQR::R" ref="11d171dc0e0ab111c56a70f98b97b3ec" args="" -->
+ldmat&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="KFcondQR::Q" ref="9b69015c800eb93f3ee49da23a6f55d9" args="" -->
+ldmat&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="5568c74bac67ae6d3b1061dba60c9424"></a><!-- doxytag: member="KFcondQR::est" ref="5568c74bac67ae6d3b1061dba60c9424" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density on $x_t$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e580ab06483952bd03f2e651763e184f"></a><!-- doxytag: member="KFcondQR::fy" ref="e580ab06483952bd03f2e651763e184f" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; ldmat &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">preditive density on $y_t$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="KFcondQR::_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="5188eb0329f8561f0b357af329769bf8"></a><!-- doxytag: member="KFcondQR::_yp" ref="5188eb0329f8561f0b357af329769bf8" 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="e17dd745daa8a958035a334a56fa4674"></a><!-- doxytag: member="KFcondQR::_Ry" ref="e17dd745daa8a958035a334a56fa4674" args="" -->
+ldmat *&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="fbbdf31365f5a5674099599200ea193b"></a><!-- doxytag: member="KFcondQR::_iRy" ref="fbbdf31365f5a5674099599200ea193b" args="" -->
+ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1f669b5b3421a070cc75d77b55ba734"></a><!-- doxytag: member="KFcondQR::_mu" ref="d1f669b5b3421a070cc75d77b55ba734" args="" -->
+vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mu</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3388218567128a797e69b109138271d"></a><!-- doxytag: member="KFcondQR::_P" ref="b3388218567128a797e69b109138271d" args="" -->
+ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_P</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8bb7f870d69993493ba67ce40e7c3e9"></a><!-- doxytag: member="KFcondQR::_iP" ref="b8bb7f870d69993493ba67ce40e7c3e9" args="" -->
+ldmat *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iP</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="KFcondQR::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="KFcondQR::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="KFcondQR::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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ba793c8ec453f04d372d17195ed8dec"></a><!-- doxytag: member="KFcondQR::rvc" ref="9ba793c8ec453f04d372d17195ed8dec" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvc</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> Filter with conditional diagonal matrices R and Q. <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 Thu Feb 28 16:54:52 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classeEmp-members.html
===================================================================
--- /doc/html/classeEmp-members.html (revision 32)
+++ /doc/html/classeEmp-members.html (revision 32)
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>eEmp Member List</h1>This is the complete list of members for <a class="el" href="classeEmp.html">eEmp</a>, including all inherited members.<p><table>
+  <tr bgcolor="#f0f0f0"><td><b>_samples</b>() (defined in <a class="el" href="classeEmp.html">eEmp</a>)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b">_w</a>()</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>eEmp</b>(const RV &amp;rv0) (defined in <a class="el" href="classeEmp.html">eEmp</a>)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</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="classeEmp.html#de42454cb65a17fd8662d207dd59aacf">mean</a>()</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd">n</a></td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59">resample</a>(RESAMPLING_METHOD method=SYSTEMATIC)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">sample</a>()</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>samples</b> (defined in <a class="el" href="classeEmp.html">eEmp</a>)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(const vec &amp;w0, epdf *pdf0) (defined in <a class="el" href="classeEmp.html">eEmp</a>)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classeEmp.html">eEmp</a>)</td><td><a class="el" href="classeEmp.html">eEmp</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classEKF__coll__graph.md5
===================================================================
--- /doc/html/classEKF__coll__graph.md5 (revision 28)
+++ /doc/html/classEKF__coll__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-f0af3ae76b214ecac356cc7e830905d0
+eac9a6977a76313b57f32e85c821e3ad
Index: /doc/html/libEF_8h__incl.md5
===================================================================
--- /doc/html/libEF_8h__incl.md5 (revision 23)
+++ /doc/html/libEF_8h__incl.md5 (revision 32)
@@ -1,1 +1,1 @@
-c1a5815749bd100c7f3b158f97453358
+ffbb543ddc54eeeeed9c27c6bb6e909f
Index: /doc/html/inherit__graph__0.map
===================================================================
--- /doc/html/inherit__graph__0.map (revision 23)
+++ /doc/html/inherit__graph__0.map (revision 32)
@@ -1,7 +1,8 @@
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,81,48,108">
-<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="105,5,233,32">
-<area shape="rect" href="$classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="96,56,243,83">
-<area shape="rect" href="$classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="124,107,215,133">
-<area shape="rect" href="$classPF.html" title="A Particle Filter prototype." alt="" coords="151,157,188,184">
-<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="292,56,396,83">
-<area shape="rect" href="$classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="308,157,380,184">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,56,48,83">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="101,5,229,32">
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="97,56,233,83">
+<area shape="rect" href="$classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="147,157,184,184">
+<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="288,56,392,83">
+<area shape="rect" href="$classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="296,107,384,133">
+<area shape="rect" href="$classMPF.html" title="Marginalized Particle filter." alt="" coords="283,157,397,184">
+<area shape="rect" href="$classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="129,107,201,133">
Index: /doc/html/classBM-members.html
===================================================================
--- /doc/html/classBM-members.html (revision 28)
+++ /doc/html/classBM-members.html (revision 32)
@@ -22,11 +22,13 @@
 </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#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#3dc45554556926bde996a267636abe55">_epdf</a>()=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#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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</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><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/inherit__graph__4.map
===================================================================
--- /doc/html/inherit__graph__4.map (revision 23)
+++ /doc/html/inherit__graph__4.map (revision 32)
@@ -1,1 +1,1 @@
-<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="5,5,61,32">
+<area shape="rect" href="$classitpp_1_1Gamma__RNG.html" title="Gamma distribution." alt="" coords="5,5,149,32">
Index: /doc/html/classEKF__inherit__graph.md5
===================================================================
--- /doc/html/classEKF__inherit__graph.md5 (revision 23)
+++ /doc/html/classEKF__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-77c3e69c7b4a245413e6ca3492286095
+6a3a1968ec11de621b52f5f8c31928f4
Index: /doc/html/classegamma.html
===================================================================
--- /doc/html/classegamma.html (revision 32)
+++ /doc/html/classegamma.html (revision 32)
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: egamma Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>egamma Class Reference</h1><!-- doxytag: class="egamma" --><!-- doxytag: inherits="eEF" -->Gamma posterior density.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for egamma:</div>
+<div class="dynsection">
+<p><center><img src="classegamma__inherit__graph.png" border="0" usemap="#egamma__inherit__map" alt="Inheritance graph"></center>
+<map name="egamma__inherit__map">
+<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="23,84,68,111"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="20,7,71,33"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for egamma:</div>
+<div class="dynsection">
+<p><center><img src="classegamma__coll__graph.png" border="0" usemap="#egamma__coll__map" alt="Collaboration graph"></center>
+<map name="egamma__coll__map">
+<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="23,183,68,209"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="20,103,71,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="27,7,64,33"><area shape="rect" title="rv" alt="" coords="41,31,49,39"><area shape="rect" title="rv" alt="" coords="41,99,49,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classegamma-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b1d34f3b244ea51a58ec10c468788c1"></a><!-- doxytag: member="egamma::egamma" ref="4b1d34f3b244ea51a58ec10c468788c1" args="(const RV &amp;rv)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1">egamma</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv)</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="8e348b89be82b70471fe8c5630f61339"></a><!-- doxytag: member="egamma::set_parameters" ref="8e348b89be82b70471fe8c5630f61339" args="(const vec &amp;a, const vec &amp;b)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html#8e348b89be82b70471fe8c5630f61339">set_parameters</a> (const vec &amp;a, const vec &amp;b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets parameters. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">sample</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#0a2186a586432c2c3f22d09c5341890f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44bf6a5361059cf7a219bc9f68ff570a"></a><!-- doxytag: member="egamma::sample" ref="44bf6a5361059cf7a219bc9f68ff570a" args="(int N)" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>sample</b> (int N)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdf5819ed32377d364d6e0f8e8d30868"></a><!-- doxytag: member="egamma::evalpdflog" ref="fdf5819ed32377d364d6e0f8e8d30868" args="(const vec val)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>evalpdflog</b> (const vec val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44445c56e60b91b377f207f8d5089790"></a><!-- doxytag: member="egamma::_param" ref="44445c56e60b91b377f207f8d5089790" args="(vec *&amp;a, vec *&amp;b)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html#44445c56e60b91b377f207f8d5089790">_param</a> (vec *&amp;a, vec *&amp;b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns poiter to alpha and beta. Potentially dengerous: use with care! <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6617890ffa40767fc196876534d4119d"></a><!-- doxytag: member="egamma::mean" ref="6617890ffa40767fc196876534d4119d" args="()" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html#6617890ffa40767fc196876534d4119d">mean</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd88bc35550ec8fe9281d358216d0fcf"></a><!-- doxytag: member="egamma::tupdate" ref="fd88bc35550ec8fe9281d358216d0fcf" args="(double phi, mat &amp;vbar, double nubar)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tupdate</b> (double phi, mat &amp;vbar, double nubar)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5863718c3b2fb1496dece10c5b745d5c"></a><!-- doxytag: member="egamma::dupdate" ref="5863718c3b2fb1496dece10c5b745d5c" args="(mat &amp;v, double nu=1.0)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dupdate</b> (mat &amp;v, double nu=1.0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f333ceeb88ebc37d81fcd4cea4526bfc"></a><!-- doxytag: member="egamma::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="113c76c61d20e3f2a24ba322a73dfc51"></a><!-- doxytag: member="egamma::evalpdflog" ref="113c76c61d20e3f2a24ba322a73dfc51" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <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="376cebd8932546c440f21b182910b01b"></a><!-- doxytag: member="egamma::alpha" ref="376cebd8932546c440f21b182910b01b" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>alpha</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfc5f136467488a421ab22f886323790"></a><!-- doxytag: member="egamma::beta" ref="cfc5f136467488a421ab22f886323790" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>beta</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="egamma::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Gamma posterior density. 
+<p>
+Multvariate Gamma density as product of independent univariate densities. <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ f(x|a,b) = \prod f(x_i|a_i,b_i) \]" src="form_4.png">
+<p>
+ <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0a2186a586432c2c3f22d09c5341890f"></a><!-- doxytag: member="egamma::sample" ref="0a2186a586432c2c3f22d09c5341890f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">vec egamma::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
+<p>
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
+<p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a><li>work/mixpp/bdm/stat/libEF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classKFcondQR__inherit__graph.md5
===================================================================
--- /doc/html/classKFcondQR__inherit__graph.md5 (revision 32)
+++ /doc/html/classKFcondQR__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+8310b471902abd4d743485a8b24e47af
Index: /doc/html/inherit__graph__8.map
===================================================================
--- /doc/html/inherit__graph__8.map (revision 32)
+++ /doc/html/inherit__graph__8.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="5,5,61,32">
Index: /doc/html/classmgamma.html
===================================================================
--- /doc/html/classmgamma.html (revision 32)
+++ /doc/html/classmgamma.html (revision 32)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: mgamma Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mgamma Class Reference</h1><!-- doxytag: class="mgamma" -->Gamma random walk.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Collaboration diagram for mgamma:</div>
+<div class="dynsection">
+<p><center><img src="classmgamma__coll__graph.png" border="0" usemap="#mgamma__coll__map" alt="Collaboration graph"></center>
+<map name="mgamma__coll__map">
+<area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="8,263,88,289"><area shape="rect" title="epdf" alt="" coords="44,287,52,295"><area shape="rect" title="epdf" alt="" coords="44,355,52,363"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="25,183,71,209"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="23,103,73,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="29,7,67,33"><area shape="rect" title="rv" alt="" coords="44,31,52,39"><area shape="rect" title="rv" alt="" coords="44,99,52,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classmgamma-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af43e61b86900c0398d5c0ffc83b94e6"></a><!-- doxytag: member="mgamma::mgamma" ref="af43e61b86900c0398d5c0ffc83b94e6" args="(const RV &amp;rv, const RV &amp;rvc)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmgamma.html#af43e61b86900c0398d5c0ffc83b94e6">mgamma</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv, const <a class="el" href="classRV.html">RV</a> &amp;rvc)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9d646cf758a70126dde7c48790b6e94"></a><!-- doxytag: member="mgamma::set_parameters" ref="a9d646cf758a70126dde7c48790b6e94" args="(double k)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (double k)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f40dc43885085fad8e3d6652b79e139"></a><!-- doxytag: member="mgamma::samplecond" ref="9f40dc43885085fad8e3d6652b79e139" args="(vec &amp;cond, double &amp;lik)" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139">samplecond</a> (vec &amp;cond, double &amp;lik)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate one sample of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9d52749793f40aad85b70c6db4435ae"></a><!-- doxytag: member="mgamma::samplecond" ref="e9d52749793f40aad85b70c6db4435ae" args="(vec &amp;cond, vec &amp;lik, int n)" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmgamma.html#e9d52749793f40aad85b70c6db4435ae">samplecond</a> (vec &amp;cond, vec &amp;lik, int n)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate matrix of samples of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a61094c9f7a2d64ea77b130cbc031f97"></a><!-- doxytag: member="mgamma::condition" ref="a61094c9f7a2d64ea77b130cbc031f97" args="(const vec &amp;val)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>condition</b> (const vec &amp;val)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Gamma random walk. 
+<p>
+Mean value, $$, of this density is given by <code>rvc</code> . Standard deviation of the random walk is proportional to one $k$-th the mean. This is achieved by setting $=k$ and $=k/$.<p>
+The standard deviation of the walk is then: $/(k)$. <hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/bdm/stat/<a class="el" href="libEF_8h-source.html">libEF.h</a><li>work/mixpp/bdm/stat/libEF.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classPF.html
===================================================================
--- /doc/html/classPF.html (revision 28)
+++ /doc/html/classPF.html (revision 32)
@@ -21,5 +21,5 @@
   </ul>
 </div>
-<h1>PF Class Reference</h1><!-- doxytag: class="PF" --><!-- doxytag: inherits="BM" -->A Particle Filter prototype.  
+<h1>PF Class Reference</h1><!-- doxytag: class="PF" --><!-- doxytag: inherits="BM" -->Trivial particle filter with proposal density equal to parameter evolution model.  
 <a href="#_details">More...</a>
 <p>
@@ -31,5 +31,5 @@
 <p><center><img src="classPF__inherit__graph.png" border="0" usemap="#PF__inherit__map" alt="Inheritance graph"></center>
 <map name="PF__inherit__map">
-<area shape="rect" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="5,161,77,188"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="20,7,63,33"></map>
+<area shape="rect" href="classMPF.html" title="Marginalized Particle filter." alt="" coords="5,161,120,188"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,7,84,33"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -38,5 +38,5 @@
 <p><center><img src="classPF__coll__graph.png" border="0" usemap="#PF__coll__map" alt="Collaboration graph"></center>
 <map name="PF__coll__map">
-<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"></map>
+<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,161,48,188"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="72,7,109,33"><area shape="rect" title="rv" alt="" coords="72,31,80,39"><area shape="rect" title="rv" alt="" coords="24,157,32,165"><area shape="rect" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="64,215,120,241"><area shape="rect" title="rv\nrvc" alt="" coords="87,31,95,39"><area shape="rect" title="rv\nrvc" alt="" coords="88,211,96,219"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="135,105,185,132"><area shape="rect" title="rv" alt="" coords="97,31,105,39"><area shape="rect" title="rv" alt="" coords="147,101,155,109"><area shape="rect" title="obs\npar" alt="" coords="88,239,96,247"><area shape="rect" title="obs\npar" alt="" coords="88,323,96,331"><area shape="rect" title="ep" alt="" coords="147,129,155,137"><area shape="rect" title="ep" alt="" coords="96,211,104,219"><area shape="rect" href="classeEmp.html" title="Weighted empirical density." alt="" coords="144,215,203,241"><area shape="rect" title="ePdf" alt="" coords="159,239,167,247"><area shape="rect" title="ePdf" alt="" coords="97,323,105,331"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -45,26 +45,50 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0e26b2f6a5884aca49122f3e4f0cf19"></a><!-- doxytag: member="PF::resample" ref="a0e26b2f6a5884aca49122f3e4f0cf19" args="(RESAMPLING_METHOD method=SYSTEMATIC)" -->
-ivec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">resample</a> (RESAMPLING_METHOD method=SYSTEMATIC)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9604b7fc87ff5e61da4de4a04210bfc"></a><!-- doxytag: member="PF::PF" ref="e9604b7fc87ff5e61da4de4a04210bfc" args="(const RV &amp;rv0, mpdf &amp;par0, mpdf &amp;obs0, int n)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>PF</b> (const <a class="el" href="classRV.html">RV</a> &amp;rv0, <a class="el" href="classmpdf.html">mpdf</a> &amp;par0, <a class="el" href="classmpdf.html">mpdf</a> &amp;obs0, int <a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a>)</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"><a class="anchor" name="c37f95f0c1661c7f1e3fccb31d39de73"></a><!-- doxytag: member="PF::PF" ref="c37f95f0c1661c7f1e3fccb31d39de73" args="(vec w)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>PF</b> (vec w)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c5caa2c15604338b773d7a8125e7a1b5"></a><!-- doxytag: member="PF::set_est" ref="c5caa2c15604338b773d7a8125e7a1b5" args="(const epdf *&amp;epdf0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_est</b> (const <a class="el" href="classepdf.html">epdf</a> *&amp;epdf0)</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="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">bayes</a> (const vec &amp;dt)</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="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#64f636bbd63bea9efd778214e6b631d3"></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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3dc45554556926bde996a267636abe55"></a><!-- doxytag: member="PF::_epdf" ref="3dc45554556926bde996a267636abe55" args="()=0" -->
+virtual <a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#3dc45554556926bde996a267636abe55">_epdf</a> ()=0</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 colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c2f44ed7a4eaa42e07bdb58d503f280"></a><!-- doxytag: member="PF::n" ref="2c2f44ed7a4eaa42e07bdb58d503f280" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of particles; <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2ac56d1e3ffbb4ff0b3f02e6399deb0"></a><!-- doxytag: member="PF::ePdf" ref="a2ac56d1e3ffbb4ff0b3f02e6399deb0" args="" -->
+<a class="el" href="classeEmp.html">eEmp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">ePdf</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a97d12da4d1832c0b0c6ec5877f921f0"></a><!-- doxytag: member="PF::w" ref="a97d12da4d1832c0b0c6ec5877f921f0" args="" -->
+vec &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0">w</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer into <code><a class="el" href="classeEmp.html" title="Weighted empirical density.">eEmp</a></code> <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="361743a0b5b89de1a29e91d1343b2565"></a><!-- doxytag: member="PF::samples" ref="361743a0b5b89de1a29e91d1343b2565" args="" -->
+Array&lt; vec &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">samples</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer into <code><a class="el" href="classeEmp.html" title="Weighted empirical density.">eEmp</a></code> <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d92ac103f88f8c21e197e90af5695a09"></a><!-- doxytag: member="PF::par" ref="d92ac103f88f8c21e197e90af5695a09" args="" -->
+<a class="el" href="classmpdf.html">mpdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">par</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter evolution model. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd0a687a4515333d6809147335854e77"></a><!-- doxytag: member="PF::obs" ref="dd0a687a4515333d6809147335854e77" args="" -->
+<a class="el" href="classmpdf.html">mpdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">obs</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Observation model. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="PF::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <br></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>
@@ -75,30 +99,20 @@
 
 <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="" -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><b>n</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6bc92f7979af4513b06b161497ba868"></a><!-- doxytag: member="PF::w" ref="f6bc92f7979af4513b06b161497ba868" args="" -->
-vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>w</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3568ca7c3b3175d98b548f496b4c34dd"></a><!-- doxytag: member="PF::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>
-A Particle Filter prototype. 
+Trivial particle filter with proposal density equal to parameter evolution model. 
 <p>
-Bayesian Filtering equations hold. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="PF::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=0" -->
+Posterior density is represented by a weighted empirical density (<code><a class="el" href="classeEmp.html" title="Weighted empirical density.">eEmp</a></code> ). <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="64f636bbd63bea9efd778214e6b631d3"></a><!-- doxytag: member="PF::bayes" ref="64f636bbd63bea9efd778214e6b631d3" args="(const vec &amp;dt)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual void BM::bayes           </td>
+          <td class="memname">void PF::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>
+          <td width="100%"><code> [virtual]</code></td>
         </tr>
       </table>
@@ -115,9 +129,13 @@
 </dl>
 
+<p>Implements <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>.</p>
+
+<p>Reimplemented in <a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">MPF&lt; BM_T &gt;</a>.</p>
+
 </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="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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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__dep__incl.md5
===================================================================
--- /doc/html/libEF_8h__dep__incl.md5 (revision 32)
+++ /doc/html/libEF_8h__dep__incl.md5 (revision 32)
@@ -0,0 +1,1 @@
+9092f11a2b73eae58a04b8951e1a1f60
Index: /doc/html/classlinfn.html
===================================================================
--- /doc/html/classlinfn.html (revision 28)
+++ /doc/html/classlinfn.html (revision 32)
@@ -76,5 +76,5 @@
 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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:52 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/classeEmp__inherit__graph.md5
===================================================================
--- /doc/html/classeEmp__inherit__graph.md5 (revision 32)
+++ /doc/html/classeEmp__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+4a533326898d1118c6c721a46c425389
Index: /doc/html/classegamma__inherit__graph.md5
===================================================================
--- /doc/html/classegamma__inherit__graph.md5 (revision 32)
+++ /doc/html/classegamma__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+f355e4ec28936da6f5b4038eb90d6f56
Index: /doc/html/classKalman__coll__graph.md5
===================================================================
--- /doc/html/classKalman__coll__graph.md5 (revision 23)
+++ /doc/html/classKalman__coll__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-311ac5634b4d73b2f2526f463aadb32a
+f6b55f1ef184b48187d2ae6c69a40dd1
Index: /doc/html/classMPF__coll__graph.map
===================================================================
--- /doc/html/classMPF__coll__graph.map (revision 32)
+++ /doc/html/classMPF__coll__graph.map (revision 32)
@@ -0,0 +1,25 @@
+<area shape="rect" href="$classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="109,327,147,353">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,161,84,188">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="76,7,113,33">
+<area shape="rect" title="rvc" alt="" coords="72,27,80,35">
+<area shape="rect" title="rvc" alt="" coords="116,424,124,432">
+<area shape="rect" title="rv" alt="" coords="88,31,96,39">
+<area shape="rect" title="rv" alt="" coords="61,157,69,165">
+<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="100,215,156,241">
+<area shape="rect" title="rv\nrvc" alt="" coords="96,31,104,39">
+<area shape="rect" title="rv\nrvc" alt="" coords="123,211,131,219">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="176,105,227,132">
+<area shape="rect" title="rv" alt="" coords="111,31,119,39">
+<area shape="rect" title="rv" alt="" coords="185,101,193,109">
+<area shape="rect" title="obs\npar" alt="" coords="124,239,132,247">
+<area shape="rect" title="obs\npar" alt="" coords="124,323,132,331">
+<area shape="rect" title="ep" alt="" coords="188,129,196,137">
+<area shape="rect" title="ep" alt="" coords="133,211,141,219">
+<area shape="rect" href="$classeEmp.html" title="Weighted empirical density." alt="" coords="180,215,239,241">
+<area shape="rect" href="$classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="240,271,293,297">
+<area shape="rect" title="ePdf" alt="" coords="195,239,203,247">
+<area shape="rect" title="ePdf" alt="" coords="133,323,141,331">
+<area shape="rect" title="Bms" alt="" coords="249,351,257,359">
+<area shape="rect" title="Bms" alt="" coords="185,419,193,427">
+<area shape="rect" title="est" alt="" coords="236,293,244,301">
+<area shape="rect" title="est" alt="" coords="173,419,181,427">
Index: /doc/html/classitpp_1_1Gamma__RNG.html
===================================================================
--- /doc/html/classitpp_1_1Gamma__RNG.html (revision 32)
+++ /doc/html/classitpp_1_1Gamma__RNG.html (revision 32)
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: itpp::Gamma_RNG Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="nav">
+<b>itpp</b>::<a class="el" href="classitpp_1_1Gamma__RNG.html">Gamma_RNG</a></div>
+<h1>itpp::Gamma_RNG Class Reference</h1><!-- doxytag: class="itpp::Gamma_RNG" -->Gamma distribution.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="itpp__ext_8h-source.html">itpp_ext.h</a>&gt;</code>
+<p>
+
+<p>
+<a href="classitpp_1_1Gamma__RNG-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e132860f825f427d63652edd02c25b54"></a><!-- doxytag: member="itpp::Gamma_RNG::Gamma_RNG" ref="e132860f825f427d63652edd02c25b54" args="(double a=1.0, double b=1.0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#e132860f825f427d63652edd02c25b54">Gamma_RNG</a> (double a=1.0, double b=1.0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">constructor. Set lambda. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfaae19411e39aa87e1f72e409b6babe"></a><!-- doxytag: member="itpp::Gamma_RNG::setup" ref="dfaae19411e39aa87e1f72e409b6babe" args="(double a0, double b0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe">setup</a> (double a0, double b0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set lambda. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e666953249038f262cece2d3ed952d6"></a><!-- doxytag: member="itpp::Gamma_RNG::get_setup" ref="8e666953249038f262cece2d3ed952d6" args="() const " -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#8e666953249038f262cece2d3ed952d6">get_setup</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get lambda <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98e2e65456bca33fca602b2bd607235e"></a><!-- doxytag: member="itpp::Gamma_RNG::operator()" ref="98e2e65456bca33fca602b2bd607235e" args="()" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e">operator()</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get one sample. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d407bbcda8a39e3f07cac3fdf58ca430"></a><!-- doxytag: member="itpp::Gamma_RNG::operator()" ref="d407bbcda8a39e3f07cac3fdf58ca430" args="(int n)" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#d407bbcda8a39e3f07cac3fdf58ca430">operator()</a> (int n)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a sample vector. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b82b9d6c35579ab04f1a86a17571b47"></a><!-- doxytag: member="itpp::Gamma_RNG::operator()" ref="7b82b9d6c35579ab04f1a86a17571b47" args="(int h, int w)" -->
+mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Gamma__RNG.html#7b82b9d6c35579ab04f1a86a17571b47">operator()</a> (int h, int w)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a sample matrix. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Gamma distribution. <hr>The documentation for this class was generated from the following files:<ul>
+<li>work/mixpp/bdm/<a class="el" href="itpp__ext_8h-source.html">itpp_ext.h</a><li>work/mixpp/bdm/itpp_ext.cpp</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:58 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/inherit__graph__0.md5
===================================================================
--- /doc/html/inherit__graph__0.md5 (revision 23)
+++ /doc/html/inherit__graph__0.md5 (revision 32)
@@ -1,1 +1,1 @@
-6ddb55acb9fa25b72a34fb8e417f1176
+5a16a59059a7d5250d3ace922172c9c3
Index: /doc/html/functions_func.html
===================================================================
--- /doc/html/functions_func.html (revision 28)
+++ /doc/html/functions_func.html (revision 32)
@@ -49,4 +49,5 @@
     <li><a href="#index_t"><span>t</span></a></li>
     <li><a href="#index_w"><span>w</span></a></li>
+    <li><a href="#index_~"><span>~</span></a></li>
   </ul>
 </div>
@@ -56,4 +57,6 @@
 <p>
 <h3><a class="anchor" name="index__">- _ -</a></h3><ul>
+<li>_cached()
+: <a class="el" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247">enorm&lt; sq_T &gt;</a>
 <li>_dimu()
 : <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a>
@@ -63,20 +66,32 @@
 : <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
 <li>_epdf()
-: <a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">BM</a>
+: <a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classBM.html#3dc45554556926bde996a267636abe55">BM</a>
+, <a class="el" href="classMPF.html#549e08268a46a250f21a33d06f19276a">MPF&lt; BM_T &gt;</a>
+<li>_mu()
+: <a class="el" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753">enorm&lt; sq_T &gt;</a>
+<li>_param()
+: <a class="el" href="classegamma.html#44445c56e60b91b377f207f8d5089790">egamma</a>
+<li>_R()
+: <a class="el" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740">enorm&lt; sq_T &gt;</a>
+<li>_w()
+: <a class="el" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b">eEmp</a>
 </ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>add()
-: <a class="el" href="classRV.html#f068a86abb5a6e46fcf76c939d2ed2ec">RV</a>
+: <a class="el" href="classRV.html#18fa114b92017f7f80301a4f8d3a6382">RV</a>
 </ul>
 <h3><a class="anchor" name="index_b">- b -</a></h3><ul>
 <li>bayes()
-: <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
-, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
-, <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>
-, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classKalmanFull.html#13a041cd98ff157703766be275a657bb">KalmanFull</a>
+, <a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">PF</a>
+, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
+, <a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">MPF&lt; BM_T &gt;</a>
+, <a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">EKF&lt; sq_T &gt;</a>
 <li>bilinfn()
 : <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a>
 <li>BM()
-: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>
+: <a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>
 </ul>
 <h3><a class="anchor" name="index_c">- c -</a></h3><ul>
@@ -86,4 +101,7 @@
 <li>cols()
 : <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a>
+<li>condition()
+: <a class="el" href="classBMcond.html#3543cfe274c35f9033c24d8036a96c4d">BMcond</a>
+, <a class="el" href="classKFcondQR.html#c9ecf292a85327aa6309c9fd70ceb606">KFcondQR</a>
 <li>constfn()
 : <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a>
@@ -100,16 +118,28 @@
 <li>diffbifn()
 : <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a>
-<li>dupdate()
-: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>eEF()
+: <a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a>
+<li>egamma()
+: <a class="el" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1">egamma</a>
 <li>EKF()
-: <a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">EKF&lt; sq_T &gt;</a>
+<li>emix()
+: <a class="el" href="classemix.html#b0ac204af8919c22bce72816ed82019e">emix</a>
+<li>epdf()
+: <a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>
 <li>eval()
-: <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
+: <a class="el" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">diffbifn</a>
+, <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
+, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
+, <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
+, <a class="el" href="classeuni.html#95f29237feb32fcadf570a181d5a0918">euni</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>evalpdflog()
+: <a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">epdf</a>
+, <a class="el" href="classeuni.html#830fca2ffb6786530529c57eabc81666">euni</a>
+, <a class="el" href="classenorm.html#9517594915e897584eaebbb057ed8881">enorm&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_f">- f -</a></h3><ul>
@@ -120,8 +150,12 @@
 </ul>
 <h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>Gamma_RNG()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#e132860f825f427d63652edd02c25b54">itpp::Gamma_RNG</a>
+<li>get_setup()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#8e666953249038f262cece2d3ed952d6">itpp::Gamma_RNG</a>
 <li>getdata()
-: <a class="el" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1">DS</a>
+: <a class="el" href="classMemDS.html#23522b9e7dd0bb0c365cc9cde4c05449">MemDS</a>
+, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
 , <a class="el" href="classMemDS.html#900f1e1c9eb950f87e557c068628e60e">MemDS</a>
-, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
 </ul>
 <h3><a class="anchor" name="index_i">- i -</a></h3><ul>
@@ -133,5 +167,5 @@
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
 <li>Kalman()
-: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a>
+: <a class="el" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman&lt; sq_T &gt;</a>
 <li>KalmanFull()
 : <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
@@ -142,15 +176,35 @@
 , <a class="el" href="classMemDS.html#5f72b555e0e4a61de1440c457cf57007">MemDS</a>
 <li>logdet()
-: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
-, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a>
+: <a class="el" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45">sqmat</a>
+, <a class="el" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>mean()
+: <a class="el" href="classepdf.html#5b61fae74d370d2216576d598c1a74ef">epdf</a>
+, <a class="el" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classemix.html#dcb3f927bf061eac6229850158ca1558">emix</a>
+, <a class="el" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d">euni</a>
+, <a class="el" href="classegamma.html#6617890ffa40767fc196876534d4119d">egamma</a>
+, <a class="el" href="classeEmp.html#de42454cb65a17fd8662d207dd59aacf">eEmp</a>
+<li>mgamma()
+: <a class="el" href="classmgamma.html#af43e61b86900c0398d5c0ffc83b94e6">mgamma</a>
+<li>mlnorm()
+: <a class="el" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5">mlnorm&lt; sq_T &gt;</a>
+<li>mpdf()
+: <a class="el" href="classmpdf.html#581ecf362185d37c08bb31cb9d046d6f">mpdf</a>
+<li>MPF()
+: <a class="el" href="classMPF.html#827a66609cf69a832535d52233f76fa0">MPF&lt; BM_T &gt;</a>
 <li>mult_sym()
-: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
-, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>
+: <a class="el" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa">sqmat</a>
+, <a class="el" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e">fsqmat</a>
+<li>mult_sym_t()
+: <a class="el" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89">fsqmat</a>
+, <a class="el" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325">sqmat</a>
 </ul>
 <h3><a class="anchor" name="index_o">- o -</a></h3><ul>
 <li>operator()()
-: <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e">itpp::Gamma_RNG</a>
+, <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+, <a class="el" href="classitpp_1_1Gamma__RNG.html#7b82b9d6c35579ab04f1a86a17571b47">itpp::Gamma_RNG</a>
 <li>opupdt()
 : <a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">fsqmat</a>
@@ -159,10 +213,10 @@
 <h3><a class="anchor" name="index_q">- q -</a></h3><ul>
 <li>qform()
-: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
-, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a>
+: <a class="el" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce">sqmat</a>
+, <a class="el" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_r">- r -</a></h3><ul>
 <li>resample()
-: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
+: <a class="el" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59">eEmp</a>
 <li>rows()
 : <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a>
@@ -174,9 +228,22 @@
 : <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>
 , <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">emix</a>
+, <a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">euni</a>
+, <a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">egamma</a>
+, <a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">eEmp</a>
 <li>samplecond()
-: <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+: <a class="el" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18">mlnorm&lt; sq_T &gt;</a>
+, <a class="el" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139">mgamma</a>
+, <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+<li>set_est()
+: <a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">Kalman&lt; sq_T &gt;</a>
+<li>set_parameters()
+: <a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classegamma.html#8e348b89be82b70471fe8c5630f61339">egamma</a>
+<li>setup()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe">itpp::Gamma_RNG</a>
 <li>sqrt_mult()
-: <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>
-, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>
+: <a class="el" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c">sqmat</a>
+, <a class="el" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">fsqmat</a>
 <li>step()
 : <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
@@ -202,5 +269,19 @@
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~BM()
+: <a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">BM</a>
+<li>~epdf()
+: <a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">epdf</a>
+<li>~fnc()
+: <a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">fnc</a>
+<li>~fsqmat()
+: <a class="el" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e">fsqmat</a>
+<li>~mpdf()
+: <a class="el" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb">mpdf</a>
+<li>~sqmat()
+: <a class="el" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">sqmat</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classlinfn-members.html
===================================================================
--- /doc/html/classlinfn-members.html (revision 28)
+++ /doc/html/classlinfn-members.html (revision 32)
@@ -30,5 +30,6 @@
   <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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a>()</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 Thu Feb 28 16:54:52 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/inherit__graph__4.md5
===================================================================
--- /doc/html/inherit__graph__4.md5 (revision 23)
+++ /doc/html/inherit__graph__4.md5 (revision 32)
@@ -1,1 +1,1 @@
-a3da0188ada230bb8cd4195d4472d1f8
+0a2d27a86fd18936a73bdff2f5d54587
Index: /doc/html/inherit__graph__8.md5
===================================================================
--- /doc/html/inherit__graph__8.md5 (revision 32)
+++ /doc/html/inherit__graph__8.md5 (revision 32)
@@ -0,0 +1,1 @@
+a3da0188ada230bb8cd4195d4472d1f8
Index: /doc/html/classPF__coll__graph.map
===================================================================
--- /doc/html/classPF__coll__graph.map (revision 23)
+++ /doc/html/classPF__coll__graph.map (revision 32)
@@ -1,1 +1,17 @@
-<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="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,161,48,188">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="72,7,109,33">
+<area shape="rect" title="rv" alt="" coords="72,31,80,39">
+<area shape="rect" title="rv" alt="" coords="24,157,32,165">
+<area shape="rect" href="$classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="64,215,120,241">
+<area shape="rect" title="rv\nrvc" alt="" coords="87,31,95,39">
+<area shape="rect" title="rv\nrvc" alt="" coords="88,211,96,219">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="135,105,185,132">
+<area shape="rect" title="rv" alt="" coords="97,31,105,39">
+<area shape="rect" title="rv" alt="" coords="147,101,155,109">
+<area shape="rect" title="obs\npar" alt="" coords="88,239,96,247">
+<area shape="rect" title="obs\npar" alt="" coords="88,323,96,331">
+<area shape="rect" title="ep" alt="" coords="147,129,155,137">
+<area shape="rect" title="ep" alt="" coords="96,211,104,219">
+<area shape="rect" href="$classeEmp.html" title="Weighted empirical density." alt="" coords="144,215,203,241">
+<area shape="rect" title="ePdf" alt="" coords="159,239,167,247">
+<area shape="rect" title="ePdf" alt="" coords="97,323,105,331">
Index: /doc/html/classeEF__inherit__graph.map
===================================================================
--- /doc/html/classeEF__inherit__graph.map (revision 23)
+++ /doc/html/classeEF__inherit__graph.map (revision 32)
@@ -1,2 +1,6 @@
-<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188">
-<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33">
+<area shape="rect" href="$classegamma.html" title="Gamma posterior density." alt="" coords="5,167,85,193">
+<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="109,167,229,193">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="155,263,285,289">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="144,7,195,33">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="167,191,175,199">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="199,259,207,267">
Index: /doc/html/classitpp_1_1Gamma__RNG-members.html
===================================================================
--- /doc/html/classitpp_1_1Gamma__RNG-members.html (revision 32)
+++ /doc/html/classitpp_1_1Gamma__RNG-members.html (revision 32)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>itpp::Gamma_RNG Member List</h1>This is the complete list of members for <a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#e132860f825f427d63652edd02c25b54">Gamma_RNG</a>(double a=1.0, double b=1.0)</td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#8e666953249038f262cece2d3ed952d6">get_setup</a>() const </td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e">operator()</a>()</td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#d407bbcda8a39e3f07cac3fdf58ca430">operator()</a>(int n)</td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#7b82b9d6c35579ab04f1a86a17571b47">operator()</a>(int h, int w)</td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe">setup</a>(double a0, double b0)</td><td><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a></td><td><code> [inline]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:58 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classsqmat-members.html
===================================================================
--- /doc/html/classsqmat-members.html (revision 28)
+++ /doc/html/classsqmat-members.html (revision 32)
@@ -25,12 +25,14 @@
   <tr class="memlist"><td><a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">cols</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dim</b> (defined in <a class="el" href="classsqmat.html">sqmat</a>)</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">logdet</a>()=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">mult_sym</a>(const mat &amp;C, bool trans=true)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45">logdet</a>() const =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#60fbbfa9e483b8187c135f787ee53afa">mult_sym</a>(const mat &amp;C)=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#6909e906da17725b1b80f3cae7cf3325">mult_sym_t</a>(const mat &amp;C)=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#b223484796661f2dadb5607a86ce0581">opupdt</a>(const vec &amp;v, double w)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">qform</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce">qform</a>(const 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#071e80ced9cc3b8cbb360fa7462eb646">rows</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqrt_mult</a>(vec &amp;v)=0</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c">sqrt_mult</a>(const 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 Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">~sqmat</a>()</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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__inherit__graph.map
===================================================================
--- /doc/html/classPF__inherit__graph.map (revision 23)
+++ /doc/html/classPF__inherit__graph.map (revision 32)
@@ -1,2 +1,2 @@
-<area shape="rect" href="$classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="5,161,77,188">
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="20,7,63,33">
+<area shape="rect" href="$classMPF.html" title="Marginalized Particle filter." alt="" coords="5,161,120,188">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,7,84,33">
Index: /doc/html/index.html
===================================================================
--- /doc/html/index.html (revision 28)
+++ /doc/html/index.html (revision 32)
@@ -16,5 +16,5 @@
 <h1>mixpp Documentation</h1>
 <p>
-<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;
+<h3 align="center">1 </h3><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classKalmanFull.html
===================================================================
--- /doc/html/classKalmanFull.html (revision 28)
+++ /doc/html/classKalmanFull.html (revision 32)
@@ -21,23 +21,9 @@
   </ul>
 </div>
-<h1>KalmanFull Class Reference</h1><!-- doxytag: class="KalmanFull" --><!-- doxytag: inherits="BM" -->Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!  
+<h1>KalmanFull Class Reference</h1><!-- doxytag: class="KalmanFull" -->Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon!  
 <a href="#_details">More...</a>
 <p>
 <code>#include &lt;<a class="el" href="libKF_8h-source.html">libKF.h</a>&gt;</code>
 <p>
-<div class="dynheader">
-Inheritance diagram for KalmanFull:</div>
-<div class="dynsection">
-<p><center><img src="classKalmanFull__inherit__graph.png" border="0" usemap="#KalmanFull__inherit__map" alt="Inheritance graph"></center>
-<map name="KalmanFull__inherit__map">
-<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="29,7,72,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-<div class="dynheader">
-Collaboration diagram for KalmanFull:</div>
-<div class="dynsection">
-<p><center><img src="classKalmanFull__coll__graph.png" border="0" usemap="#KalmanFull__coll__map" alt="Collaboration graph"></center>
-<map name="KalmanFull__coll__map">
-<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="29,7,72,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
 <p>
@@ -49,19 +35,8 @@
 
 <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 <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13a041cd98ff157703766be275a657bb"></a><!-- doxytag: member="KalmanFull::bayes" ref="13a041cd98ff157703766be275a657bb" args="(const vec &amp;dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalmanFull.html#13a041cd98ff157703766be275a657bb">bayes</a> (const vec &amp;dt)</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="" -->
@@ -73,12 +48,4 @@
 
 <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)" -->
@@ -87,35 +54,7 @@
 </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><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>
+Basic <a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with full matrices (education purpose only)! Will be deleted soon! <hr>The documentation for this class was generated from the following files:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a><li>work/mixpp/bdm/estim/libKF.cpp</ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:50 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__coll__graph.map
===================================================================
--- /doc/html/classmpdf__coll__graph.map (revision 23)
+++ /doc/html/classmpdf__coll__graph.map (revision 32)
@@ -1,3 +1,8 @@
-<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="15,7,52,33">
-<area shape="rect" title="rv\nrvc" alt="" coords="29,31,37,39">
-<area shape="rect" title="rv\nrvc" alt="" coords="29,115,37,123">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="21,7,59,33">
+<area shape="rect" title="rv\nrvc" alt="" coords="32,31,40,39">
+<area shape="rect" title="rv\nrvc" alt="" coords="27,200,35,208">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="56,105,107,132">
+<area shape="rect" title="rv" alt="" coords="43,31,51,39">
+<area shape="rect" title="rv" alt="" coords="72,101,80,109">
+<area shape="rect" title="ep" alt="" coords="71,129,79,137">
+<area shape="rect" title="ep" alt="" coords="36,200,44,208">
Index: /doc/html/classMPF__coll__graph.md5
===================================================================
--- /doc/html/classMPF__coll__graph.md5 (revision 32)
+++ /doc/html/classMPF__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+1d0defc88319ad812070eb3c2f66d54c
Index: /doc/html/inherits.html
===================================================================
--- /doc/html/inherits.html (revision 28)
+++ /doc/html/inherits.html (revision 32)
@@ -24,7 +24,7 @@
 <p>
 <table border="0" cellspacing="10" cellpadding="0">
-<tr><td><img src="inherit__graph__0.png" border="0" alt="" usemap="#BM_map">
-<map name="BM_map">
-<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,81,48,108"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="105,5,233,32"><area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="96,56,243,83"><area shape="rect" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="124,107,215,133"><area shape="rect" href="classPF.html" title="A Particle Filter prototype." alt="" coords="151,157,188,184"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="292,56,396,83"><area shape="rect" href="classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="308,157,380,184"></map></td></tr>
+<tr><td><img src="inherit__graph__0.png" border="0" alt="" usemap="#BMcond_map">
+<map name="BMcond_map">
+<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="5,56,48,83"><area shape="rect" href="classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="101,5,229,32"><area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="97,56,233,83"><area shape="rect" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="147,157,184,184"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="288,56,392,83"><area shape="rect" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="296,107,384,133"><area shape="rect" href="classMPF.html" title="Marginalized Particle filter." alt="" coords="283,157,397,184"><area shape="rect" href="classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="129,107,201,133"></map></td></tr>
 <tr><td><img src="inherit__graph__1.png" border="0" alt="" usemap="#DS_map">
 <map name="DS_map">
@@ -32,19 +32,31 @@
 <tr><td><img src="inherit__graph__2.png" border="0" alt="" usemap="#epdf_map">
 <map name="epdf_map">
-<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,5,56,32"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="105,5,151,32"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="201,5,321,32"></map></td></tr>
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,132,56,159"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="112,56,157,83"><area shape="rect" href="classeEmp.html" title="Weighted empirical density." alt="" coords="105,107,164,133"><area shape="rect" href="classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="108,157,161,184"><area shape="rect" href="classeuni.html" title="Uniform distributed density on a rectangular support." alt="" coords="111,208,159,235"><area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="239,5,319,32"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="219,56,339,83"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="213,107,344,133"></map></td></tr>
 <tr><td><img src="inherit__graph__3.png" border="0" alt="" usemap="#fnc_map">
 <map name="fnc_map">
 <area shape="rect" href="classfnc.html" title="Class representing function $f(x)$ of variable $x$ represented by rv." alt="" coords="7,56,47,83"><area shape="rect" href="classconstfn.html" title="class representing function $f(x) = a$, here rv is empty" alt="" coords="96,5,165,32"><area shape="rect" href="classdiffbifn.html" title="Class representing a differentiable function of two variables $f(x,u)$." alt="" coords="97,56,164,83"><area shape="rect" href="classlinfn.html" title="Class representing function $f(x) = Ax+B$." alt="" coords="107,107,155,133"><area shape="rect" href="classbilinfn.html" title="Class representing function $f(x,u) = Ax+Bu$." alt="" coords="213,56,272,83"></map></td></tr>
-<tr><td><img src="inherit__graph__4.png" border="0" alt="" usemap="#mpdf_map">
+<tr><td><img src="inherit__graph__4.png" border="0" alt="" usemap="#itpp_1_1Gamma__RNG_map">
+<map name="itpp_1_1Gamma__RNG_map">
+<area shape="rect" href="classitpp_1_1Gamma__RNG.html" title="Gamma distribution." alt="" coords="5,5,149,32"></map></td></tr>
+<tr><td><img src="inherit__graph__5.png" border="0" alt="" usemap="#KalmanFull_map">
+<map name="KalmanFull_map">
+<area shape="rect" href="classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="5,5,96,32"></map></td></tr>
+<tr><td><img src="inherit__graph__6.png" border="0" alt="" usemap="#mgamma_map">
+<map name="mgamma_map">
+<area shape="rect" href="classmgamma.html" title="Gamma random walk." alt="" coords="5,5,91,32"></map></td></tr>
+<tr><td><img src="inherit__graph__7.png" border="0" alt="" usemap="#mlnorm_3_01sq__T_01_4_map">
+<map name="mlnorm_3_01sq__T_01_4_map">
+<area shape="rect" href="classmlnorm.html" title="Normal distributed linear function with linear function of mean value;." alt="" coords="7,5,135,32"></map></td></tr>
+<tr><td><img src="inherit__graph__8.png" border="0" alt="" usemap="#mpdf_map">
 <map name="mpdf_map">
 <area shape="rect" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="5,5,61,32"></map></td></tr>
-<tr><td><img src="inherit__graph__5.png" border="0" alt="" usemap="#RV_map">
+<tr><td><img src="inherit__graph__9.png" border="0" alt="" usemap="#RV_map">
 <map name="RV_map">
 <area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="7,5,44,32"></map></td></tr>
-<tr><td><img src="inherit__graph__6.png" border="0" alt="" usemap="#sqmat_map">
+<tr><td><img src="inherit__graph__10.png" border="0" alt="" usemap="#sqmat_map">
 <map name="sqmat_map">
 <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 Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:58 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 28)
+++ /doc/html/classdiffbifn-members.html (revision 32)
@@ -35,5 +35,6 @@
   <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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a>()</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 Thu Feb 28 16:54: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__incl.map
===================================================================
--- /doc/html/libKF_8h__incl.map (revision 23)
+++ /doc/html/libKF_8h__incl.map (revision 32)
@@ -1,4 +1,6 @@
-<area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="44,239,143,265">
+<area shape="rect" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="128,239,227,265">
 <area shape="rect" href="$libFN_8h&#45;source.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="59,84,165,111">
-<area shape="rect" href="$libDC_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="187,161,304,188">
-<area shape="rect" href="$libBM_8h.html" title="libBM.h" alt="" coords="96,161,163,188">
+<area shape="rect" href="$libEF_8h.html" title="Bayesian Filtering for linear Gaussian models (Kalman Filter) and extensions." alt="" coords="189,84,291,111">
+<area shape="rect" href="$libBM_8h.html" title="libBM.h" alt="" coords="109,161,176,188">
+<area shape="rect" href="$libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="251,161,368,188">
+<area shape="rect" href="$itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="392,161,488,188">
Index: /doc/html/classPF__coll__graph.md5
===================================================================
--- /doc/html/classPF__coll__graph.md5 (revision 23)
+++ /doc/html/classPF__coll__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-65c7526e0e83e6179c68c2ff1e032261
+e31b6f167e746dc075ed1135d9514c9e
Index: /doc/html/classKalmanFull-members.html
===================================================================
--- /doc/html/classKalmanFull-members.html (revision 28)
+++ /doc/html/classKalmanFull-members.html (revision 32)
@@ -22,16 +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="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#13a041cd98ff157703766be275a657bb">bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>(mat A, mat B, mat C, mat D, mat R, mat Q, mat P0, vec mu0)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">mu</a></td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalmanFull.html">KalmanFull</a>)</td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td><code> [friend]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">P</a></td><td><a class="el" href="classKalmanFull.html">KalmanFull</a></td><td></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:50 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__inherit__graph.md5
===================================================================
--- /doc/html/classeEF__inherit__graph.md5 (revision 23)
+++ /doc/html/classeEF__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-82b61acbe4ec3fc52032591427413f2c
+d73db8afd837987ace121c0c28affb22
Index: /doc/html/classbilinfn.html
===================================================================
--- /doc/html/classbilinfn.html (revision 28)
+++ /doc/html/classbilinfn.html (revision 32)
@@ -199,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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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-members.html
===================================================================
--- /doc/html/classeEF-members.html (revision 28)
+++ /doc/html/classeEF-members.html (revision 32)
@@ -23,8 +23,16 @@
 <h1>eEF Member List</h1>This is the complete list of members for <a class="el" href="classeEF.html">eEF</a>, including all inherited members.<p><table>
   <tr bgcolor="#f0f0f0"><td><b>dupdate</b>(mat &amp;v, double nu=1.0) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a>()</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>eEF</b>(const RV &amp;rv) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</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#5b61fae74d370d2216576d598c1a74ef">mean</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>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a>()=0</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [pure virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>tupdate</b>(double phi, mat &amp;vbar, double nubar) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classPF__inherit__graph.md5
===================================================================
--- /doc/html/classPF__inherit__graph.md5 (revision 23)
+++ /doc/html/classPF__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-56c339d57be27eb168d655762c7340cf
+1d95eb517c724597222e38b5557f51e1
Index: /doc/html/classmpdf__coll__graph.md5
===================================================================
--- /doc/html/classmpdf__coll__graph.md5 (revision 23)
+++ /doc/html/classmpdf__coll__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-6f3f8686fa33512cb157ef3d03b643be
+8c71f87af6165717b18383921af58e33
Index: /doc/html/classeuni.html
===================================================================
--- /doc/html/classeuni.html (revision 32)
+++ /doc/html/classeuni.html (revision 32)
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: euni Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>euni Class Reference</h1><!-- doxytag: class="euni" --><!-- doxytag: inherits="epdf" -->Uniform distributed density on a rectangular support.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for euni:</div>
+<div class="dynsection">
+<p><center><img src="classeuni__inherit__graph.png" border="0" usemap="#euni__inherit__map" alt="Inheritance graph"></center>
+<map name="euni__inherit__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,7,56,33"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for euni:</div>
+<div class="dynsection">
+<p><center><img src="classeuni__coll__graph.png" border="0" usemap="#euni__coll__map" alt="Collaboration graph"></center>
+<map name="euni__coll__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,103,56,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="12,7,49,33"><area shape="rect" title="rv" alt="" coords="27,31,35,39"><area shape="rect" title="rv" alt="" coords="27,99,35,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classeuni-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2537a6c239cff52e3ba814851a1116cd"></a><!-- doxytag: member="euni::euni" ref="2537a6c239cff52e3ba814851a1116cd" args="(const RV rv)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>euni</b> (const <a class="el" href="classRV.html">RV</a> rv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95f29237feb32fcadf570a181d5a0918"></a><!-- doxytag: member="euni::eval" ref="95f29237feb32fcadf570a181d5a0918" args="(const vec &amp;val)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#95f29237feb32fcadf570a181d5a0918">eval</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="830fca2ffb6786530529c57eabc81666"></a><!-- doxytag: member="euni::evalpdflog" ref="830fca2ffb6786530529c57eabc81666" args="(const vec &amp;val)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#830fca2ffb6786530529c57eabc81666">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">sample</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#0f71562e3e919aba823cb7d9d420ad4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4fd7c6a05100616ad16ece405cad7bf2"></a><!-- doxytag: member="euni::set_parameters" ref="4fd7c6a05100616ad16ece405cad7bf2" args="(const vec &amp;low0, const vec &amp;high0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (const vec &amp;low0, const vec &amp;high0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34a2f2d23158c40b97b44dfe551a1b3d"></a><!-- doxytag: member="euni::mean" ref="34a2f2d23158c40b97b44dfe551a1b3d" args="()" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d">mean</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <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="ef42cd8d7645422048d46c46ec5cdac1"></a><!-- doxytag: member="euni::low" ref="ef42cd8d7645422048d46c46ec5cdac1" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1">low</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">lower bound on support <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71b6d6b41aeb61a7f76f682b72119231"></a><!-- doxytag: member="euni::high" ref="71b6d6b41aeb61a7f76f682b72119231" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231">high</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">upper bound on support <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52a6ff4a54010f88a6a19fca605c64a4"></a><!-- doxytag: member="euni::distance" ref="52a6ff4a54010f88a6a19fca605c64a4" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4">distance</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63105490e946e43372d6187ad1bafdda"></a><!-- doxytag: member="euni::nk" ref="63105490e946e43372d6187ad1bafdda" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html#63105490e946e43372d6187ad1bafdda">nk</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">normalizing coefficients <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f445a0ce24f39d14c1a4eed53fc8e2c3"></a><!-- doxytag: member="euni::lnk" ref="f445a0ce24f39d14c1a4eed53fc8e2c3" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>lnk</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="euni::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Uniform distributed density on a rectangular support. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0f71562e3e919aba823cb7d9d420ad4c"></a><!-- doxytag: member="euni::sample" ref="0f71562e3e919aba823cb7d9d420ad4c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">vec euni::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
+<p>
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
+<p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</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 Thu Feb 28 16:54:49 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libFN_8h-source.html
===================================================================
--- /doc/html/libFN_8h-source.html (revision 28)
+++ /doc/html/libFN_8h-source.html (revision 32)
@@ -103,5 +103,5 @@
 <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;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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 28)
+++ /doc/html/classenorm.html (revision 32)
@@ -31,5 +31,5 @@
 <p><center><img src="classenorm__inherit__graph.png" border="0" usemap="#enorm_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center>
 <map name="enorm_3_01sq__T_01_4__inherit__map">
-<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="40,7,91,33"></map>
+<area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="5,263,136,289"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="67,191,75,199"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="67,259,75,267"><area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="48,87,93,113"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="45,7,96,33"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -38,5 +38,5 @@
 <p><center><img src="classenorm__coll__graph.png" border="0" usemap="#enorm_3_01sq__T_01_4__coll__map" alt="Collaboration graph"></center>
 <map name="enorm_3_01sq__T_01_4__coll__map">
-<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="8,183,53,209"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,103,56,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="12,7,49,33"><area shape="rect" title="rv" alt="" coords="27,31,35,39"><area shape="rect" title="rv" alt="" coords="27,99,35,107"><area shape="rect" title="R" alt="" coords="93,207,101,215"><area shape="rect" title="R" alt="" coords="77,275,85,283"></map>
+<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="8,183,53,209"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,103,56,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="12,7,49,33"><area shape="rect" title="rv" alt="" coords="27,31,35,39"><area shape="rect" title="rv" alt="" coords="27,99,35,107"><area shape="rect" title="_iR\nR" alt="" coords="95,207,103,215"><area shape="rect" title="_iR\nR" alt="" coords="77,291,85,299"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -45,6 +45,9 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="183891111686898adef0f6ca292e600d"></a><!-- doxytag: member="enorm::enorm" ref="183891111686898adef0f6ca292e600d" args="(RV &amp;rv, vec &amp;mu, sq_T &amp;R)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><b>enorm</b> (<a class="el" href="classRV.html">RV</a> &amp;rv, vec &amp;mu, sq_T &amp;R)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b5cb487a2570e8109bfdc0df149aa06"></a><!-- doxytag: member="enorm::enorm" ref="7b5cb487a2570e8109bfdc0df149aa06" args="(RV &amp;rv)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>enorm</b> (<a class="el" href="classRV.html">RV</a> &amp;rv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1394a65caa6e00d42e00cc99b12227af"></a><!-- doxytag: member="enorm::set_parameters" ref="1394a65caa6e00d42e00cc99b12227af" args="(const vec &amp;mu, const sq_T &amp;R)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (const vec &amp;<a class="el" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">mu</a>, const sq_T &amp;<a class="el" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">R</a>)</td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b5fd142b6b17ea334597960e3fe126a"></a><!-- doxytag: member="enorm::tupdate" ref="5b5fd142b6b17ea334597960e3fe126a" args="(double phi, mat &amp;vbar, double nubar)" -->
@@ -55,12 +58,4 @@
 void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dupdate</b> (mat &amp;v, double nu=1.0)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a1a522504c7788dfd7fb733157ee39e"></a><!-- doxytag: member="enorm::tupdate" ref="2a1a522504c7788dfd7fb733157ee39e" args="()" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#2a1a522504c7788dfd7fb733157ee39e">tupdate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">tupdate used in KF <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1b0faf61260de09cf63bf823add5b32"></a><!-- doxytag: member="enorm::dupdate" ref="d1b0faf61260de09cf63bf823add5b32" args="()" -->
-double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">dupdate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dupdate used in KF <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">sample</a> ()</td></tr>
 
@@ -73,7 +68,47 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4de82a0d7ba9eaf31206318ae35d0d5"></a><!-- doxytag: member="enorm::RNG" ref="a4de82a0d7ba9eaf31206318ae35d0d5" args="" -->
-Normal_RNG&nbsp;</td><td class="memItemRight" valign="bottom"><b>RNG</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9517594915e897584eaebbb057ed8881"></a><!-- doxytag: member="enorm::evalpdflog" ref="9517594915e897584eaebbb057ed8881" args="(const vec &amp;val)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#9517594915e897584eaebbb057ed8881">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="191c1220c3ddd0c5f54e78f19b57ebd5"></a><!-- doxytag: member="enorm::mean" ref="191c1220c3ddd0c5f54e78f19b57ebd5" args="()" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5">mean</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3be0cb541ec9b88e5aa3f60307bbc753"></a><!-- doxytag: member="enorm::_mu" ref="3be0cb541ec9b88e5aa3f60307bbc753" args="()" -->
+vec *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753">_mu</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns a pointer to the internal mean value. Use with Care! <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8725c534863c4fc2bddef0edfb95a740"></a><!-- doxytag: member="enorm::_R" ref="8725c534863c4fc2bddef0edfb95a740" args="(sq_T *&amp;pR, sq_T *&amp;piR)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740">_R</a> (sq_T *&amp;pR, sq_T *&amp;piR)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns pointers to the internal variance and its inverse. Use with Care! <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9ca4f2ca42568e40ca146168e7f3247"></a><!-- doxytag: member="enorm::_cached" ref="c9ca4f2ca42568e40ca146168e7f3247" args="(bool what)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247">_cached</a> (bool what)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set cache as inconsistent <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="71fde0d54bba147e00f612577f95ad20"></a><!-- doxytag: member="enorm::mu" ref="71fde0d54bba147e00f612577f95ad20" args="" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">mu</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mean value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ccc8d8514d644ef1c98d8ab023748a1"></a><!-- doxytag: member="enorm::R" ref="4ccc8d8514d644ef1c98d8ab023748a1" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">R</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Covariance matrix in decomposed form. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82f39ac49911d7097f4bfe385deba355"></a><!-- doxytag: member="enorm::_iR" ref="82f39ac49911d7097f4bfe385deba355" args="" -->
+sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#82f39ac49911d7097f4bfe385deba355">_iR</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache: _iR = inv(R);. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae12db77283a96e0f14a3eae93dc3bf1"></a><!-- doxytag: member="enorm::cached" ref="ae12db77283a96e0f14a3eae93dc3bf1" args="" -->
+bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1">cached</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">indicator if <code>_iR</code> is chached <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6938fc390a19cdaf6ad4503fcbaada4e"></a><!-- doxytag: member="enorm::dim" ref="6938fc390a19cdaf6ad4503fcbaada4e" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e">dim</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimension (redundant from rv.count() for easier coding ) <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="enorm::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
 
 </table>
@@ -112,5 +147,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 Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:48 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/globals_enum.html
===================================================================
--- /doc/html/globals_enum.html (revision 32)
+++ /doc/html/globals_enum.html (revision 32)
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Class Members</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><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>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="globals.html"><span>All</span></a></li>
+    <li><a href="globals_vars.html"><span>Variables</span></a></li>
+    <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+  </ul>
+</div>
+&nbsp;
+<p>
+<ul>
+<li>RESAMPLING_METHOD
+: <a class="el" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212">libEF.h</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classMPF.html
===================================================================
--- /doc/html/classMPF.html (revision 32)
+++ /doc/html/classMPF.html (revision 32)
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: MPF&lt; BM_T &gt; Class Template Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>MPF&lt; BM_T &gt; Class Template Reference</h1><!-- doxytag: class="MPF" --><!-- doxytag: inherits="PF" -->Marginalized Particle filter.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libPF_8h-source.html">libPF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for MPF&lt; BM_T &gt;:</div>
+<div class="dynsection">
+<p><center><img src="classMPF__inherit__graph.png" border="0" usemap="#MPF_3_01BM__T_01_4__inherit__map" alt="Inheritance graph"></center>
+<map name="MPF_3_01BM__T_01_4__inherit__map">
+<area shape="rect" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="44,84,81,111"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,7,84,33"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for MPF&lt; BM_T &gt;:</div>
+<div class="dynsection">
+<p><center><img src="classMPF__coll__graph.png" border="0" usemap="#MPF_3_01BM__T_01_4__coll__map" alt="Collaboration graph"></center>
+<map name="MPF_3_01BM__T_01_4__coll__map">
+<area shape="rect" href="classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="109,327,147,353"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,161,84,188"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="76,7,113,33"><area shape="rect" title="rvc" alt="" coords="72,27,80,35"><area shape="rect" title="rvc" alt="" coords="116,424,124,432"><area shape="rect" title="rv" alt="" coords="88,31,96,39"><area shape="rect" title="rv" alt="" coords="61,157,69,165"><area shape="rect" href="classmpdf.html" title="Conditional probability density, e.g. modeling some dependencies." alt="" coords="100,215,156,241"><area shape="rect" title="rv\nrvc" alt="" coords="96,31,104,39"><area shape="rect" title="rv\nrvc" alt="" coords="123,211,131,219"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="176,105,227,132"><area shape="rect" title="rv" alt="" coords="111,31,119,39"><area shape="rect" title="rv" alt="" coords="185,101,193,109"><area shape="rect" title="obs\npar" alt="" coords="124,239,132,247"><area shape="rect" title="obs\npar" alt="" coords="124,323,132,331"><area shape="rect" title="ep" alt="" coords="188,129,196,137"><area shape="rect" title="ep" alt="" coords="133,211,141,219"><area shape="rect" href="classeEmp.html" title="Weighted empirical density." alt="" coords="180,215,239,241"><area shape="rect" href="classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="240,271,293,297"><area shape="rect" title="ePdf" alt="" coords="195,239,203,247"><area shape="rect" title="ePdf" alt="" coords="133,323,141,331"><area shape="rect" title="Bms" alt="" coords="249,351,257,359"><area shape="rect" title="Bms" alt="" coords="185,419,193,427"><area shape="rect" title="est" alt="" coords="236,293,244,301"><area shape="rect" title="est" alt="" coords="173,419,181,427"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classMPF-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="827a66609cf69a832535d52233f76fa0"></a><!-- doxytag: member="MPF::MPF" ref="827a66609cf69a832535d52233f76fa0" args="(const RV &amp;rv0, mpdf &amp;par0, mpdf &amp;obs0, int n, const BM_T &amp;BMcond0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMPF.html#827a66609cf69a832535d52233f76fa0">MPF</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv0, <a class="el" href="classmpdf.html">mpdf</a> &amp;par0, <a class="el" href="classmpdf.html">mpdf</a> &amp;obs0, int <a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a>, const BM_T &amp;BMcond0)</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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">bayes</a> (const vec &amp;dt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#55daf8e4b6553dd9f47c692de7931623"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="549e08268a46a250f21a33d06f19276a"></a><!-- doxytag: member="MPF::_epdf" ref="549e08268a46a250f21a33d06f19276a" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMPF.html#549e08268a46a250f21a33d06f19276a">_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 class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c5caa2c15604338b773d7a8125e7a1b5"></a><!-- doxytag: member="MPF::set_est" ref="c5caa2c15604338b773d7a8125e7a1b5" args="(const epdf *&amp;epdf0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_est</b> (const <a class="el" href="classepdf.html">epdf</a> *&amp;epdf0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87b07867fd4c133aa89a18543f68d9f9"></a><!-- doxytag: member="MPF::bayes" ref="87b07867fd4c133aa89a18543f68d9f9" args="(mat Dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">bayes</a> (mat Dt)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Batch Bayes rule (columns of Dt are observations). <br></td></tr>
+<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c2f44ed7a4eaa42e07bdb58d503f280"></a><!-- doxytag: member="MPF::n" ref="2c2f44ed7a4eaa42e07bdb58d503f280" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of particles; <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2ac56d1e3ffbb4ff0b3f02e6399deb0"></a><!-- doxytag: member="MPF::ePdf" ref="a2ac56d1e3ffbb4ff0b3f02e6399deb0" args="" -->
+<a class="el" href="classeEmp.html">eEmp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">ePdf</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a97d12da4d1832c0b0c6ec5877f921f0"></a><!-- doxytag: member="MPF::w" ref="a97d12da4d1832c0b0c6ec5877f921f0" args="" -->
+vec &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0">w</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer into <code><a class="el" href="classeEmp.html" title="Weighted empirical density.">eEmp</a></code> <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="361743a0b5b89de1a29e91d1343b2565"></a><!-- doxytag: member="MPF::samples" ref="361743a0b5b89de1a29e91d1343b2565" args="" -->
+Array&lt; vec &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">samples</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer into <code><a class="el" href="classeEmp.html" title="Weighted empirical density.">eEmp</a></code> <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d92ac103f88f8c21e197e90af5695a09"></a><!-- doxytag: member="MPF::par" ref="d92ac103f88f8c21e197e90af5695a09" args="" -->
+<a class="el" href="classmpdf.html">mpdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">par</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter evolution model. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd0a687a4515333d6809147335854e77"></a><!-- doxytag: member="MPF::obs" ref="dd0a687a4515333d6809147335854e77" args="" -->
+<a class="el" href="classmpdf.html">mpdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">obs</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Observation model. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="MPF::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5623fef6572a08c2b53b8c87b82dc979"></a><!-- doxytag: member="MPF::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="MPF::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>
+<h3>template&lt;class BM_T&gt;<br>
+ class MPF&lt; BM_T &gt;</h3>
+
+Marginalized Particle filter. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="55daf8e4b6553dd9f47c692de7931623"></a><!-- doxytag: member="MPF::bayes" ref="55daf8e4b6553dd9f47c692de7931623" args="(const vec &amp;dt)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class BM_T&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classMPF.html">MPF</a>&lt; BM_T &gt;::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> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Incremental Bayes rule. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dt</em>&nbsp;</td><td>vector of input data </td></tr>
+  </table>
+</dl>
+
+<p>Reimplemented from <a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">PF</a>.</p>
+
+</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="libPF_8h-source.html">libPF.h</a></ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:55 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libKF_8h__incl.md5
===================================================================
--- /doc/html/libKF_8h__incl.md5 (revision 23)
+++ /doc/html/libKF_8h__incl.md5 (revision 32)
@@ -1,1 +1,1 @@
-60d5f9757a0e782891a97a13b81bee62
+01eaba2003c36d4e3ad3a3f82c883e36
Index: /doc/html/inherit__graph__5.map
===================================================================
--- /doc/html/inherit__graph__5.map (revision 23)
+++ /doc/html/inherit__graph__5.map (revision 32)
@@ -1,1 +1,1 @@
-<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="7,5,44,32">
+<area shape="rect" href="$classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="5,5,96,32">
Index: /doc/html/classeuni-members.html
===================================================================
--- /doc/html/classeuni-members.html (revision 32)
+++ /doc/html/classeuni-members.html (revision 32)
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>euni Member List</h1>This is the complete list of members for <a class="el" href="classeuni.html">euni</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4">distance</a></td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>euni</b>(const RV rv) (defined in <a class="el" href="classeuni.html">euni</a>)</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#95f29237feb32fcadf570a181d5a0918">eval</a>(const vec &amp;val)</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#830fca2ffb6786530529c57eabc81666">evalpdflog</a>(const vec &amp;val)</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231">high</a></td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>lnk</b> (defined in <a class="el" href="classeuni.html">euni</a>)</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1">low</a></td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d">mean</a>()</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#63105490e946e43372d6187ad1bafdda">nk</a></td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">sample</a>()</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(const vec &amp;low0, const vec &amp;high0) (defined in <a class="el" href="classeuni.html">euni</a>)</td><td><a class="el" href="classeuni.html">euni</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libBM_8h-source.html
===================================================================
--- /doc/html/libBM_8h-source.html (revision 28)
+++ /doc/html/libBM_8h-source.html (revision 32)
@@ -23,92 +23,135 @@
 <a name="l00019"></a>00019 <span class="keyword">using namespace </span>itpp;
 <a name="l00020"></a>00020 
-<a name="l00026"></a><a class="code" href="classRV.html">00026</a> <span class="keyword">class </span><a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> {
-<a name="l00028"></a>00028         <span class="keywordtype">int</span> size;
-<a name="l00030"></a>00030         <span class="keywordtype">int</span> len;
-<a name="l00031"></a>00031         ivec ids;
-<a name="l00032"></a>00032         ivec sizes;
-<a name="l00033"></a>00033         ivec times;
-<a name="l00034"></a>00034         ivec obs;
-<a name="l00035"></a>00035         Array&lt;std::string&gt; names;
-<a name="l00036"></a>00036 
-<a name="l00037"></a>00037 <span class="keyword">private</span>:
-<a name="l00038"></a>00038         <span class="keywordtype">void</span> init ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs );
-<a name="l00039"></a>00039 <span class="keyword">public</span>:
-<a name="l00041"></a>00041         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs );
-<a name="l00043"></a>00043         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids );
-<a name="l00045"></a>00045         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ();
-<a name="l00046"></a>00046         
-<a name="l00048"></a>00048         <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classRV.html#cad6f15535d10437f6690cb4492176a8" title="Printing output e.g. for debugging.">operator&lt;&lt; </a>( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv );
-<a name="l00049"></a>00049 
-<a name="l00051"></a><a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">00051</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> size;} ;
-<a name="l00052"></a>00052         <span class="comment">//TODO why not inline and later??</span>
-<a name="l00053"></a>00053         
-<a name="l00055"></a>00055         ivec <a class="code" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6" title="Find indexes of another rv in self.">find</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00057"></a>00057         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <span class="keyword">add</span>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00059"></a>00059         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a" title="Subtract another variable from the current one.">subt</a>(<a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2);
-<a name="l00061"></a>00061         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#2bf35b18a32aad419f0516273939628e" title="Select only variables at indeces ind.">subselect</a>(ivec ind);
-<a name="l00063"></a>00063         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45" title="Select only variables at indeces ind.">operator()</a>(ivec ind);
-<a name="l00065"></a>00065         <span class="keywordtype">void</span> <a class="code" href="classRV.html#e0a158d53ab9430627241f844f4c9a60" title="Generate new RV with time shifted by delta.">t</a>(<span class="keywordtype">int</span> delta);
-<a name="l00067"></a>00067         ivec <a class="code" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7" title="generate a list of indeces, i.e. which">indexlist</a>();
-<a name="l00068"></a>00068 };
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070 
-<a name="l00071"></a>00071 
+<a name="l00027"></a><a class="code" href="classRV.html">00027</a> <span class="keyword">class </span><a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> {
+<a name="l00028"></a>00028 <span class="keyword">protected</span>:
+<a name="l00030"></a><a class="code" href="classRV.html#0cae53d262be90a775a99a198e17fa58">00030</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#0cae53d262be90a775a99a198e17fa58" title="size = sum of sizes">size</a>;
+<a name="l00032"></a><a class="code" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9">00032</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9" title="len = number of individual rvs">len</a>;
+<a name="l00033"></a>00033         ivec ids;
+<a name="l00034"></a>00034         ivec sizes;
+<a name="l00035"></a>00035         ivec times;
+<a name="l00036"></a>00036         ivec obs;
+<a name="l00037"></a>00037         Array&lt;std::string&gt; names;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 <span class="keyword">private</span>:
+<a name="l00040"></a>00040         <span class="keywordtype">void</span> init ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs );
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
+<a name="l00043"></a>00043         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec in_ids, Array&lt;std::string&gt; in_names, ivec in_sizes, ivec in_times, ivec in_obs );
+<a name="l00045"></a>00045         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ( ivec ids );
+<a name="l00047"></a>00047         <a class="code" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e" title="Empty constructor will be set later.">RV</a> ();
+<a name="l00048"></a>00048 
+<a name="l00050"></a>00050         <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classRV.html#cad6f15535d10437f6690cb4492176a8" title="Printing output e.g. for debugging.">operator&lt;&lt; </a>( std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv );
+<a name="l00051"></a>00051 
+<a name="l00053"></a><a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0">00053</a>         <span class="keywordtype">int</span> <a class="code" href="classRV.html#f5c7b8bd589eef09ccdf3329a0addea0" title="Return length (number of scalars) of the RV.">count</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> <a class="code" href="classRV.html#0cae53d262be90a775a99a198e17fa58" title="size = sum of sizes">size</a>;} ;
+<a name="l00054"></a>00054 
+<a name="l00055"></a>00055         <span class="comment">//TODO why not inline and later??</span>
+<a name="l00056"></a>00056 
+<a name="l00058"></a>00058         ivec <a class="code" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6" title="Find indexes of another rv in self.">find</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2 );
+<a name="l00060"></a>00060         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <span class="keyword">add</span> (<span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv2 );
+<a name="l00062"></a>00062         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#4c5ec5e913fc598e242cb930ae8bdf4a" title="Subtract another variable from the current one.">subt</a> ( <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv2 );
+<a name="l00064"></a>00064         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#2bf35b18a32aad419f0516273939628e" title="Select only variables at indeces ind.">subselect</a> ( ivec ind );
+<a name="l00066"></a>00066         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45" title="Select only variables at indeces ind.">operator() </a>( ivec ind );
+<a name="l00068"></a>00068         <span class="keywordtype">void</span> <a class="code" href="classRV.html#e0a158d53ab9430627241f844f4c9a60" title="Generate new RV with time shifted by delta.">t</a> ( <span class="keywordtype">int</span> delta );
+<a name="l00070"></a>00070         ivec <a class="code" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7" title="generate a list of indeces, i.e. which">indexlist</a>();
+<a name="l00071"></a>00071 };
 <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="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="l00074"></a>00074 
+<a name="l00075"></a><a class="code" href="classfnc.html">00075</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="l00076"></a>00076 <span class="keyword">protected</span>:
+<a name="l00077"></a>00077         <span class="keywordtype">int</span> dimy;
+<a name="l00078"></a>00078 <span class="keyword">public</span>:
+<a name="l00080"></a><a class="code" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">00080</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 ) {
+<a name="l00081"></a>00081                 <span class="keywordflow">return</span> vec ( 0 );
+<a name="l00082"></a>00082         }; <span class="comment">//Fixme: virtual?</span>
 <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="l00085"></a><a class="code" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">00085</a>         <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="l00086"></a>00086 
+<a name="l00088"></a><a class="code" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">00088</a>         <span class="keyword">virtual</span> <a class="code" href="classfnc.html#17164c202f6feee3d708b8caab6306ab" title="Destructor for future use;.">~fnc</a>() {};
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090 
+<a name="l00091"></a>00091 
 <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 name="l00094"></a><a class="code" href="classepdf.html">00094</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="l00095"></a>00095 <span class="keyword">protected</span>:
+<a name="l00096"></a>00096         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rv;
+<a name="l00097"></a>00097 <span class="keyword">public</span>:
+<a name="l00099"></a><a class="code" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">00099</a>         <a class="code" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd" title="default constructor">epdf</a>() :rv ( ivec ( 0 ) ) {};
+<a name="l00100"></a>00100 
+<a name="l00102"></a><a class="code" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">00102</a>         <a class="code" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd" title="default constructor">epdf</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0 ) :rv ( rv0 ) {};
+<a name="l00103"></a>00103 
+<a name="l00105"></a>00105 <span class="comment">//      virtual vec moment ( const int order = 1 );</span>
+<a name="l00107"></a>00107 <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="l00109"></a><a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">00109</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 ) {<span class="keywordflow">return</span> 0.0;};
+<a name="l00110"></a>00110 
+<a name="l00112"></a><a class="code" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">00112</a>         <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51" title="Compute log-probability of argument val.">evalpdflog</a> ( <span class="keyword">const</span> vec &amp;val ) {<span class="keywordflow">return</span> 0.0;};
+<a name="l00113"></a>00113 
+<a name="l00115"></a>00115         <span class="keyword">virtual</span> vec <a class="code" href="classepdf.html#5b61fae74d370d2216576d598c1a74ef" title="return expected value">mean</a>()=0;
+<a name="l00116"></a>00116         
+<a name="l00118"></a><a class="code" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">00118</a>         <span class="keyword">virtual</span> <a class="code" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396" title="Destructor for future use;.">~epdf</a>() {};
+<a name="l00119"></a>00119 };
+<a name="l00120"></a>00120 
+<a name="l00121"></a>00121 
+<a name="l00123"></a>00123 <span class="comment">//TODO Samplecond can be generalized</span>
+<a name="l00124"></a>00124 
+<a name="l00125"></a><a class="code" href="classmpdf.html">00125</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="l00126"></a>00126 <span class="keyword">protected</span>:
+<a name="l00128"></a><a class="code" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb">00128</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb" title="modeled random variable">rv</a>;
+<a name="l00130"></a><a class="code" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab">00130</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab" title="random variable in condition">rvc</a>;
+<a name="l00132"></a><a class="code" href="classmpdf.html#7aa894208a32f3487827df6d5054424c">00132</a>         <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>* <a class="code" href="classmpdf.html#7aa894208a32f3487827df6d5054424c" title="pointer to internal epdf">ep</a>;
+<a name="l00133"></a>00133 <span class="keyword">public</span>:
+<a name="l00134"></a>00134 
+<a name="l00136"></a>00136 <span class="comment">//      virtual fnc moment ( const int order = 1 );</span>
+<a name="l00138"></a><a class="code" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">00138</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 ) {<span class="keywordflow">return</span> vec ( 0 );};
+<a name="l00139"></a>00139 
+<a name="l00140"></a>00140         <span class="keyword">virtual</span> <span class="keywordtype">void</span> condition ( <span class="keyword">const</span> vec &amp;cond ) {};
+<a name="l00141"></a>00141         
+<a name="l00142"></a>00142         <span class="keyword">virtual</span> <span class="keywordtype">double</span> evalcond (<span class="keyword">const</span> vec &amp;dt, <span class="keyword">const</span> vec &amp;cond ) {this-&gt;condition(cond);<span class="keywordflow">return</span> <a class="code" href="classmpdf.html#7aa894208a32f3487827df6d5054424c" title="pointer to internal epdf">ep</a>-&gt;<a class="code" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc" title="Compute probability of argument val.">eval</a>(dt);};
+<a name="l00143"></a>00143 
+<a name="l00145"></a><a class="code" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb">00145</a>         <span class="keyword">virtual</span> <a class="code" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb" title="Destructor for future use;.">~mpdf</a>() {};
+<a name="l00146"></a>00146 
+<a name="l00148"></a><a class="code" href="classmpdf.html#581ecf362185d37c08bb31cb9d046d6f">00148</a>         <a class="code" href="classmpdf.html#581ecf362185d37c08bb31cb9d046d6f" title="Default constructor.">mpdf</a> ( <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0, <span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rvc0 ) :<a class="code" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb" title="modeled random variable">rv</a> ( rv0 ),<a class="code" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab" title="random variable in condition">rvc</a> ( rvc0 ) {};
+<a name="l00149"></a>00149 };
+<a name="l00150"></a>00150 
+<a name="l00158"></a><a class="code" href="classDS.html">00158</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="l00159"></a>00159 <span class="keyword">protected</span>:
+<a name="l00161"></a><a class="code" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">00161</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="l00163"></a><a class="code" href="classDS.html#0a88ffaeb3c7c2cf30c69bc41a000629">00163</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="l00164"></a>00164 <span class="keyword">public</span>:
+<a name="l00166"></a>00166         <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="l00168"></a>00168         <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="l00170"></a>00170         <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="l00172"></a>00172         <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="l00178"></a>00178         <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="l00179"></a>00179 
+<a name="l00181"></a>00181         <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="l00182"></a>00182 
+<a name="l00183"></a>00183 };
+<a name="l00184"></a>00184 
+<a name="l00189"></a><a class="code" href="classBM.html">00189</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="l00190"></a>00190 <span class="keyword">protected</span>:
+<a name="l00192"></a><a class="code" href="classBM.html#af00f0612fabe66241dd507188cdbf88">00192</a>         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> <a class="code" href="classBM.html#af00f0612fabe66241dd507188cdbf88" title="Random variable of the posterior.">rv</a>;
+<a name="l00194"></a><a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">00194</a>  <span class="keywordtype">double</span> <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a>;
+<a name="l00196"></a><a class="code" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">00196</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="l00197"></a>00197 <span class="keyword">public</span>:
+<a name="l00198"></a>00198 
+<a name="l00200"></a><a class="code" href="classBM.html#605d28b426adb677c86a57ddb525132a">00200</a>         <a class="code" href="classBM.html#605d28b426adb677c86a57ddb525132a" title="Default constructor.">BM</a>(<span class="keyword">const</span> <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> &amp;rv0) :<a class="code" href="classBM.html#af00f0612fabe66241dd507188cdbf88" title="Random variable of the posterior.">rv</a>(rv0), <a class="code" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979" title="Logarithm of marginalized data likelihood.">ll</a> ( 0 ),<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> ( true ) {<span class="comment">//Fixme: test rv </span>
+<a name="l00201"></a>00201         };
+<a name="l00202"></a>00202 
+<a name="l00206"></a>00206         <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="l00208"></a>00208         <span class="keywordtype">void</span> <a class="code" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf" title="Incremental Bayes rule.">bayes</a> ( mat Dt );
+<a name="l00210"></a>00210         <span class="keyword">virtual</span> <a class="code" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>&amp; <a class="code" href="classBM.html#3dc45554556926bde996a267636abe55" title="Returns a pointer to the epdf representing posterior density on parameters. Use with...">_epdf</a>()=0;
+<a name="l00211"></a>00211 
+<a name="l00213"></a><a class="code" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">00213</a>         <span class="keyword">virtual</span> <a class="code" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd" title="Destructor for future use;.">~BM</a>() {};
+<a name="l00214"></a>00214 };
+<a name="l00215"></a>00215 
+<a name="l00225"></a><a class="code" href="classBMcond.html">00225</a> <span class="keyword">class </span><a class="code" href="classBMcond.html" title="Conditional Bayesian Filter.">BMcond</a> {
+<a name="l00226"></a>00226 <span class="keyword">protected</span>:
+<a name="l00227"></a>00227         <a class="code" href="classRV.html" title="Class representing variables, most often random variables.">RV</a> rvc;
+<a name="l00228"></a>00228 <span class="keyword">public</span>:
+<a name="l00230"></a>00230         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBMcond.html#3543cfe274c35f9033c24d8036a96c4d" title="Substitute val for rvc.">condition</a> ( <span class="keyword">const</span> vec &amp;val ) =0;
+<a name="l00231"></a>00231         <span class="keyword">virtual</span> ~<a class="code" href="classBMcond.html" title="Conditional Bayesian Filter.">BMcond</a>(){};
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233 
+<a name="l00234"></a>00234 <span class="preprocessor">#endif // BM_H</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/inherit__graph__9.map
===================================================================
--- /doc/html/inherit__graph__9.map (revision 32)
+++ /doc/html/inherit__graph__9.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="7,5,44,32">
Index: /doc/html/libBM_8h__dep__incl.map
===================================================================
--- /doc/html/libBM_8h__dep__incl.map (revision 23)
+++ /doc/html/libBM_8h__dep__incl.map (revision 32)
@@ -1,5 +1,5 @@
 <area shape="rect" href="$libFN_8h&#45;source.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="9,84,215,111">
-<area shape="rect" href="$libPF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="239,84,452,111">
-<area shape="rect" href="$libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="476,84,684,111">
-<area shape="rect" href="$libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="708,84,911,111">
+<area shape="rect" href="$libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="239,84,441,111">
+<area shape="rect" href="$libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="465,84,673,111">
 <area shape="rect" href="$libKF_8h.html" title="work/mixpp/bdm/estim/libKF.h" alt="" coords="5,161,219,188">
+<area shape="rect" href="$libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,161,456,188">
Index: /doc/html/classenorm-members.html
===================================================================
--- /doc/html/classenorm-members.html (revision 28)
+++ /doc/html/classenorm-members.html (revision 32)
@@ -22,15 +22,29 @@
 </div>
 <h1>enorm&lt; sq_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247">_cached</a>(bool what)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#82f39ac49911d7097f4bfe385deba355">_iR</a></td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753">_mu</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740">_R</a>(sq_T *&amp;pR, sq_T *&amp;piR)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1">cached</a></td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e">dim</a></td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>dupdate</b>(mat &amp;v, double nu=1.0) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">dupdate</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enorm</b>(RV &amp;rv, vec &amp;mu, sq_T &amp;R) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a>()</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>eEF</b>(const RV &amp;rv) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>enorm</b>() (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>enorm</b>(RV &amp;rv) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">eval</a>(const vec &amp;val)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>RNG</b> (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#9517594915e897584eaebbb057ed8881">evalpdflog</a>(const vec &amp;val)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5">mean</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">mu</a></td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">R</a></td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">sample</a>()</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>sample</b>(int N) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(const vec &amp;mu, const sq_T &amp;R) (defined in <a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>)</td><td><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr 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 Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:48 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/pages.html
===================================================================
--- /doc/html/pages.html (revision 32)
+++ /doc/html/pages.html (revision 32)
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Page Index</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<h1>mixpp Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="codingrules.html">Coding Rules (Mostly inherited from IT++)</a>
+
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:59 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classMPF-members.html
===================================================================
--- /doc/html/classMPF-members.html (revision 32)
+++ /doc/html/classMPF-members.html (revision 32)
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>MPF&lt; BM_T &gt; Member List</h1>This is the complete list of members for <a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classMPF.html#549e08268a46a250f21a33d06f19276a">_epdf</a>()</td><td><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</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="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">ePdf</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classMPF.html#827a66609cf69a832535d52233f76fa0">MPF</a>(const RV &amp;rv0, mpdf &amp;par0, mpdf &amp;obs0, int n, const BM_T &amp;BMcond0)</td><td><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">obs</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">par</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>(const RV &amp;rv0, mpdf &amp;par0, mpdf &amp;obs0, int n) (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#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">samples</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_est</b>(const epdf *&amp;epdf0) (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#a97d12da4d1832c0b0c6ec5877f921f0">w</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>~MPF</b>() (defined in <a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a>)</td><td><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a></td><td><code> [inline]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:55 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classepdf.html
===================================================================
--- /doc/html/classepdf.html (revision 28)
+++ /doc/html/classepdf.html (revision 32)
@@ -31,5 +31,5 @@
 <p><center><img src="classepdf__inherit__graph.png" border="0" usemap="#epdf__inherit__map" alt="Inheritance graph"></center>
 <map name="epdf__inherit__map">
-<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="43,84,88,111"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="5,161,125,188"></map>
+<area shape="rect" href="classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="147,87,192,113"><area shape="rect" href="classeEmp.html" title="Weighted empirical density." alt="" coords="216,87,275,113"><area shape="rect" href="classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="299,87,352,113"><area shape="rect" href="classeuni.html" title="Uniform distributed density on a rectangular support." alt="" coords="376,87,424,113"><area shape="rect" href="classegamma.html" title="Gamma posterior density." alt="" coords="5,167,85,193"><area shape="rect" href="classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="109,167,229,193"><area shape="rect" href="classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="155,263,285,289"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="167,191,175,199"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="199,259,207,267"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -45,4 +45,12 @@
 <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="d8eb760037b3bad5a0d64081606697cd"></a><!-- doxytag: member="epdf::epdf" ref="d8eb760037b3bad5a0d64081606697cd" args="()" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c95b1a27a8dd9507bb9a5a3cb2809c7a"></a><!-- doxytag: member="epdf::epdf" ref="c95b1a27a8dd9507bb9a5a3cb2809c7a" args="(const RV &amp;rv0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">sample</a> ()=0</td></tr>
 
@@ -52,4 +60,20 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="113c76c61d20e3f2a24ba322a73dfc51"></a><!-- doxytag: member="epdf::evalpdflog" ref="113c76c61d20e3f2a24ba322a73dfc51" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b61fae74d370d2216576d598c1a74ef"></a><!-- doxytag: member="epdf::mean" ref="5b61fae74d370d2216576d598c1a74ef" args="()=0" -->
+virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#5b61fae74d370d2216576d598c1a74ef">mean</a> ()=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a322dd106f04c0a2915e3d4f4227396"></a><!-- doxytag: member="epdf::~epdf" ref="0a322dd106f04c0a2915e3d4f4227396" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <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="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="epdf::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -74,5 +98,5 @@
 <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>
+<p>Implemented in <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>, <a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">egamma</a>, <a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">emix</a>, <a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">euni</a>, <a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">eEmp</a>, and <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; ldmat &gt;</a>.</p>
 
 </div>
@@ -80,5 +104,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 Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 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 28)
+++ /doc/html/classmpdf.html (revision 32)
@@ -36,5 +36,5 @@
 <p><center><img src="classmpdf__coll__graph.png" border="0" usemap="#mpdf__coll__map" alt="Collaboration graph"></center>
 <map name="mpdf__coll__map">
-<area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="15,7,52,33"><area shape="rect" title="rv\nrvc" alt="" coords="29,31,37,39"><area shape="rect" title="rv\nrvc" alt="" coords="29,115,37,123"></map>
+<area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="21,7,59,33"><area shape="rect" title="rv\nrvc" alt="" coords="32,31,40,39"><area shape="rect" title="rv\nrvc" alt="" coords="27,200,35,208"><area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="56,105,107,132"><area shape="rect" title="rv" alt="" coords="43,31,51,39"><area shape="rect" title="rv" alt="" coords="72,101,80,109"><area shape="rect" title="ep" alt="" coords="71,129,79,137"><area shape="rect" title="ep" alt="" coords="36,200,44,208"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -46,7 +46,31 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#c20c796f8d0a201f0897299150e45a41"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfb3dffef7c03598622e414668bb0588"></a><!-- doxytag: member="mpdf::condition" ref="cfb3dffef7c03598622e414668bb0588" args="(vec &amp;cond)" -->
-virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>condition</b> (vec &amp;cond)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f95a0cc6ab40611f46804682446ed83"></a><!-- doxytag: member="mpdf::condition" ref="0f95a0cc6ab40611f46804682446ed83" args="(const vec &amp;cond)" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>condition</b> (const vec &amp;cond)</td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80b738ece5bd4f8c4edaee4b38906f91"></a><!-- doxytag: member="mpdf::evalcond" ref="80b738ece5bd4f8c4edaee4b38906f91" args="(const vec &amp;dt, const vec &amp;cond)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><b>evalcond</b> (const vec &amp;dt, const vec &amp;cond)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6788be9f3a888796499c5293a318fcfb"></a><!-- doxytag: member="mpdf::~mpdf" ref="6788be9f3a888796499c5293a318fcfb" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb">~mpdf</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="581ecf362185d37c08bb31cb9d046d6f"></a><!-- doxytag: member="mpdf::mpdf" ref="581ecf362185d37c08bb31cb9d046d6f" args="(const RV &amp;rv0, const RV &amp;rvc0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#581ecf362185d37c08bb31cb9d046d6f">mpdf</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv0, const <a class="el" href="classRV.html">RV</a> &amp;rvc0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <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="f6687c07ff07d47812dd565368ca59eb"></a><!-- doxytag: member="mpdf::rv" ref="f6687c07ff07d47812dd565368ca59eb" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">modeled random variable <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acb7dda792b3cd5576f39fa3129abbab"></a><!-- doxytag: member="mpdf::rvc" ref="acb7dda792b3cd5576f39fa3129abbab" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab">rvc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">random variable in condition <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7aa894208a32f3487827df6d5054424c"></a><!-- doxytag: member="mpdf::ep" ref="7aa894208a32f3487827df6d5054424c" args="" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmpdf.html#7aa894208a32f3487827df6d5054424c">ep</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to internal <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a> <br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -80,10 +104,15 @@
 Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
 <p>
-Returns a sample from the density conditioned on <code>cond</code>, $x  <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>(rv|cond)$ 
+Returns a sample from the density conditioned on <code>cond</code>, $x  <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>(rv|cond)$. <dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>lik</em>&nbsp;</td><td>is a return value of likelihood of the sample. </td></tr>
+  </table>
+</dl>
+
 </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="libBM_8h-source.html">libBM.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 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 28)
+++ /doc/html/classMemDS-members.html (revision 32)
@@ -31,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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 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/inherit__graph__5.md5
===================================================================
--- /doc/html/inherit__graph__5.md5 (revision 23)
+++ /doc/html/inherit__graph__5.md5 (revision 32)
@@ -1,1 +1,1 @@
-4ec67ed9bfbeec9d7c9512621ecf6798
+7b75c696d6f003b2cd117eba359cd671
Index: /doc/html/classemix__coll__graph.map
===================================================================
--- /doc/html/classemix__coll__graph.map (revision 32)
+++ /doc/html/classemix__coll__graph.map (revision 32)
@@ -0,0 +1,4 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="7,103,57,129">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="13,7,51,33">
+<area shape="rect" title="rv" alt="" coords="28,31,36,39">
+<area shape="rect" title="rv" alt="" coords="28,99,36,107">
Index: /doc/html/inherit__graph__9.md5
===================================================================
--- /doc/html/inherit__graph__9.md5 (revision 32)
+++ /doc/html/inherit__graph__9.md5 (revision 32)
@@ -0,0 +1,1 @@
+4ec67ed9bfbeec9d7c9512621ecf6798
Index: /doc/html/classepdf-members.html
===================================================================
--- /doc/html/classepdf-members.html (revision 28)
+++ /doc/html/classepdf-members.html (revision 32)
@@ -22,7 +22,13 @@
 </div>
 <h1>epdf Member List</h1>This is the complete list of members for <a class="el" href="classepdf.html">epdf</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</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#5b61fae74d370d2216576d598c1a74ef">mean</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>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 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__dep__incl.md5
===================================================================
--- /doc/html/libBM_8h__dep__incl.md5 (revision 23)
+++ /doc/html/libBM_8h__dep__incl.md5 (revision 32)
@@ -1,1 +1,1 @@
-567b476638c518afc6dfe7675e690d09
+9450d1c1c6cb8874759b57546121f5bc
Index: /doc/html/classmpdf-members.html
===================================================================
--- /doc/html/classmpdf-members.html (revision 28)
+++ /doc/html/classmpdf-members.html (revision 32)
@@ -22,7 +22,13 @@
 </div>
 <h1>mpdf Member List</h1>This is the complete list of members for <a class="el" href="classmpdf.html">mpdf</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>condition</b>(vec &amp;cond) (defined in <a class="el" href="classmpdf.html">mpdf</a>)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>condition</b>(const 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#7aa894208a32f3487827df6d5054424c">ep</a></td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>evalcond</b>(const vec &amp;dt, const 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#581ecf362185d37c08bb31cb9d046d6f">mpdf</a>(const RV &amp;rv0, const RV &amp;rvc0)</td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb">rv</a></td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab">rvc</a></td><td><a class="el" href="classmpdf.html">mpdf</a></td><td><code> [protected]</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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb">~mpdf</a>()</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 Thu Feb 28 16:54:53 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 28)
+++ /doc/html/classRV-members.html (revision 32)
@@ -22,8 +22,12 @@
 </div>
 <h1>RV Member List</h1>This is the complete list of members for <a class="el" href="classRV.html">RV</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classRV.html#f068a86abb5a6e46fcf76c939d2ed2ec">add</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classRV.html#18fa114b92017f7f80301a4f8d3a6382">add</a>(const RV &amp;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#f5c7b8bd589eef09ccdf3329a0addea0">count</a>() const </td><td><a class="el" href="classRV.html">RV</a></td><td><code> [inline]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">find</a>(RV rv2)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>ids</b> (defined in <a class="el" href="classRV.html">RV</a>)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#8470cf53be6e7bdba78ad0efbd203ee7">indexlist</a>()</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9">len</a></td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>names</b> (defined in <a class="el" href="classRV.html">RV</a>)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>obs</b> (defined in <a class="el" href="classRV.html">RV</a>)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">operator()</a>(ivec ind)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">operator&lt;&lt;</a>(std::ostream &amp;os, const RV &amp;rv)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [friend]</code></td></tr>
@@ -31,8 +35,11 @@
   <tr class="memlist"><td><a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>(ivec ids)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e">RV</a>()</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classRV.html#0cae53d262be90a775a99a198e17fa58">size</a></td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>sizes</b> (defined in <a class="el" href="classRV.html">RV</a>)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">subselect</a>(ivec ind)</td><td><a class="el" href="classRV.html">RV</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classRV.html#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 Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
+  <tr bgcolor="#f0f0f0"><td><b>times</b> (defined in <a class="el" href="classRV.html">RV</a>)</td><td><a class="el" href="classRV.html">RV</a></td><td><code> [protected]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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 28)
+++ /doc/html/hierarchy.html (revision 32)
@@ -27,13 +27,17 @@
 <ul>
 <li><a class="el" href="classKalman.html">Kalman&lt; sq_T &gt;</a>
-<li><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>
+<li><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>
 <ul>
 <li><a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a>
+<li><a class="el" href="classKFcondQR.html">KFcondQR</a>
 </ul>
-<li><a class="el" href="classKalmanFull.html">KalmanFull</a>
 <li><a class="el" href="classPF.html">PF</a>
 <ul>
-<li><a class="el" href="classTrivialPF.html">TrivialPF</a>
+<li><a class="el" href="classMPF.html">MPF&lt; BM_T &gt;</a>
 </ul>
+</ul>
+<li><a class="el" href="classBMcond.html">BMcond</a>
+<ul>
+<li><a class="el" href="classKFcondQR.html">KFcondQR</a>
 </ul>
 <li><a class="el" href="classDS.html">DS</a>
@@ -45,6 +49,11 @@
 <li><a class="el" href="classeEF.html">eEF</a>
 <ul>
+<li><a class="el" href="classegamma.html">egamma</a>
 <li><a class="el" href="classenorm.html">enorm&lt; sq_T &gt;</a>
+<li><a class="el" href="classenorm.html">enorm&lt; ldmat &gt;</a>
 </ul>
+<li><a class="el" href="classeEmp.html">eEmp</a>
+<li><a class="el" href="classemix.html">emix</a>
+<li><a class="el" href="classeuni.html">euni</a>
 </ul>
 <li><a class="el" href="classfnc.html">fnc</a>
@@ -57,4 +66,8 @@
 <li><a class="el" href="classlinfn.html">linfn</a>
 </ul>
+<li><a class="el" href="classitpp_1_1Gamma__RNG.html">itpp::Gamma_RNG</a>
+<li><a class="el" href="classKalmanFull.html">KalmanFull</a>
+<li><a class="el" href="classmgamma.html">mgamma</a>
+<li><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a>
 <li><a class="el" href="classmpdf.html">mpdf</a>
 <li><a class="el" href="classRV.html">RV</a>
@@ -64,5 +77,5 @@
 </ul>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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__dep__incl.map
===================================================================
--- /doc/html/libDC_8h__dep__incl.map (revision 23)
+++ /doc/html/libDC_8h__dep__incl.map (revision 32)
@@ -1,3 +1,3 @@
-<area shape="rect" href="$libKF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="5,84,219,111">
-<area shape="rect" href="$libPF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="243,84,456,111">
-<area shape="rect" href="$libEF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="480,84,683,111">
+<area shape="rect" href="$libEF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="109,84,312,111">
+<area shape="rect" href="$libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,161,456,188">
+<area shape="rect" href="$libKF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="5,161,219,188">
Index: /doc/html/classEKF-members.html
===================================================================
--- /doc/html/classEKF-members.html (revision 28)
+++ /doc/html/classEKF-members.html (revision 32)
@@ -22,31 +22,39 @@
 </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>
-  <tr bgcolor="#f0f0f0"><td><b>_Ry</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>_yp</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>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]</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="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_epdf</a>()</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_iP</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_mu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_P</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_Ry</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_yp</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">bayes</a>(const vec &amp;dt)</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="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>C</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; 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>D</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>dimu</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>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#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>
-  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">mu</a></td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">P</a></td><td><a class="el" href="classKalman.html">Kalman&lt; fsqmat &gt;</a></td><td></td></tr>
-  <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 Mon Feb 18 21:48:43 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>C</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>D</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">EKF</a>(RV rvx, RV rvy, RV rvu)</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="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman</a>(RV rvx0, RV rvy0, RV rvu0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#ce38e31810aea4db45a83ad05eaba009">Kalman</a>(const Kalman&lt; ldmat &gt; &amp;K0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</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><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>Q</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a>(const vec &amp;mu0, const ldmat &amp;P0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(diffbifn *pfxu, diffbifn *phxu, const sq_T Q0, const sq_T R0) (defined in <a class="el" href="classEKF.html">EKF&lt; sq_T &gt;</a>)</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="classKalman.html#239b28a0380946f5749b2f8d2807f93a">Kalman&lt; ldmat &gt;::set_parameters</a>(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:47 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 28)
+++ /doc/html/libBM_8h.html (revision 32)
@@ -33,5 +33,5 @@
 <p><center><img src="libBM_8h__dep__incl.png" border="0" usemap="#work/mixpp/bdm/stat/libBM.hdep_map" alt=""></center>
 <map name="work/mixpp/bdm/stat/libBM.hdep_map">
-<area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="9,84,215,111"><area shape="rect" href="libPF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="239,84,452,111"><area shape="rect" href="libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="476,84,684,111"><area shape="rect" href="libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="708,84,911,111"><area shape="rect" href="libKF_8h.html" title="work/mixpp/bdm/estim/libKF.h" alt="" coords="5,161,219,188"></map>
+<area shape="rect" href="libFN_8h&#45;source.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="9,84,215,111"><area shape="rect" href="libEF_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="239,84,441,111"><area shape="rect" href="libDS_8h.html" title="Bayesian Models (bm) that use Bayes rule to learn from observations." alt="" coords="465,84,673,111"><area shape="rect" href="libKF_8h.html" title="work/mixpp/bdm/estim/libKF.h" alt="" coords="5,161,219,188"><area shape="rect" href="libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,161,456,188"></map>
 </div>
 
@@ -46,7 +46,4 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class representing function $f(x)$ of variable $x$ represented by <code>rv</code>.  <a href="classfnc.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html">BM</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.  <a href="classBM.html#_details">More...</a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html">epdf</a></td></tr>
 
@@ -58,4 +55,10 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract class for discrete-time sources of data.  <a href="classDS.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html">BM</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.  <a href="classBM.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBMcond.html">BMcond</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conditional Bayesian Filter.  <a href="classBMcond.html#_details">More...</a><br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -64,5 +67,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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classKalman.html
===================================================================
--- /doc/html/classKalman.html (revision 28)
+++ /doc/html/classKalman.html (revision 32)
@@ -31,5 +31,5 @@
 <p><center><img src="classKalman__inherit__graph.png" border="0" usemap="#Kalman_3_01sq__T_01_4__inherit__map" alt="Inheritance graph"></center>
 <map name="Kalman_3_01sq__T_01_4__inherit__map">
-<area shape="rect" href="classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="5,183,152,209"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,111,83,119"><area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,179,83,187"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="57,7,100,33"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="27,263,131,289"></map>
+<area shape="rect" href="classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="49,183,185,209"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="113,111,121,119"><area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="113,179,121,187"><area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="96,7,139,33"><area shape="rect" href="classEKF.html" title="Extended Kalman Filter." alt="" coords="5,263,109,289"><area shape="rect" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="133,263,221,289"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 <div class="dynheader">
@@ -38,5 +38,5 @@
 <p><center><img src="classKalman__coll__graph.png" border="0" usemap="#Kalman_3_01sq__T_01_4__coll__map" alt="Collaboration graph"></center>
 <map name="Kalman_3_01sq__T_01_4__coll__map">
-<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="13,7,56,33"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="97,31,105,39"><area shape="rect" title="P\nQ\nR\n_iRy\n_Ry" alt="" coords="68,168,76,176"></map>
+<area shape="rect" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="48,105,91,132"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="11,7,48,33"><area shape="rect" title="rvu\nrvy" alt="" coords="23,31,31,39"><area shape="rect" title="rvu\nrvy" alt="" coords="57,285,65,293"><area shape="rect" title="rv" alt="" coords="32,31,40,39"><area shape="rect" title="rv" alt="" coords="60,101,68,109"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="131,129,139,137"><area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="72,285,80,293"></map>
 <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
 
@@ -45,45 +45,39 @@
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96958a5ebfa966d892137987f265083a"></a><!-- doxytag: member="Kalman::Kalman" ref="96958a5ebfa966d892137987f265083a" args="(int dimx, int dimu, int dimy)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman</a> (int dimx, int dimu, int dimy)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d56b0a97b8c1e25fdd3b10eef3c2ad3"></a><!-- doxytag: member="Kalman::Kalman" ref="3d56b0a97b8c1e25fdd3b10eef3c2ad3" args="(RV rvx0, RV rvy0, RV rvu0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman</a> (<a class="el" href="classRV.html">RV</a> rvx0, <a class="el" href="classRV.html">RV</a> rvy0, <a class="el" href="classRV.html">RV</a> rvu0)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83118f4bd2ecbc70b03cfd573088ed6f"></a><!-- doxytag: member="Kalman::Kalman" ref="83118f4bd2ecbc70b03cfd573088ed6f" args="(mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)" -->
-&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#83118f4bd2ecbc70b03cfd573088ed6f">Kalman</a> (mat A0, mat B0, mat C0, mat D0, sq_T R0, sq_T Q0, sq_T P0, vec mu0)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce38e31810aea4db45a83ad05eaba009"></a><!-- doxytag: member="Kalman::Kalman" ref="ce38e31810aea4db45a83ad05eaba009" args="(const Kalman&lt; sq_T &gt; &amp;K0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#ce38e31810aea4db45a83ad05eaba009">Kalman</a> (const <a class="el" href="classKalman.html">Kalman</a>&lt; sq_T &gt; &amp;K0)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e945d9205ca14acbd83ba80ea6f72b8e"></a><!-- doxytag: member="Kalman::bayes" ref="e945d9205ca14acbd83ba80ea6f72b8e" args="(const vec &amp;dt, bool evalll=true)" -->
-void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">bayes</a> (const vec &amp;dt, bool <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a>=true)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="239b28a0380946f5749b2f8d2807f93a"></a><!-- doxytag: member="Kalman::set_parameters" ref="239b28a0380946f5749b2f8d2807f93a" args="(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const sq_T &amp;R0, const sq_T &amp;Q0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">set_parameters</a> (const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const sq_T &amp;R0, const sq_T &amp;Q0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set parameters with check of relevance. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80bcf29466d9a9dd2b8f74699807d0c0"></a><!-- doxytag: member="Kalman::set_est" ref="80bcf29466d9a9dd2b8f74699807d0c0" args="(const vec &amp;mu0, const sq_T &amp;P0)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a> (const vec &amp;mu0, const sq_T &amp;P0)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set estimate values, used e.g. in initialization. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7750ffd73f261828a32c18aaeb65c75c"></a><!-- doxytag: member="Kalman::bayes" ref="7750ffd73f261828a32c18aaeb65c75c" args="(const vec &amp;dt)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">bayes</a> (const vec &amp;dt)</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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a213c57aef55b2645e550bed81cfc0d4"></a><!-- doxytag: member="Kalman::_epdf" ref="a213c57aef55b2645e550bed81cfc0d4" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_epdf</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></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 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 colspan="2"><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7501230c2fafa3655887d2da23b3184c"></a><!-- doxytag: member="Kalman::rvy" ref="7501230c2fafa3655887d2da23b3184c" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvy</b></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="" -->
-vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">mu</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44a16ffd5ac1e6e39bae34fea9e1e498"></a><!-- doxytag: member="Kalman::rvu" ref="44a16ffd5ac1e6e39bae34fea9e1e498" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvu</b></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="188cd5ac1c9e496b1a371eb7c57c97d3"></a><!-- doxytag: member="Kalman::P" ref="188cd5ac1c9e496b1a371eb7c57c97d3" args="" -->
-sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">P</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mean value of the posterior density. <br></td></tr>
-<tr><td 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="" -->
 int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dimx</b></td></tr>
@@ -113,20 +107,45 @@
 sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>Q</b></td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5568c74bac67ae6d3b1061dba60c9424"></a><!-- doxytag: member="Kalman::est" ref="5568c74bac67ae6d3b1061dba60c9424" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; sq_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">posterior density on $x_t$ <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e580ab06483952bd03f2e651763e184f"></a><!-- doxytag: member="Kalman::fy" ref="e580ab06483952bd03f2e651763e184f" args="" -->
+<a class="el" href="classenorm.html">enorm</a>&lt; sq_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">preditive density on $y_t$ <br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d422f51467c7a06174af2476d2826132"></a><!-- doxytag: member="Kalman::_K" ref="d422f51467c7a06174af2476d2826132" args="" -->
 mat&nbsp;</td><td class="memItemRight" valign="bottom"><b>_K</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30b7461989185d3d02cf42b8e2a37649"></a><!-- doxytag: member="Kalman::_yp" ref="30b7461989185d3d02cf42b8e2a37649" args="" -->
-vec&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5188eb0329f8561f0b357af329769bf8"></a><!-- doxytag: member="Kalman::_yp" ref="5188eb0329f8561f0b357af329769bf8" args="" -->
+vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_yp</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="477dca07d91ea1a1f41d51bb0229934f"></a><!-- doxytag: member="Kalman::_Ry" ref="477dca07d91ea1a1f41d51bb0229934f" args="" -->
-sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e17dd745daa8a958035a334a56fa4674"></a><!-- doxytag: member="Kalman::_Ry" ref="e17dd745daa8a958035a334a56fa4674" args="" -->
+sq_T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_Ry</b></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15f1a793210750a7e4642fcd948b24c5"></a><!-- doxytag: member="Kalman::_iRy" ref="15f1a793210750a7e4642fcd948b24c5" args="" -->
-sq_T&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbbdf31365f5a5674099599200ea193b"></a><!-- doxytag: member="Kalman::_iRy" ref="fbbdf31365f5a5674099599200ea193b" args="" -->
+sq_T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iRy</b></td></tr>
 
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86ba216243ed95bb46d80d88775d16af"></a><!-- doxytag: member="Kalman::operator&lt;&lt;" ref="86ba216243ed95bb46d80d88775d16af" args="(std::ostream &amp;os, const KalmanFull &amp;kf)" -->
-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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1f669b5b3421a070cc75d77b55ba734"></a><!-- doxytag: member="Kalman::_mu" ref="d1f669b5b3421a070cc75d77b55ba734" args="" -->
+vec *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mu</b></td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3388218567128a797e69b109138271d"></a><!-- doxytag: member="Kalman::_P" ref="b3388218567128a797e69b109138271d" args="" -->
+sq_T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_P</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8bb7f870d69993493ba67ce40e7c3e9"></a><!-- doxytag: member="Kalman::_iP" ref="b8bb7f870d69993493ba67ce40e7c3e9" args="" -->
+sq_T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_iP</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af00f0612fabe66241dd507188cdbf88"></a><!-- doxytag: member="Kalman::rv" ref="af00f0612fabe66241dd507188cdbf88" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Random variable of the posterior. <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>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -134,35 +153,7 @@
  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><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>
+<a class="el" href="classKalman.html" title="Kalman filter with covariance matrices in square root form.">Kalman</a> filter with covariance matrices in square root form. <hr>The documentation for this class was generated from the following file:<ul>
 <li>work/mixpp/bdm/estim/<a class="el" href="libKF_8h-source.html">libKF.h</a></ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:50 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/classBMcond__coll__graph.map
===================================================================
--- /doc/html/classBMcond__coll__graph.map (revision 32)
+++ /doc/html/classBMcond__coll__graph.map (revision 32)
@@ -0,0 +1,3 @@
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="23,7,60,33">
+<area shape="rect" title="rvc" alt="" coords="37,31,45,39">
+<area shape="rect" title="rvc" alt="" coords="37,99,45,107">
Index: /doc/html/classconstfn.html
===================================================================
--- /doc/html/classconstfn.html (revision 28)
+++ /doc/html/classconstfn.html (revision 32)
@@ -71,5 +71,5 @@
 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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classemix__coll__graph.md5
===================================================================
--- /doc/html/classemix__coll__graph.md5 (revision 32)
+++ /doc/html/classemix__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+9e6f3bc93d6cc8dd8296a99a3c0e2409
Index: /doc/html/functions.html
===================================================================
--- /doc/html/functions.html (revision 28)
+++ /doc/html/functions.html (revision 32)
@@ -39,8 +39,10 @@
     <li><a href="#index_f"><span>f</span></a></li>
     <li><a href="#index_g"><span>g</span></a></li>
+    <li><a href="#index_h"><span>h</span></a></li>
     <li><a href="#index_i"><span>i</span></a></li>
     <li><a href="#index_k"><span>k</span></a></li>
     <li><a href="#index_l"><span>l</span></a></li>
     <li><a href="#index_m"><span>m</span></a></li>
+    <li><a href="#index_n"><span>n</span></a></li>
     <li><a href="#index_o"><span>o</span></a></li>
     <li><a href="#index_p"><span>p</span></a></li>
@@ -51,4 +53,5 @@
     <li><a href="#index_u"><span>u</span></a></li>
     <li><a href="#index_w"><span>w</span></a></li>
+    <li><a href="#index_~"><span>~</span></a></li>
   </ul>
 </div>
@@ -58,4 +61,6 @@
 <p>
 <h3><a class="anchor" name="index__">- _ -</a></h3><ul>
+<li>_cached()
+: <a class="el" href="classenorm.html#c9ca4f2ca42568e40ca146168e7f3247">enorm&lt; sq_T &gt;</a>
 <li>_dimu()
 : <a class="el" href="classdiffbifn.html#fc8779acbff170611aff0ee70cee3879">diffbifn</a>
@@ -65,22 +70,38 @@
 : <a class="el" href="classfnc.html#a8891973d0ca48ce38e1886df45ca298">fnc</a>
 <li>_epdf()
-: <a class="el" href="classBM.html#a5b8f6c8a872738cfaa30ab010e8c077">BM</a>
+: <a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classMPF.html#549e08268a46a250f21a33d06f19276a">MPF&lt; BM_T &gt;</a>
+, <a class="el" href="classBM.html#3dc45554556926bde996a267636abe55">BM</a>
+<li>_iR
+: <a class="el" href="classenorm.html#82f39ac49911d7097f4bfe385deba355">enorm&lt; sq_T &gt;</a>
+<li>_mu()
+: <a class="el" href="classenorm.html#3be0cb541ec9b88e5aa3f60307bbc753">enorm&lt; sq_T &gt;</a>
+<li>_param()
+: <a class="el" href="classegamma.html#44445c56e60b91b377f207f8d5089790">egamma</a>
+<li>_R()
+: <a class="el" href="classenorm.html#8725c534863c4fc2bddef0edfb95a740">enorm&lt; sq_T &gt;</a>
+<li>_w()
+: <a class="el" href="classeEmp.html#31b2bfb73b72486a5c89f2ab850c7a9b">eEmp</a>
 </ul>
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>add()
-: <a class="el" href="classRV.html#f068a86abb5a6e46fcf76c939d2ed2ec">RV</a>
+: <a class="el" href="classRV.html#18fa114b92017f7f80301a4f8d3a6382">RV</a>
 </ul>
 <h3><a class="anchor" name="index_b">- b -</a></h3><ul>
 <li>bayes()
-: <a class="el" href="classKalmanFull.html#048b13739b94c331cda08249b278552b">KalmanFull</a>
-, <a class="el" href="classKalman.html#e945d9205ca14acbd83ba80ea6f72b8e">Kalman&lt; sq_T &gt;</a>
-, <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>
-, <a class="el" href="classEKF.html#fb0a08463f14e5584344ea2df99fe747">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classKalmanFull.html#13a041cd98ff157703766be275a657bb">KalmanFull</a>
+, <a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">PF</a>
+, <a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM</a>
+, <a class="el" href="classMPF.html#55daf8e4b6553dd9f47c692de7931623">MPF&lt; BM_T &gt;</a>
+, <a class="el" href="classEKF.html#c79c62c9b3e0b56b3aaa1b6f1d9a7af7">EKF&lt; sq_T &gt;</a>
 <li>bilinfn()
 : <a class="el" href="classbilinfn.html#af9f36282730d910a41b95f4d1fb8221">bilinfn</a>
 <li>BM()
-: <a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>
+: <a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>
 </ul>
 <h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>cached
+: <a class="el" href="classenorm.html#ae12db77283a96e0f14a3eae93dc3bf1">enorm&lt; sq_T &gt;</a>
 <li>clear()
 : <a class="el" href="classsqmat.html#6fca246f9eabbdeb8cac03030e826b5e">sqmat</a>
@@ -88,4 +109,7 @@
 <li>cols()
 : <a class="el" href="classsqmat.html#ecc2e2540f95a04f4449842588170f5b">sqmat</a>
+<li>condition()
+: <a class="el" href="classKFcondQR.html#c9ecf292a85327aa6309c9fd70ceb606">KFcondQR</a>
+, <a class="el" href="classBMcond.html#3543cfe274c35f9033c24d8036a96c4d">BMcond</a>
 <li>constfn()
 : <a class="el" href="classconstfn.html#d08acd7fac0ef3edfa59bbe48403f2bc">constfn</a>
@@ -102,20 +126,41 @@
 <li>diffbifn()
 : <a class="el" href="classdiffbifn.html#0b33e1bfa23be5ed234d172eb4c0e4b5">diffbifn</a>
+<li>dim
+: <a class="el" href="classenorm.html#6938fc390a19cdaf6ad4503fcbaada4e">enorm&lt; sq_T &gt;</a>
+<li>distance
+: <a class="el" href="classeuni.html#52a6ff4a54010f88a6a19fca605c64a4">euni</a>
 <li>Drv
 : <a class="el" href="classDS.html#1012025a1a3a1fdd24aa48698a3d3454">DS</a>
-<li>dupdate()
-: <a class="el" href="classenorm.html#d1b0faf61260de09cf63bf823add5b32">enorm&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>eEF()
+: <a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a>
+<li>egamma()
+: <a class="el" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1">egamma</a>
 <li>EKF()
-: <a class="el" href="classEKF.html#003687c6cf2a01be90a00e2c99e3863e">EKF&lt; sq_T &gt;</a>
+: <a class="el" href="classEKF.html#ea4f3254cacf0a92d2a820b1201d049e">EKF&lt; sq_T &gt;</a>
+<li>emix()
+: <a class="el" href="classemix.html#b0ac204af8919c22bce72816ed82019e">emix</a>
+<li>ep
+: <a class="el" href="classmpdf.html#7aa894208a32f3487827df6d5054424c">mpdf</a>
+<li>ePdf
+: <a class="el" href="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">PF</a>
+<li>epdf()
+: <a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>
+<li>est
+: <a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">Kalman&lt; sq_T &gt;</a>
 <li>eval()
-: <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
+: <a class="el" href="classeuni.html#95f29237feb32fcadf570a181d5a0918">euni</a>
+, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
 , <a class="el" href="classbilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24">bilinfn</a>
-, <a class="el" href="classdiffbifn.html#40d8a7eee45acc55cda33d43282faa03">diffbifn</a>
+, <a class="el" href="classfnc.html#7fad2e6cb35909a165ec5a53def4a18c">fnc</a>
+, <a class="el" href="classdiffbifn.html#ad7673e16aa1a046b131b24c731c4632">diffbifn</a>
 , <a class="el" href="classenorm.html#93107f05a8e9b34b64853767200121a4">enorm&lt; sq_T &gt;</a>
-, <a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">epdf</a>
 <li>evalll
 : <a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">BM</a>
+<li>evalpdflog()
+: <a class="el" href="classenorm.html#9517594915e897584eaebbb057ed8881">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classeuni.html#830fca2ffb6786530529c57eabc81666">euni</a>
+, <a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">epdf</a>
 </ul>
 <h3><a class="anchor" name="index_f">- f -</a></h3><ul>
@@ -123,11 +168,21 @@
 : <a class="el" href="classRV.html#6b078b1086224aca3a9e5a203e647fb6">RV</a>
 <li>fsqmat()
-: <a class="el" href="classfsqmat.html#1929fbc9fe375f1d67f979d0d302336f">fsqmat</a>
+: <a class="el" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940">fsqmat</a>
+<li>fy
+: <a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">Kalman&lt; sq_T &gt;</a>
 </ul>
 <h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>Gamma_RNG()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#e132860f825f427d63652edd02c25b54">itpp::Gamma_RNG</a>
+<li>get_setup()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#8e666953249038f262cece2d3ed952d6">itpp::Gamma_RNG</a>
 <li>getdata()
-: <a class="el" href="classDS.html#db2dacc9e71a36eeb9c5c2ee402eeeb1">DS</a>
+: <a class="el" href="classMemDS.html#23522b9e7dd0bb0c365cc9cde4c05449">MemDS</a>
+, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
 , <a class="el" href="classMemDS.html#900f1e1c9eb950f87e557c068628e60e">MemDS</a>
-, <a class="el" href="classDS.html#4027575bc66ea358f9b03dd3be28fe1e">DS</a>
+</ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>high
+: <a class="el" href="classeuni.html#71b6d6b41aeb61a7f76f682b72119231">euni</a>
 </ul>
 <h3><a class="anchor" name="index_i">- i -</a></h3><ul>
@@ -139,9 +194,11 @@
 <h3><a class="anchor" name="index_k">- k -</a></h3><ul>
 <li>Kalman()
-: <a class="el" href="classKalman.html#96958a5ebfa966d892137987f265083a">Kalman&lt; sq_T &gt;</a>
+: <a class="el" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman&lt; sq_T &gt;</a>
 <li>KalmanFull()
 : <a class="el" href="classKalmanFull.html#7197ab6e7380790006394eabd3b97043">KalmanFull</a>
 </ul>
 <h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>len
+: <a class="el" href="classRV.html#0d7b36e2bbccf880c8fcf1e8cc43c1a9">RV</a>
 <li>linkrvs()
 : <a class="el" href="classDS.html#9a35ca9c9321dce2bf63bf668f785b75">DS</a>
@@ -150,18 +207,49 @@
 : <a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">BM</a>
 <li>logdet()
-: <a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">sqmat</a>
-, <a class="el" href="classfsqmat.html#bf212272ec195ad2706e2bf4d8e7c9b3">fsqmat</a>
+: <a class="el" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45">sqmat</a>
+, <a class="el" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5">fsqmat</a>
+<li>low
+: <a class="el" href="classeuni.html#ef42cd8d7645422048d46c46ec5cdac1">euni</a>
 </ul>
 <h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>mean()
+: <a class="el" href="classepdf.html#5b61fae74d370d2216576d598c1a74ef">epdf</a>
+, <a class="el" href="classenorm.html#191c1220c3ddd0c5f54e78f19b57ebd5">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classemix.html#dcb3f927bf061eac6229850158ca1558">emix</a>
+, <a class="el" href="classeuni.html#34a2f2d23158c40b97b44dfe551a1b3d">euni</a>
+, <a class="el" href="classegamma.html#6617890ffa40767fc196876534d4119d">egamma</a>
+, <a class="el" href="classeEmp.html#de42454cb65a17fd8662d207dd59aacf">eEmp</a>
+<li>mgamma()
+: <a class="el" href="classmgamma.html#af43e61b86900c0398d5c0ffc83b94e6">mgamma</a>
+<li>mlnorm()
+: <a class="el" href="classmlnorm.html#f927203b3f31171c5c10ffc7caa797f5">mlnorm&lt; sq_T &gt;</a>
+<li>mpdf()
+: <a class="el" href="classmpdf.html#581ecf362185d37c08bb31cb9d046d6f">mpdf</a>
+<li>MPF()
+: <a class="el" href="classMPF.html#827a66609cf69a832535d52233f76fa0">MPF&lt; BM_T &gt;</a>
 <li>mu
 : <a class="el" href="classKalmanFull.html#fb5aec635e2720cc5ac31bc01c18a68a">KalmanFull</a>
-, <a class="el" href="classKalman.html#3063a3f58a74cea672ae889971012eed">Kalman&lt; sq_T &gt;</a>
+, <a class="el" href="classenorm.html#71fde0d54bba147e00f612577f95ad20">enorm&lt; sq_T &gt;</a>
 <li>mult_sym()
-: <a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">sqmat</a>
-, <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>
+: <a class="el" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e">fsqmat</a>
+, <a class="el" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa">sqmat</a>
+<li>mult_sym_t()
+: <a class="el" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89">fsqmat</a>
+, <a class="el" href="classsqmat.html#6909e906da17725b1b80f3cae7cf3325">sqmat</a>
+</ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>n
+: <a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">PF</a>
+, <a class="el" href="classeEmp.html#8c33034de0e35f03f8bb85d3d67438fd">eEmp</a>
+<li>nk
+: <a class="el" href="classeuni.html#63105490e946e43372d6187ad1bafdda">euni</a>
 </ul>
 <h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>obs
+: <a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">PF</a>
 <li>operator()()
-: <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#98e2e65456bca33fca602b2bd607235e">itpp::Gamma_RNG</a>
+, <a class="el" href="classRV.html#28bbcb8873bafdac317bafb7b481cc45">RV</a>
+, <a class="el" href="classitpp_1_1Gamma__RNG.html#d407bbcda8a39e3f07cac3fdf58ca430">itpp::Gamma_RNG</a>
 <li>operator&lt;&lt;
 : <a class="el" href="classRV.html#cad6f15535d10437f6690cb4492176a8">RV</a>
@@ -173,18 +261,28 @@
 <li>P
 : <a class="el" href="classKalmanFull.html#b75dc059e84fa8ffc076203b30f926cc">KalmanFull</a>
-, <a class="el" href="classKalman.html#188cd5ac1c9e496b1a371eb7c57c97d3">Kalman&lt; sq_T &gt;</a>
+<li>par
+: <a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">PF</a>
 </ul>
 <h3><a class="anchor" name="index_q">- q -</a></h3><ul>
 <li>qform()
-: <a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">sqmat</a>
-, <a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">fsqmat</a>
+: <a class="el" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce">sqmat</a>
+, <a class="el" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad">fsqmat</a>
 </ul>
 <h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>R
+: <a class="el" href="classenorm.html#4ccc8d8514d644ef1c98d8ab023748a1">enorm&lt; sq_T &gt;</a>
 <li>resample()
-: <a class="el" href="classPF.html#a0e26b2f6a5884aca49122f3e4f0cf19">PF</a>
+: <a class="el" href="classeEmp.html#77268292fc4465cb73ddbfb1f2932a59">eEmp</a>
 <li>rows()
 : <a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">sqmat</a>
 <li>RV()
 : <a class="el" href="classRV.html#cf911c3900214460ade1366b04058462">RV</a>
+<li>rv
+: <a class="el" href="classmpdf.html#f6687c07ff07d47812dd565368ca59eb">mpdf</a>
+, <a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">BM</a>
+<li>RV()
+: <a class="el" href="classRV.html#6a22f5c06d6403870d4e414b1993bf9e">RV</a>
+<li>rvc
+: <a class="el" href="classmpdf.html#acb7dda792b3cd5576f39fa3129abbab">mpdf</a>
 </ul>
 <h3><a class="anchor" name="index_s">- s -</a></h3><ul>
@@ -192,12 +290,29 @@
 : <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</a>
 , <a class="el" href="classenorm.html#6020bcd89db2c9584bd8871001bd2023">enorm&lt; sq_T &gt;</a>
+, <a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">emix</a>
+, <a class="el" href="classeuni.html#0f71562e3e919aba823cb7d9d420ad4c">euni</a>
+, <a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">egamma</a>
+, <a class="el" href="classeEmp.html#c9b44099a400579b88aff9f5afaf9c13">eEmp</a>
 <li>samplecond()
-: <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+: <a class="el" href="classmlnorm.html#decf3e3b5c8e0812e5b4dbe94fa2ae18">mlnorm&lt; sq_T &gt;</a>
+, <a class="el" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139">mgamma</a>
+, <a class="el" href="classmpdf.html#c20c796f8d0a201f0897299150e45a41">mpdf</a>
+<li>samples
+: <a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">PF</a>
+<li>set_est()
+: <a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">Kalman&lt; sq_T &gt;</a>
+<li>set_parameters()
+: <a class="el" href="classegamma.html#8e348b89be82b70471fe8c5630f61339">egamma</a>
+, <a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">Kalman&lt; sq_T &gt;</a>
+<li>setup()
+: <a class="el" href="classitpp_1_1Gamma__RNG.html#dfaae19411e39aa87e1f72e409b6babe">itpp::Gamma_RNG</a>
+<li>size
+: <a class="el" href="classRV.html#0cae53d262be90a775a99a198e17fa58">RV</a>
 <li>sqrt_mult()
-: <a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqmat</a>
-, <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>
+: <a class="el" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c">sqmat</a>
+, <a class="el" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">fsqmat</a>
 <li>step()
-: <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
-, <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
+: <a class="el" href="classDS.html#470ba89e8e7c3c4d830803221b4e9be6">DS</a>
+, <a class="el" href="classMemDS.html#21916feb3e5ff960855c09b06a0d279b">MemDS</a>
 <li>subselect()
 : <a class="el" href="classRV.html#2bf35b18a32aad419f0516273939628e">RV</a>
@@ -219,10 +334,25 @@
 </ul>
 <h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>w
+: <a class="el" href="classPF.html#a97d12da4d1832c0b0c6ec5877f921f0">PF</a>
 <li>write()
-: <a class="el" href="classDS.html#0dfb6788b70c0d48a1f5276ed6c93039">DS</a>
-, <a class="el" href="classMemDS.html#6279bf18d44343750747ecc12e050f09">MemDS</a>
+: <a class="el" href="classMemDS.html#6279bf18d44343750747ecc12e050f09">MemDS</a>
 , <a class="el" href="classDS.html#f4ae51a3bc1267a6a52fc229973afe85">DS</a>
 </ul>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~BM()
+: <a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">BM</a>
+<li>~epdf()
+: <a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">epdf</a>
+<li>~fnc()
+: <a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">fnc</a>
+<li>~fsqmat()
+: <a class="el" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e">fsqmat</a>
+<li>~mpdf()
+: <a class="el" href="classmpdf.html#6788be9f3a888796499c5293a318fcfb">mpdf</a>
+<li>~sqmat()
+: <a class="el" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">sqmat</a>
+</ul>
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classfsqmat-members.html
===================================================================
--- /doc/html/classfsqmat-members.html (revision 28)
+++ /doc/html/classfsqmat-members.html (revision 32)
@@ -25,20 +25,26 @@
   <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></td></tr>
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#79e3f73e0ccd663c7f7e08083d272940">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#40eae99305e7c7240fa95cfec125b06f">fsqmat</a>(const int dim0)</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 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 class="memlist"><td><a class="el" href="classfsqmat.html#eb0d1358f536e4453b5f99d0418ca1e5">logdet</a>() const </td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>M</b> (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">mult_sym</a>(const mat &amp;C, bool trans=false)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mult_sym</b>(const mat &amp;C, fsqmat &amp;U, bool trans=false) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e">mult_sym</a>(const mat &amp;C)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>mult_sym</b>(const mat &amp;C, fsqmat &amp;U) (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#92052a8adc2054b63e42d1373d145c89">mult_sym_t</a>(const mat &amp;C)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>mult_sym_t</b>(const mat &amp;C, fsqmat &amp;U) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator *=</b>(double x) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator+=</b>(const fsqmat &amp;A) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>operator-=</b>(const fsqmat &amp;A) (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>operator&lt;&lt;</b> (defined in <a class="el" href="classfsqmat.html">fsqmat</a>)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [friend]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classfsqmat.html#b36530e155667fe9f1bd58394e50c65a">opupdt</a>(const vec &amp;v, double w)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classfsqmat.html#6d047b9f7a27dfc093303a13cc9b1fba">qform</a>(vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#1eec8762a2299d83c7b7cd6bf6cbc1ad">qform</a>(const vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classsqmat.html#071e80ced9cc3b8cbb360fa7462eb646">rows</a>() const </td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">sqrt_mult</a>(vec &amp;v)</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">sqrt_mult</a>(const 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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfsqmat.html#2a8f104e4befbc2aa90d8b11edfedb2e">~fsqmat</a>()</td><td><a class="el" href="classfsqmat.html">fsqmat</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">~sqmat</a>()</td><td><a class="el" href="classsqmat.html">sqmat</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:49 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 28)
+++ /doc/html/classconstfn-members.html (revision 32)
@@ -28,5 +28,6 @@
   <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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classfnc.html#17164c202f6feee3d708b8caab6306ab">~fnc</a>()</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 Thu Feb 28 16:54: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/libDC_8h__dep__incl.md5
===================================================================
--- /doc/html/libDC_8h__dep__incl.md5 (revision 23)
+++ /doc/html/libDC_8h__dep__incl.md5 (revision 32)
@@ -1,1 +1,1 @@
-c66b92351d16bb545936e84544bf9b08
+af1628bdb61076f77cc978dc7d907f6c
Index: /doc/html/inherit__graph__10.map
===================================================================
--- /doc/html/inherit__graph__10.map (revision 32)
+++ /doc/html/inherit__graph__10.map (revision 32)
@@ -0,0 +1,2 @@
+<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">
Index: /doc/html/classBM__inherit__graph.map
===================================================================
--- /doc/html/classBM__inherit__graph.map (revision 23)
+++ /doc/html/classBM__inherit__graph.map (revision 32)
@@ -1,8 +1,8 @@
-<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="5,87,133,113">
-<area shape="rect" href="$classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="47,183,193,209">
-<area shape="rect" href="$classKalmanFull.html" title="Basic Kalman filter with full matrices (education purpose only)! Will be deleted..." alt="" coords="208,87,299,113">
-<area shape="rect" href="$classPF.html" title="A Particle Filter prototype." alt="" coords="323,87,360,113">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="64,111,72,119">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="95,179,103,187">
-<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="68,263,172,289">
-<area shape="rect" href="$classTrivialPF.html" title="Trivial particle filter with proposal density that is not conditioned on the data..." alt="" coords="305,183,377,209">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="47,87,175,113">
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="49,183,185,209">
+<area shape="rect" href="$classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="249,87,287,113">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="108,111,116,119">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="112,179,120,187">
+<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="5,263,109,289">
+<area shape="rect" href="$classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="133,263,221,289">
+<area shape="rect" href="$classMPF.html" title="Marginalized Particle filter." alt="" coords="211,183,325,209">
Index: /doc/html/classBMcond__coll__graph.md5
===================================================================
--- /doc/html/classBMcond__coll__graph.md5 (revision 32)
+++ /doc/html/classBMcond__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+8aa2deab75334544b34b1ec48632c8d7
Index: /doc/html/inherit__graph__2.map
===================================================================
--- /doc/html/inherit__graph__2.map (revision 23)
+++ /doc/html/inherit__graph__2.map (revision 32)
@@ -1,3 +1,8 @@
-<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,5,56,32">
-<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="105,5,151,32">
-<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="201,5,321,32">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,132,56,159">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="112,56,157,83">
+<area shape="rect" href="$classeEmp.html" title="Weighted empirical density." alt="" coords="105,107,164,133">
+<area shape="rect" href="$classemix.html" title="Weighted mixture of epdfs with external owned components." alt="" coords="108,157,161,184">
+<area shape="rect" href="$classeuni.html" title="Uniform distributed density on a rectangular support." alt="" coords="111,208,159,235">
+<area shape="rect" href="$classegamma.html" title="Gamma posterior density." alt="" coords="239,5,319,32">
+<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="219,56,339,83">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="213,107,344,133">
Index: /doc/html/libDC_8h.html
===================================================================
--- /doc/html/libDC_8h.html (revision 28)
+++ /doc/html/libDC_8h.html (revision 32)
@@ -33,5 +33,5 @@
 <p><center><img src="libDC_8h__dep__incl.png" border="0" usemap="#work/mixpp/bdm/math/libDC.hdep_map" alt=""></center>
 <map name="work/mixpp/bdm/math/libDC.hdep_map">
-<area shape="rect" href="libKF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="5,84,219,111"><area shape="rect" href="libPF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="243,84,456,111"><area shape="rect" href="libEF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="480,84,683,111"></map>
+<area shape="rect" href="libEF_8h.html" title="Matrices in decomposed forms (LDL&#39;, LU, UDU&#39;, etc)." alt="" coords="109,84,312,111"><area shape="rect" href="libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,161,456,188"><area shape="rect" href="libKF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="5,161,219,188"></map>
 </div>
 
@@ -54,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 Mon Feb 18 21:48:39 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/inherit__graph__6.map
===================================================================
--- /doc/html/inherit__graph__6.map (revision 23)
+++ /doc/html/inherit__graph__6.map (revision 32)
@@ -1,2 +1,1 @@
-<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">
+<area shape="rect" href="$classmgamma.html" title="Gamma random walk." alt="" coords="5,5,91,32">
Index: /doc/html/classMPF__inherit__graph.map
===================================================================
--- /doc/html/classMPF__inherit__graph.map (revision 32)
+++ /doc/html/classMPF__inherit__graph.map (revision 32)
@@ -0,0 +1,2 @@
+<area shape="rect" href="$classPF.html" title="Trivial particle filter with proposal density equal to parameter evolution model..." alt="" coords="44,84,81,111">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="41,7,84,33">
Index: /doc/html/classKFcondQR-members.html
===================================================================
--- /doc/html/classKFcondQR-members.html (revision 32)
+++ /doc/html/classKFcondQR-members.html (revision 32)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>KFcondQR Member List</h1>This is the complete list of members for <a class="el" href="classKFcondQR.html">KFcondQR</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#a213c57aef55b2645e550bed81cfc0d4">_epdf</a>()</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_iP</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_iRy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_mu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_P</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_Ry</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>_yp</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>A</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#7750ffd73f261828a32c18aaeb65c75c">bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>C</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKFcondQR.html#c9ecf292a85327aa6309c9fd70ceb606">condition</a>(const vec &amp;RQ)</td><td><a class="el" href="classKFcondQR.html">KFcondQR</a></td><td><code> [virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>D</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dimx</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#5568c74bac67ae6d3b1061dba60c9424">est</a></td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#e580ab06483952bd03f2e651763e184f">fy</a></td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#3d56b0a97b8c1e25fdd3b10eef3c2ad3">Kalman</a>(RV rvx0, RV rvy0, RV rvu0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#ce38e31810aea4db45a83ad05eaba009">Kalman</a>(const Kalman&lt; ldmat &gt; &amp;K0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>KFcondQR</b>(RV rvx, RV rvy, RV rvu) (defined in <a class="el" href="classKFcondQR.html">KFcondQR</a>)</td><td><a class="el" href="classKFcondQR.html">KFcondQR</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>Q</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &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; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvc</b> (defined in <a class="el" href="classBMcond.html">BMcond</a>)</td><td><a class="el" href="classBMcond.html">BMcond</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvu</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rvy</b> (defined in <a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a>)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#80bcf29466d9a9dd2b8f74699807d0c0">set_est</a>(const vec &amp;mu0, const ldmat &amp;P0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classKalman.html#239b28a0380946f5749b2f8d2807f93a">set_parameters</a>(const mat &amp;A0, const mat &amp;B0, const mat &amp;C0, const mat &amp;D0, const ldmat &amp;R0, const ldmat &amp;Q0)</td><td><a class="el" href="classKalman.html">Kalman&lt; ldmat &gt;</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>~BMcond</b>() (defined in <a class="el" href="classBMcond.html">BMcond</a>)</td><td><a class="el" href="classBMcond.html">BMcond</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:52 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classeuni__coll__graph.map
===================================================================
--- /doc/html/classeuni__coll__graph.map (revision 32)
+++ /doc/html/classeuni__coll__graph.map (revision 32)
@@ -0,0 +1,4 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,103,56,129">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="12,7,49,33">
+<area shape="rect" title="rv" alt="" coords="27,31,35,39">
+<area shape="rect" title="rv" alt="" coords="27,99,35,107">
Index: /doc/html/classemix.html
===================================================================
--- /doc/html/classemix.html (revision 32)
+++ /doc/html/classemix.html (revision 32)
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: emix Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>emix Class Reference</h1><!-- doxytag: class="emix" --><!-- doxytag: inherits="epdf" -->Weighted mixture of epdfs with external owned components.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libEF_8h-source.html">libEF.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for emix:</div>
+<div class="dynsection">
+<p><center><img src="classemix__inherit__graph.png" border="0" usemap="#emix__inherit__map" alt="Inheritance graph"></center>
+<map name="emix__inherit__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="7,7,57,33"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for emix:</div>
+<div class="dynsection">
+<p><center><img src="classemix__coll__graph.png" border="0" usemap="#emix__coll__map" alt="Collaboration graph"></center>
+<map name="emix__coll__map">
+<area shape="rect" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="7,103,57,129"><area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="13,7,51,33"><area shape="rect" title="rv" alt="" coords="28,31,36,39"><area shape="rect" title="rv" alt="" coords="28,99,36,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classemix-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0ac204af8919c22bce72816ed82019e"></a><!-- doxytag: member="emix::emix" ref="b0ac204af8919c22bce72816ed82019e" args="(const RV &amp;rv, vec &amp;w0)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classemix.html#b0ac204af8919c22bce72816ed82019e">emix</a> (const <a class="el" href="classRV.html">RV</a> &amp;rv, vec &amp;w0)</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="599366d678152cfb0703da697b6b1de1"></a><!-- doxytag: member="emix::set_parameters" ref="599366d678152cfb0703da697b6b1de1" args="(int &amp;i, epdf *ep)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set_parameters</b> (int &amp;i, <a class="el" href="classepdf.html">epdf</a> *ep)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcb3f927bf061eac6229850158ca1558"></a><!-- doxytag: member="emix::mean" ref="dcb3f927bf061eac6229850158ca1558" args="()" -->
+vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classemix.html#dcb3f927bf061eac6229850158ca1558">mean</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return expected value <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">sample</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>.  <a href="#3eb9a8e12ce1c5c8a3ddb245354b6941"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f333ceeb88ebc37d81fcd4cea4526bfc"></a><!-- doxytag: member="emix::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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="113c76c61d20e3f2a24ba322a73dfc51"></a><!-- doxytag: member="emix::evalpdflog" ref="113c76c61d20e3f2a24ba322a73dfc51" args="(const vec &amp;val)" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</a> (const vec &amp;val)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute log-probability of argument <code>val</code>. <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="d408b764d002e5eb88acbf333921b2b3"></a><!-- doxytag: member="emix::n" ref="d408b764d002e5eb88acbf333921b2b3" 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="c79274a1e67dde9cc2914054c69b596b"></a><!-- doxytag: member="emix::w" ref="c79274a1e67dde9cc2914054c69b596b" args="" -->
+vec &amp;&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="7155d827417b53fb6aa5cff1459e6eb4"></a><!-- doxytag: member="emix::Coms" ref="7155d827417b53fb6aa5cff1459e6eb4" args="" -->
+Array&lt; <a class="el" href="classepdf.html">epdf</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Coms</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74da992e3f5d598da8850b646b79b9d9"></a><!-- doxytag: member="emix::rv" ref="74da992e3f5d598da8850b646b79b9d9" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rv</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Weighted mixture of epdfs with external owned components. <hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="3eb9a8e12ce1c5c8a3ddb245354b6941"></a><!-- doxytag: member="emix::sample" ref="3eb9a8e12ce1c5c8a3ddb245354b6941" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">vec emix::sample           </td>
+          <td>(</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [inline, virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the required moment of the <a class="el" href="classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density.">epdf</a>. 
+<p>
+Returns a sample from the density, <img class="formulaInl" alt="$x \sim epdf(rv)$" src="form_3.png"> 
+<p>Implements <a class="el" href="classepdf.html#7f74d871d50b9ff360f1b3879092a9fa">epdf</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 Thu Feb 28 16:54:48 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libDS_8h.html
===================================================================
--- /doc/html/libDS_8h.html (revision 28)
+++ /doc/html/libDS_8h.html (revision 32)
@@ -41,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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classKFcondQR__coll__graph.map
===================================================================
--- /doc/html/classKFcondQR__coll__graph.map (revision 32)
+++ /doc/html/classKFcondQR__coll__graph.map (revision 32)
@@ -0,0 +1,29 @@
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="231,604,367,631">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="340,215,383,241">
+<area shape="rect" href="$classKalman.html" title="Kalman filter with covariance matrices in square root form." alt="" coords="237,396,365,423">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="281,7,319,33">
+<area shape="rect" title="rvu\nrvy" alt="" coords="277,19,285,27">
+<area shape="rect" title="rvu\nrvy" alt="" coords="227,601,235,609">
+<area shape="rect" title="rv" alt="" coords="304,31,312,39">
+<area shape="rect" title="rv" alt="" coords="355,211,363,219">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="191,103,241,129">
+<area shape="rect" title="rv" alt="" coords="283,31,291,39">
+<area shape="rect" title="rv" alt="" coords="224,99,232,107">
+<area shape="rect" title="rvu\nrvy" alt="" coords="296,31,304,39">
+<area shape="rect" title="rvu\nrvy" alt="" coords="297,392,305,400">
+<area shape="rect" href="$classBMcond.html" title="Conditional Bayesian Filter." alt="" coords="399,159,471,185">
+<area shape="rect" title="rvc" alt="" coords="316,21,324,29">
+<area shape="rect" title="rvc" alt="" coords="427,155,435,163">
+<area shape="rect" href="$classenorm.html" title="enorm\&lt; ldmat \&gt;" alt="" coords="88,492,219,519">
+<area shape="rect" title="est\nfy" alt="" coords="169,516,177,524">
+<area shape="rect" title="est\nfy" alt="" coords="277,600,285,608">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="131,215,176,241">
+<area shape="rect" href="$classenorm.html" title="Gaussian density with positive definite (decomposed) covariance matrix." alt="" coords="93,396,213,423">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="149,420,157,428">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="149,488,157,496">
+<area shape="rect" title="_iR\nR" alt="" coords="219,239,227,247">
+<area shape="rect" title="_iR\nR" alt="" coords="157,392,165,400">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="228,239,236,247">
+<area shape="rect" title="_iP\n_P\nQ\nR\n_iRy\n_Ry" alt="" coords="275,392,283,400">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="297,420,305,428">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="295,600,303,608">
Index: /doc/html/inherit__graph__10.md5
===================================================================
--- /doc/html/inherit__graph__10.md5 (revision 32)
+++ /doc/html/inherit__graph__10.md5 (revision 32)
@@ -0,0 +1,1 @@
+554ffcb41cff5d0ed282be0df9ae4801
Index: /doc/html/classegamma-members.html
===================================================================
--- /doc/html/classegamma-members.html (revision 32)
+++ /doc/html/classegamma-members.html (revision 32)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>egamma Member List</h1>This is the complete list of members for <a class="el" href="classegamma.html">egamma</a>, including all inherited members.<p><table>
+  <tr class="memlist"><td><a class="el" href="classegamma.html#44445c56e60b91b377f207f8d5089790">_param</a>(vec *&amp;a, vec *&amp;b)</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>alpha</b> (defined in <a class="el" href="classegamma.html">egamma</a>)</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>beta</b> (defined in <a class="el" href="classegamma.html">egamma</a>)</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>dupdate</b>(mat &amp;v, double nu=1.0) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classeEF.html#702e24158366430bc24d57c7f64e1e9e">eEF</a>()</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>eEF</b>(const RV &amp;rv) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classegamma.html#4b1d34f3b244ea51a58ec10c468788c1">egamma</a>(const RV &amp;rv)</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>evalpdflog</b>(const vec val) (defined in <a class="el" href="classegamma.html">egamma</a>)</td><td><a class="el" href="classegamma.html">egamma</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">eEF::evalpdflog</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="classegamma.html#6617890ffa40767fc196876534d4119d">mean</a>()</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classegamma.html#0a2186a586432c2c3f22d09c5341890f">sample</a>()</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>sample</b>(int N) (defined in <a class="el" href="classegamma.html">egamma</a>)</td><td><a class="el" href="classegamma.html">egamma</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classegamma.html#8e348b89be82b70471fe8c5630f61339">set_parameters</a>(const vec &amp;a, const vec &amp;b)</td><td><a class="el" href="classegamma.html">egamma</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>tupdate</b>(double phi, mat &amp;vbar, double nubar) (defined in <a class="el" href="classeEF.html">eEF</a>)</td><td><a class="el" href="classeEF.html">eEF</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classBM__inherit__graph.md5
===================================================================
--- /doc/html/classBM__inherit__graph.md5 (revision 23)
+++ /doc/html/classBM__inherit__graph.md5 (revision 32)
@@ -1,1 +1,1 @@
-09290a43928c25020995e8eec85fd9e3
+a493f13403a1fdc9e18ef6dd14c8788c
Index: /doc/html/classenorm__coll__graph.map
===================================================================
--- /doc/html/classenorm__coll__graph.map (revision 23)
+++ /doc/html/classenorm__coll__graph.map (revision 32)
@@ -4,4 +4,4 @@
 <area shape="rect" title="rv" alt="" coords="27,31,35,39">
 <area shape="rect" title="rv" alt="" coords="27,99,35,107">
-<area shape="rect" title="R" alt="" coords="93,207,101,215">
-<area shape="rect" title="R" alt="" coords="77,275,85,283">
+<area shape="rect" title="_iR\nR" alt="" coords="95,207,103,215">
+<area shape="rect" title="_iR\nR" alt="" coords="77,291,85,299">
Index: /doc/html/libPF_8h__incl.map
===================================================================
--- /doc/html/libPF_8h__incl.map (revision 23)
+++ /doc/html/libPF_8h__incl.map (revision 32)
@@ -1,3 +1,5 @@
-<area shape="rect" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="63,161,161,188">
-<area shape="rect" href="$libBM_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="57,84,167,111">
-<area shape="rect" href="$libDC_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="191,84,308,111">
+<area shape="rect" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="159,239,257,265">
+<area shape="rect" href="$libEF_8h.html" title="Bayesian Filtering using stochastic sampling (Particle Filters)." alt="" coords="157,84,259,111">
+<area shape="rect" href="$libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="53,161,171,188">
+<area shape="rect" href="$libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="245,161,312,188">
+<area shape="rect" href="$itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="336,161,432,188">
Index: /doc/html/classsqmat.html
===================================================================
--- /doc/html/classsqmat.html (revision 28)
+++ /doc/html/classsqmat.html (revision 32)
@@ -44,16 +44,19 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion to full matrix. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#faa3bc90be142adde9cf74f573c70157">mult_sym</a> (const mat &amp;C, bool trans=true)=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  <a href="#faa3bc90be142adde9cf74f573c70157"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c852819589f74cdaefbd648c0ce8547"></a><!-- doxytag: member="sqmat::logdet" ref="5c852819589f74cdaefbd648c0ce8547" args="()=0" -->
-virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#5c852819589f74cdaefbd648c0ce8547">logdet</a> ()=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#60fbbfa9e483b8187c135f787ee53afa">mult_sym</a> (const mat &amp;C)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.  <a href="#60fbbfa9e483b8187c135f787ee53afa"></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="classsqmat.html#6909e906da17725b1b80f3cae7cf3325">mult_sym_t</a> (const mat &amp;C)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$.  <a href="#6909e906da17725b1b80f3cae7cf3325"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a772b396750eeeed85d69fa72478b45"></a><!-- doxytag: member="sqmat::logdet" ref="0a772b396750eeeed85d69fa72478b45" args="() const =0" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#0a772b396750eeeed85d69fa72478b45">logdet</a> () const =0</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of a determinant. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#b5236c8a050199e1a9d338b0da1a08d2">sqrt_mult</a> (vec &amp;v)=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#b5236c8a050199e1a9d338b0da1a08d2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44e079468bc8bfccf634dc85b32ba6be"></a><!-- doxytag: member="sqmat::qform" ref="44e079468bc8bfccf634dc85b32ba6be" args="(vec &amp;v)=0" -->
-virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#44e079468bc8bfccf634dc85b32ba6be">qform</a> (vec &amp;v)=0</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#975ddc7e8035d8d4e6cbd52dd99c248c">sqrt_mult</a> (const vec &amp;v)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square root of $V$ by vector $x$.  <a href="#975ddc7e8035d8d4e6cbd52dd99c248c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90f97cdf9de08ead4f0648419b3aa4ce"></a><!-- doxytag: member="sqmat::qform" ref="90f97cdf9de08ead4f0648419b3aa4ce" args="(const vec &amp;v)=0" -->
+virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#90f97cdf9de08ead4f0648419b3aa4ce">qform</a> (const vec &amp;v)=0</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form $x= v'*V*v$;. <br></td></tr>
@@ -70,4 +73,8 @@
 
 <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="0481f2067bb32aaea7e6d4f27e46b656"></a><!-- doxytag: member="sqmat::~sqmat" ref="0481f2067bb32aaea7e6d4f27e46b656" args="()" -->
+virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsqmat.html#0481f2067bb32aaea7e6d4f27e46b656">~sqmat</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <br></td></tr>
 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0abed904bdc0882373ba9adba919689d"></a><!-- doxytag: member="sqmat::dim" ref="0abed904bdc0882373ba9adba919689d" args="" -->
@@ -116,5 +123,5 @@
 </div>
 </div><p>
-<a class="anchor" name="faa3bc90be142adde9cf74f573c70157"></a><!-- doxytag: member="sqmat::mult_sym" ref="faa3bc90be142adde9cf74f573c70157" args="(const mat &amp;C, bool trans=true)=0" -->
+<a class="anchor" name="60fbbfa9e483b8187c135f787ee53afa"></a><!-- doxytag: member="sqmat::mult_sym" ref="60fbbfa9e483b8187c135f787ee53afa" args="(const mat &amp;C)=0" -->
 <div class="memitem">
 <div class="memproto">
@@ -124,16 +131,7 @@
           <td>(</td>
           <td class="paramtype">const mat &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>trans</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
+          <td class="paramname"> <em>C</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual]</code></td>
         </tr>
       </table>
@@ -147,13 +145,41 @@
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>trans</em>&nbsp;</td><td>if true, product $V = C'*V*C$ will be computed instead; </td></tr>
   </table>
 </dl>
 
-<p>Implemented in <a class="el" href="classfsqmat.html#acc5d2d0a243f1de6d0106065f01f518">fsqmat</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b5236c8a050199e1a9d338b0da1a08d2"></a><!-- doxytag: member="sqmat::sqrt_mult" ref="b5236c8a050199e1a9d338b0da1a08d2" args="(vec &amp;v)=0" -->
+<p>Implemented in <a class="el" href="classfsqmat.html#5530d2756b5d991de755e6121c9a452e">fsqmat</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6909e906da17725b1b80f3cae7cf3325"></a><!-- doxytag: member="sqmat::mult_sym_t" ref="6909e906da17725b1b80f3cae7cf3325" args="(const mat &amp;C)=0" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void sqmat::mult_sym_t           </td>
+          <td>(</td>
+          <td class="paramtype">const mat &amp;&nbsp;</td>
+          <td class="paramname"> <em>C</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"><code> [pure virtual]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
+  </table>
+</dl>
+
+<p>Implemented in <a class="el" href="classfsqmat.html#92052a8adc2054b63e42d1373d145c89">fsqmat</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="975ddc7e8035d8d4e6cbd52dd99c248c"></a><!-- doxytag: member="sqmat::sqrt_mult" ref="975ddc7e8035d8d4e6cbd52dd99c248c" args="(const vec &amp;v)=0" -->
 <div class="memitem">
 <div class="memproto">
@@ -162,5 +188,5 @@
           <td class="memname">virtual vec sqmat::sqrt_mult           </td>
           <td>(</td>
-          <td class="paramtype">vec &amp;&nbsp;</td>
+          <td class="paramtype">const vec &amp;&nbsp;</td>
           <td class="paramname"> <em>v</em>          </td>
           <td>&nbsp;)&nbsp;</td>
@@ -175,5 +201,5 @@
 <p>
 Used e.g. in generating normal samples. 
-<p>Implemented in <a class="el" href="classfsqmat.html#6648dd4291b809cce14e8497d0433ad3">fsqmat</a>.</p>
+<p>Implemented in <a class="el" href="classfsqmat.html#2288389e2d47bd9df112815ef570c5c9">fsqmat</a>.</p>
 
 </div>
@@ -181,5 +207,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 Mon Feb 18 21:48:45 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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/classmgamma-members.html
===================================================================
--- /doc/html/classmgamma-members.html (revision 32)
+++ /doc/html/classmgamma-members.html (revision 32)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>mgamma Member List</h1>This is the complete list of members for <a class="el" href="classmgamma.html">mgamma</a>, including all inherited members.<p><table>
+  <tr bgcolor="#f0f0f0"><td><b>condition</b>(const vec &amp;val) (defined in <a class="el" href="classmgamma.html">mgamma</a>)</td><td><a class="el" href="classmgamma.html">mgamma</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmgamma.html#af43e61b86900c0398d5c0ffc83b94e6">mgamma</a>(const RV &amp;rv, const RV &amp;rvc)</td><td><a class="el" href="classmgamma.html">mgamma</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmgamma.html#9f40dc43885085fad8e3d6652b79e139">samplecond</a>(vec &amp;cond, double &amp;lik)</td><td><a class="el" href="classmgamma.html">mgamma</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classmgamma.html#e9d52749793f40aad85b70c6db4435ae">samplecond</a>(vec &amp;cond, vec &amp;lik, int n)</td><td><a class="el" href="classmgamma.html">mgamma</a></td><td></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(double k) (defined in <a class="el" href="classmgamma.html">mgamma</a>)</td><td><a class="el" href="classmgamma.html">mgamma</a></td><td></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:53 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/classegamma__coll__graph.map
===================================================================
--- /doc/html/classegamma__coll__graph.map (revision 32)
+++ /doc/html/classegamma__coll__graph.map (revision 32)
@@ -0,0 +1,5 @@
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="23,183,68,209">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="20,103,71,129">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="27,7,64,33">
+<area shape="rect" title="rv" alt="" coords="41,31,49,39">
+<area shape="rect" title="rv" alt="" coords="41,99,49,107">
Index: /doc/html/classemix-members.html
===================================================================
--- /doc/html/classemix-members.html (revision 32)
+++ /doc/html/classemix-members.html (revision 32)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: Member List</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>emix Member List</h1>This is the complete list of members for <a class="el" href="classemix.html">emix</a>, including all inherited members.<p><table>
+  <tr bgcolor="#f0f0f0"><td><b>Coms</b> (defined in <a class="el" href="classemix.html">emix</a>)</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classemix.html#b0ac204af8919c22bce72816ed82019e">emix</a>(const RV &amp;rv, vec &amp;w0)</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#d8eb760037b3bad5a0d64081606697cd">epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#c95b1a27a8dd9507bb9a5a3cb2809c7a">epdf</a>(const RV &amp;rv0)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#f333ceeb88ebc37d81fcd4cea4526bfc">eval</a>(const vec &amp;val)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#113c76c61d20e3f2a24ba322a73dfc51">evalpdflog</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="classemix.html#dcb3f927bf061eac6229850158ca1558">mean</a>()</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>n</b> (defined in <a class="el" href="classemix.html">emix</a>)</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>rv</b> (defined in <a class="el" href="classepdf.html">epdf</a>)</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classemix.html#3eb9a8e12ce1c5c8a3ddb245354b6941">sample</a>()</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_parameters</b>(int &amp;i, epdf *ep) (defined in <a class="el" href="classemix.html">emix</a>)</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [inline]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>w</b> (defined in <a class="el" href="classemix.html">emix</a>)</td><td><a class="el" href="classemix.html">emix</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classepdf.html#0a322dd106f04c0a2915e3d4f4227396">~epdf</a>()</td><td><a class="el" href="classepdf.html">epdf</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:48 2008 for mixpp by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
+</body>
+</html>
Index: /doc/html/libEF_8h.html
===================================================================
--- /doc/html/libEF_8h.html (revision 28)
+++ /doc/html/libEF_8h.html (revision 32)
@@ -19,4 +19,5 @@
 <code>#include &quot;<a class="el" href="libDC_8h-source.html">../math/libDC.h</a>&quot;</code><br>
 <code>#include &quot;<a class="el" href="libBM_8h-source.html">libBM.h</a>&quot;</code><br>
+<code>#include &quot;../itpp_ext.h&quot;</code><br>
 
 <p>
@@ -26,5 +27,14 @@
 <p><center><img src="libEF_8h__incl.png" border="0" usemap="#work/mixpp/bdm/stat/libEF.h_map" alt=""></center>
 <map name="work/mixpp/bdm/stat/libEF.h_map">
-<area shape="rect" title="Probability distributions for Exponential Family models." alt="" coords="57,161,156,188"><area shape="rect" href="libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="48,84,165,111"><area shape="rect" href="libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="189,84,256,111"></map>
+<area shape="rect" title="Probability distributions for Exponential Family models." alt="" coords="105,161,204,188"><area shape="rect" href="libDC_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="39,84,156,111"><area shape="rect" href="libBM_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="180,84,247,111"><area shape="rect" href="itpp__ext_8h&#45;source.html" title="Probability distributions for Exponential Family models." alt="" coords="271,84,367,111"></map>
+</div>
+
+<p>
+<div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dynsection">
+<p><center><img src="libEF_8h__dep__incl.png" border="0" usemap="#work/mixpp/bdm/stat/libEF.hdep_map" alt=""></center>
+<map name="work/mixpp/bdm/stat/libEF.hdep_map">
+<area shape="rect" href="libKF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="5,84,219,111"><area shape="rect" href="libPF_8h.html" title="Probability distributions for Exponential Family models." alt="" coords="243,84,456,111"></map>
 </div>
 
@@ -41,5 +51,39 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gaussian density with positive definite (decomposed) covariance matrix.  <a href="classenorm.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>mlnorm&lt; sq_T &gt;</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classegamma.html">egamma</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma posterior density.  <a href="classegamma.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classemix.html">emix</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Weighted mixture of epdfs with external owned components.  <a href="classemix.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeuni.html">euni</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uniform distributed density on a rectangular support.  <a href="classeuni.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlnorm.html">mlnorm&lt; sq_T &gt;</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normal distributed linear function with linear function of mean value;.  <a href="classmlnorm.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmgamma.html">mgamma</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gamma random walk.  <a href="classmgamma.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeEmp.html">eEmp</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Weighted empirical density.  <a href="classeEmp.html#_details">More...</a><br></td></tr>
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libEF_8h.html#99497a3ff630f761cf6bff7babd23212">RESAMPLING_METHOD</a> { <b>MULTINOMIAL</b> =  0, 
+<b>STRATIFIED</b> =  1, 
+<b>SYSTEMATIC</b> =  3
+ }</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switch between various resampling methods. <br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ae7dcdfebede774dd1b1f16cad10dd9"></a><!-- doxytag: member="libEF.h::UniRNG" ref="2ae7dcdfebede774dd1b1f16cad10dd9" args="" -->
+Uniform_RNG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="libEF_8h.html#2ae7dcdfebede774dd1b1f16cad10dd9">UniRNG</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Global Uniform_RNG. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="395c5925c8792aef3be4c360e91526c0"></a><!-- doxytag: member="libEF.h::NorRNG" ref="395c5925c8792aef3be4c360e91526c0" args="" -->
+Normal_RNG&nbsp;</td><td class="memItemRight" valign="bottom"><b>NorRNG</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="884a8348c92a49725b78e2b6ab0bb802"></a><!-- doxytag: member="libEF.h::GamRNG" ref="884a8348c92a49725b78e2b6ab0bb802" args="" -->
+<a class="el" href="classitpp_1_1Gamma__RNG.html">Gamma_RNG</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>GamRNG</b></td></tr>
 
 </table>
@@ -49,5 +93,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 Mon Feb 18 21:48:40 2008 for mixpp by&nbsp;
+Using IT++ for numerical operations ----------------------------------- <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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 28)
+++ /doc/html/classPF-members.html (revision 32)
@@ -22,17 +22,21 @@
 </div>
 <h1>PF Member List</h1>This is the complete list of members for <a class="el" href="classPF.html">PF</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classBM.html#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#3dc45554556926bde996a267636abe55">_epdf</a>()=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="classPF.html#64f636bbd63bea9efd778214e6b631d3">bayes</a>(const vec &amp;dt)</td><td><a class="el" href="classPF.html">PF</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classBM.html#87b07867fd4c133aa89a18543f68d9f9">BM::bayes</a>(mat Dt)</td><td><a class="el" href="classBM.html">BM</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classBM.html#ef32a12f4f89e4000bf5390ceda762ae">BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classBM.html#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>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 Mon Feb 18 21:48:44 2008 for mixpp by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classBM.html#605d28b426adb677c86a57ddb525132a">BM</a>(const RV &amp;rv0)</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="classPF.html#a2ac56d1e3ffbb4ff0b3f02e6399deb0">ePdf</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#bf6fb59b30141074f8ee1e2f43d03129">evalll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#5623fef6572a08c2b53b8c87b82dc979">ll</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#2c2f44ed7a4eaa42e07bdb58d503f280">n</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#dd0a687a4515333d6809147335854e77">obs</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#d92ac103f88f8c21e197e90af5695a09">par</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>(const RV &amp;rv0, mpdf &amp;par0, mpdf &amp;obs0, int n) (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#af00f0612fabe66241dd507188cdbf88">rv</a></td><td><a class="el" href="classBM.html">BM</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classPF.html#361743a0b5b89de1a29e91d1343b2565">samples</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr bgcolor="#f0f0f0"><td><b>set_est</b>(const epdf *&amp;epdf0) (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#a97d12da4d1832c0b0c6ec5877f921f0">w</a></td><td><a class="el" href="classPF.html">PF</a></td><td><code> [protected]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classBM.html#ca0f02b3b4144e0895cc14f7e0374bdd">~BM</a>()</td><td><a class="el" href="classBM.html">BM</a></td><td><code> [inline, virtual]</code></td></tr>
+</table><hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54:56 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/inherit__graph__2.md5
===================================================================
--- /doc/html/inherit__graph__2.md5 (revision 23)
+++ /doc/html/inherit__graph__2.md5 (revision 32)
@@ -1,1 +1,1 @@
-304615ef75d0480a4f0ff9a58219682d
+8d99e703fbd55fffd522f941456a35c3
Index: /doc/html/classmgamma__coll__graph.map
===================================================================
--- /doc/html/classmgamma__coll__graph.map (revision 32)
+++ /doc/html/classmgamma__coll__graph.map (revision 32)
@@ -0,0 +1,8 @@
+<area shape="rect" href="$classegamma.html" title="Gamma posterior density." alt="" coords="8,263,88,289">
+<area shape="rect" title="epdf" alt="" coords="44,287,52,295">
+<area shape="rect" title="epdf" alt="" coords="44,355,52,363">
+<area shape="rect" href="$classeEF.html" title="General conjugate exponential family posterior density." alt="" coords="25,183,71,209">
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="23,103,73,129">
+<area shape="rect" href="$classRV.html" title="Class representing variables, most often random variables." alt="" coords="29,7,67,33">
+<area shape="rect" title="rv" alt="" coords="44,31,52,39">
+<area shape="rect" title="rv" alt="" coords="44,99,52,107">
Index: /doc/html/classTrivialPF.html
===================================================================
--- /doc/html/classTrivialPF.html (revision 28)
+++ /doc/html/classTrivialPF.html (revision 32)
@@ -58,13 +58,13 @@
 
 <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="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#64f636bbd63bea9efd778214e6b631d3">bayes</a> (const vec &amp;dt)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#a892eff438aab2dd1a9e2efcb7fb5bdf"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Incremental Bayes rule.  <a href="#64f636bbd63bea9efd778214e6b631d3"></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="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53b7cc5a0709b0d40fb68408437c0aa2"></a><!-- doxytag: member="TrivialPF::_epdf" ref="53b7cc5a0709b0d40fb68408437c0aa2" args="()" -->
+<a class="el" href="classepdf.html">epdf</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPF.html#53b7cc5a0709b0d40fb68408437c0aa2">_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>
@@ -91,15 +91,15 @@
 <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="a892eff438aab2dd1a9e2efcb7fb5bdf"></a><!-- doxytag: member="TrivialPF::bayes" ref="a892eff438aab2dd1a9e2efcb7fb5bdf" args="(const vec &amp;dt)=0" -->
+<a class="anchor" name="64f636bbd63bea9efd778214e6b631d3"></a><!-- doxytag: member="TrivialPF::bayes" ref="64f636bbd63bea9efd778214e6b631d3" args="(const vec &amp;dt)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual void BM::bayes           </td>
+          <td class="memname">void PF::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>
+          <td width="100%"><code> [inline, virtual, inherited]</code></td>
         </tr>
       </table>
@@ -116,9 +116,11 @@
 </dl>
 
+<p>Implements <a class="el" href="classBM.html#a892eff438aab2dd1a9e2efcb7fb5bdf">BM</a>.</p>
+
 </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="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 Mon Feb 18 21:48:46 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Sat Feb 23 11:48:50 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/inherit__graph__6.md5
===================================================================
--- /doc/html/inherit__graph__6.md5 (revision 23)
+++ /doc/html/inherit__graph__6.md5 (revision 32)
@@ -1,1 +1,1 @@
-554ffcb41cff5d0ed282be0df9ae4801
+0fa673075ae47447cfbc35d3b13cd688
Index: /doc/html/classBMcond.html
===================================================================
--- /doc/html/classBMcond.html (revision 32)
+++ /doc/html/classBMcond.html (revision 32)
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>mixpp: BMcond Class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.3 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    <li><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
+    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  </ul>
+</div>
+<h1>BMcond Class Reference</h1><!-- doxytag: class="BMcond" -->Conditional Bayesian Filter.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="libBM_8h-source.html">libBM.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Inheritance diagram for BMcond:</div>
+<div class="dynsection">
+<p><center><img src="classBMcond__inherit__graph.png" border="0" usemap="#BMcond__inherit__map" alt="Inheritance graph"></center>
+<map name="BMcond__inherit__map">
+<area shape="rect" href="classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="5,84,93,111"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+<div class="dynheader">
+Collaboration diagram for BMcond:</div>
+<div class="dynsection">
+<p><center><img src="classBMcond__coll__graph.png" border="0" usemap="#BMcond__coll__map" alt="Collaboration graph"></center>
+<map name="BMcond__coll__map">
+<area shape="rect" href="classRV.html" title="Class representing variables, most often random variables." alt="" coords="23,7,60,33"><area shape="rect" title="rvc" alt="" coords="37,31,45,39"><area shape="rect" title="rvc" alt="" coords="37,99,45,107"></map>
+<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classBMcond-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3543cfe274c35f9033c24d8036a96c4d"></a><!-- doxytag: member="BMcond::condition" ref="3543cfe274c35f9033c24d8036a96c4d" args="(const vec &amp;val)=0" -->
+virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBMcond.html#3543cfe274c35f9033c24d8036a96c4d">condition</a> (const vec &amp;val)=0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Substitute <code>val</code> for <code>rvc</code>. <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="9ba793c8ec453f04d372d17195ed8dec"></a><!-- doxytag: member="BMcond::rvc" ref="9ba793c8ec453f04d372d17195ed8dec" args="" -->
+<a class="el" href="classRV.html">RV</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>rvc</b></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Conditional Bayesian Filter. 
+<p>
+Evaluates conditional filtering density $f(rv|rvc,data)$ for a given <code>rvc</code> which is specified in each step by calling function <code>condition</code>.<p>
+This is an interface class used to assure that certain <a class="el" href="classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities.">BM</a> has operation <code>condition</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 Thu Feb 28 16:54: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>
+</body>
+</html>
Index: /doc/html/classMPF__inherit__graph.md5
===================================================================
--- /doc/html/classMPF__inherit__graph.md5 (revision 32)
+++ /doc/html/classMPF__inherit__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+b929002be13684c7c3c85b9261bb793f
Index: /doc/html/classDS.html
===================================================================
--- /doc/html/classDS.html (revision 28)
+++ /doc/html/classDS.html (revision 32)
@@ -117,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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classdiffbifn.html
===================================================================
--- /doc/html/classdiffbifn.html (revision 28)
+++ /doc/html/classdiffbifn.html (revision 32)
@@ -199,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 Mon Feb 18 21:48:41 2008 for mixpp by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 28 16:54: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/classeuni__coll__graph.md5
===================================================================
--- /doc/html/classeuni__coll__graph.md5 (revision 32)
+++ /doc/html/classeuni__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+919724c52af7ddc5f3b5716a33856507
Index: /doc/html/classeuni__inherit__graph.map
===================================================================
--- /doc/html/classeuni__inherit__graph.map (revision 32)
+++ /doc/html/classeuni__inherit__graph.map (revision 32)
@@ -0,0 +1,1 @@
+<area shape="rect" href="$classepdf.html" title="Probability density function with numerical statistics, e.g. posterior density." alt="" coords="5,7,56,33">
Index: /doc/html/classKalman__inherit__graph.map
===================================================================
--- /doc/html/classKalman__inherit__graph.map (revision 23)
+++ /doc/html/classKalman__inherit__graph.map (revision 32)
@@ -1,5 +1,6 @@
-<area shape="rect" href="$classKalman.html" title="Kalman\&lt; fsqmat \&gt;" alt="" coords="5,183,152,209">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,111,83,119">
-<area shape="rect" title="\&lt; fsqmat \&gt;" alt="" coords="75,179,83,187">
-<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="57,7,100,33">
-<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="27,263,131,289">
+<area shape="rect" href="$classKalman.html" title="Kalman\&lt; ldmat \&gt;" alt="" coords="49,183,185,209">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="113,111,121,119">
+<area shape="rect" title="\&lt; ldmat \&gt;" alt="" coords="113,179,121,187">
+<area shape="rect" href="$classBM.html" title="Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities." alt="" coords="96,7,139,33">
+<area shape="rect" href="$classEKF.html" title="Extended Kalman Filter." alt="" coords="5,263,109,289">
+<area shape="rect" href="$classKFcondQR.html" title="Kalman Filter with conditional diagonal matrices R and Q." alt="" coords="133,263,221,289">
Index: /doc/html/classKFcondQR__coll__graph.md5
===================================================================
--- /doc/html/classKFcondQR__coll__graph.md5 (revision 32)
+++ /doc/html/classKFcondQR__coll__graph.md5 (revision 32)
@@ -0,0 +1,1 @@
+c037f96f6acaf7212d22ff8082ee3436
Index: /doc/latex/classfsqmat.tex
===================================================================
--- /doc/latex/classfsqmat.tex (revision 28)
+++ /doc/latex/classfsqmat.tex (revision 32)
@@ -28,7 +28,12 @@
 
 \begin{CompactList}\small\item\em Conversion to full matrix. \item\end{CompactList}\item 
-void {\bf mult\_\-sym} (const mat \&C, bool trans=false)
+void {\bf mult\_\-sym} (const mat \&C)
 \begin{CompactList}\small\item\em Inplace symmetric multiplication by a SQUARE matrix \$C\$, i.e. \$V = C$\ast$V$\ast$C'\$. \item\end{CompactList}\item 
-void \textbf{mult\_\-sym} (const mat \&C, {\bf fsqmat} \&U, bool trans=false)\label{classfsqmat_ccf5ad8fb038f82e9d2201c0606b65fa}
+void {\bf mult\_\-sym\_\-t} (const mat \&C)
+\begin{CompactList}\small\item\em Inplace symmetric multiplication by a SQUARE transpose of matrix \$C\$, i.e. \$V = C'$\ast$V$\ast$C\$. \item\end{CompactList}\item 
+void \textbf{mult\_\-sym} (const mat \&C, {\bf fsqmat} \&U)\label{classfsqmat_cfea3618d426e2b8232f09aa0070266f}
+
+\item 
+void \textbf{mult\_\-sym\_\-t} (const mat \&C, {\bf fsqmat} \&U)\label{classfsqmat_7ca865c68989d22903efe97045cb6c9a}
 
 \item 
@@ -36,16 +41,25 @@
 
 \begin{CompactList}\small\item\em Clearing matrix so that it corresponds to zeros. \item\end{CompactList}\item 
+{\bf fsqmat} ()\label{classfsqmat_79e3f73e0ccd663c7f7e08083d272940}
+
+\begin{CompactList}\small\item\em Default initialization. \item\end{CompactList}\item 
+{\bf fsqmat} (const int dim0)\label{classfsqmat_40eae99305e7c7240fa95cfec125b06f}
+
+\begin{CompactList}\small\item\em Default initialization with proper size. \item\end{CompactList}\item 
 {\bf fsqmat} (const mat \&M)\label{classfsqmat_1929fbc9fe375f1d67f979d0d302336f}
 
 \begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
+virtual {\bf $\sim$fsqmat} ()\label{classfsqmat_2a8f104e4befbc2aa90d8b11edfedb2e}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\item 
 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}
+double {\bf logdet} () const \label{classfsqmat_eb0d1358f536e4453b5f99d0418ca1e5}
 
 \begin{CompactList}\small\item\em Logarithm of a determinant. \item\end{CompactList}\item 
-double {\bf qform} (vec \&v)\label{classfsqmat_6d047b9f7a27dfc093303a13cc9b1fba}
+double {\bf qform} (const vec \&v)\label{classfsqmat_1eec8762a2299d83c7b7cd6bf6cbc1ad}
 
 \begin{CompactList}\small\item\em Evaluates quadratic form \$x= v'$\ast$V$\ast$v\$;. \item\end{CompactList}\item 
-vec {\bf sqrt\_\-mult} (vec \&v)
+vec {\bf sqrt\_\-mult} (const vec \&v)
 \begin{CompactList}\small\item\em Multiplies square root of \$V\$ by vector \$x\$. \item\end{CompactList}\item 
 {\bf fsqmat} \& \textbf{operator+=} (const {\bf fsqmat} \&A)\label{classfsqmat_514d1fdd8a382dbd6a774f2cf1ebd3de}
@@ -73,4 +87,10 @@
 
 \end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const {\bf fsqmat} \&sq)\label{classfsqmat_e06aba54d61e807b41bd68b5ee6ac22f}
+
+\end{CompactItemize}
 
 
@@ -95,5 +115,5 @@
 Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_b223484796661f2dadb5607a86ce0581}.\index{fsqmat@{fsqmat}!mult_sym@{mult\_\-sym}}
 \index{mult_sym@{mult\_\-sym}!fsqmat@{fsqmat}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::mult\_\-sym (const mat \& {\em C}, bool {\em trans} = {\tt false})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_acc5d2d0a243f1de6d0106065f01f518}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::mult\_\-sym (const mat \& {\em C})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_5530d2756b5d991de755e6121c9a452e}
 
 
@@ -103,9 +123,23 @@
 \item[Parameters:]
 \begin{description}
-\item[{\em C}]multiplying matrix, \item[{\em trans}]if true, product \$V = C'$\ast$V$\ast$C\$ will be computed instead; \end{description}
+\item[{\em C}]multiplying matrix, \end{description}
 \end{Desc}
 
 
-Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_faa3bc90be142adde9cf74f573c70157}.\index{fsqmat@{fsqmat}!inv@{inv}}
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_60fbbfa9e483b8187c135f787ee53afa}.\index{fsqmat@{fsqmat}!mult_sym_t@{mult\_\-sym\_\-t}}
+\index{mult_sym_t@{mult\_\-sym\_\-t}!fsqmat@{fsqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::mult\_\-sym\_\-t (const mat \& {\em C})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_92052a8adc2054b63e42d1373d145c89}
+
+
+Inplace symmetric multiplication by a SQUARE transpose of matrix \$C\$, i.e. \$V = C'$\ast$V$\ast$C\$. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em C}]multiplying matrix, \end{description}
+\end{Desc}
+
+
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_6909e906da17725b1b80f3cae7cf3325}.\index{fsqmat@{fsqmat}!inv@{inv}}
 \index{inv@{inv}!fsqmat@{fsqmat}}
 \subsubsection{\setlength{\rightskip}{0pt plus 5cm}void fsqmat::inv ({\bf fsqmat} \& {\em Inv})\hspace{0.3cm}{\tt  [virtual]}}\label{classfsqmat_9fa853e1ca28f2a1a1c43377e798ecb1}
@@ -121,5 +155,5 @@
 \index{fsqmat@{fsqmat}!sqrt_mult@{sqrt\_\-mult}}
 \index{sqrt_mult@{sqrt\_\-mult}!fsqmat@{fsqmat}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vec fsqmat::sqrt\_\-mult (vec \& {\em v})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classfsqmat_6648dd4291b809cce14e8497d0433ad3}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vec fsqmat::sqrt\_\-mult (const vec \& {\em v})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classfsqmat_2288389e2d47bd9df112815ef570c5c9}
 
 
@@ -128,5 +162,5 @@
 Used e.g. in generating normal samples. 
 
-Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_b5236c8a050199e1a9d338b0da1a08d2}.
+Implements {\bf sqmat} \doxyref{}{p.}{classsqmat_975ddc7e8035d8d4e6cbd52dd99c248c}.
 
 The documentation for this class was generated from the following files:\begin{CompactItemize}
Index: /doc/latex/classeEF.tex
===================================================================
--- /doc/latex/classeEF.tex (revision 28)
+++ /doc/latex/classeEF.tex (revision 32)
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=67pt]{classeEF__inherit__graph}
+\includegraphics[width=127pt]{classeEF__inherit__graph}
 \end{center}
 \end{figure}
@@ -23,4 +23,10 @@
 \begin{CompactItemize}
 \item 
+{\bf eEF} ()\label{classeEF_702e24158366430bc24d57c7f64e1e9e}
+
+\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item 
+\textbf{eEF} (const {\bf RV} \&rv)\label{classeEF_7e3c63655e8375c76bf1f421245427a7}
+
+\item 
 virtual void \textbf{tupdate} (double phi, mat \&vbar, double nubar)\label{classeEF_fd88bc35550ec8fe9281d358216d0fcf}
 
@@ -33,5 +39,17 @@
 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}
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\item 
+virtual double {\bf evalpdflog} (const vec \&val)\label{classepdf_113c76c61d20e3f2a24ba322a73dfc51}
+
+\begin{CompactList}\small\item\em Compute log-probability of argument {\tt val}. \item\end{CompactList}\item 
+virtual vec {\bf mean} ()=0\label{classepdf_5b61fae74d370d2216576d598c1a74ef}
+
+\begin{CompactList}\small\item\em return expected value \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+{\bf RV} \textbf{rv}\label{classepdf_74da992e3f5d598da8850b646b79b9d9}
+
+\end{CompactItemize}
 
 
@@ -51,5 +69,5 @@
 Returns a sample from the density, $x \sim epdf(rv)$ 
 
-Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
+Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}, {\bf egamma} \doxyref{}{p.}{classegamma_0a2186a586432c2c3f22d09c5341890f}, {\bf emix} \doxyref{}{p.}{classemix_3eb9a8e12ce1c5c8a3ddb245354b6941}, {\bf euni} \doxyref{}{p.}{classeuni_0f71562e3e919aba823cb7d9d420ad4c}, {\bf eEmp} \doxyref{}{p.}{classeEmp_c9b44099a400579b88aff9f5afaf9c13}, and {\bf enorm$<$ ldmat $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: /doc/latex/classKalman.tex
===================================================================
--- /doc/latex/classKalman.tex (revision 28)
+++ /doc/latex/classKalman.tex (revision 32)
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=77pt]{classKalman__inherit__graph}
+\includegraphics[width=103pt]{classKalman__inherit__graph}
 \end{center}
 \end{figure}
@@ -17,5 +17,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=70pt]{classKalman__coll__graph}
+\includegraphics[width=81pt]{classKalman__coll__graph}
 \end{center}
 \end{figure}
@@ -23,38 +23,33 @@
 \begin{CompactItemize}
 \item 
-{\bf Kalman} (int dimx, int dimu, int dimy)\label{classKalman_96958a5ebfa966d892137987f265083a}
+{\bf Kalman} ({\bf RV} rvx0, {\bf RV} rvy0, {\bf RV} rvu0)\label{classKalman_3d56b0a97b8c1e25fdd3b10eef3c2ad3}
 
 \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
-{\bf Kalman} (mat A0, mat B0, mat C0, mat D0, sq\_\-T R0, sq\_\-T Q0, sq\_\-T P0, vec mu0)\label{classKalman_83118f4bd2ecbc70b03cfd573088ed6f}
+{\bf Kalman} (const {\bf Kalman}$<$ sq\_\-T $>$ \&K0)\label{classKalman_ce38e31810aea4db45a83ad05eaba009}
 
-\begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
-void {\bf bayes} (const vec \&dt, bool {\bf evalll}=true)\label{classKalman_e945d9205ca14acbd83ba80ea6f72b8e}
+\begin{CompactList}\small\item\em Copy constructor. \item\end{CompactList}\item 
+void {\bf set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const sq\_\-T \&R0, const sq\_\-T \&Q0)\label{classKalman_239b28a0380946f5749b2f8d2807f93a}
+
+\begin{CompactList}\small\item\em Set parameters with check of relevance. \item\end{CompactList}\item 
+void {\bf set\_\-est} (const vec \&mu0, const sq\_\-T \&P0)\label{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}
+
+\begin{CompactList}\small\item\em Set estimate values, used e.g. in initialization. \item\end{CompactList}\item 
+void {\bf bayes} (const vec \&dt)\label{classKalman_7750ffd73f261828a32c18aaeb65c75c}
 
 \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 
+{\bf epdf} \& {\bf \_\-epdf} ()\label{classKalman_a213c57aef55b2645e550bed81cfc0d4}
+
+\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}\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{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
 \begin{CompactItemize}
 \item 
-vec {\bf mu}\label{classKalman_3063a3f58a74cea672ae889971012eed}
+{\bf RV} \textbf{rvy}\label{classKalman_7501230c2fafa3655887d2da23b3184c}
 
-\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item 
-sq\_\-T {\bf P}\label{classKalman_188cd5ac1c9e496b1a371eb7c57c97d3}
+\item 
+{\bf RV} \textbf{rvu}\label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}
 
-\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}
 \item 
 int \textbf{dimx}\label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}
@@ -85,22 +80,40 @@
 
 \item 
+{\bf enorm}$<$ sq\_\-T $>$ {\bf est}\label{classKalman_5568c74bac67ae6d3b1061dba60c9424}
+
+\begin{CompactList}\small\item\em posterior density on \$x\_\-t\$ \item\end{CompactList}\item 
+{\bf enorm}$<$ sq\_\-T $>$ {\bf fy}\label{classKalman_e580ab06483952bd03f2e651763e184f}
+
+\begin{CompactList}\small\item\em preditive density on \$y\_\-t\$ \item\end{CompactList}\item 
 mat \textbf{\_\-K}\label{classKalman_d422f51467c7a06174af2476d2826132}
 
 \item 
-vec \textbf{\_\-yp}\label{classKalman_30b7461989185d3d02cf42b8e2a37649}
+vec $\ast$ \textbf{\_\-yp}\label{classKalman_5188eb0329f8561f0b357af329769bf8}
 
 \item 
-sq\_\-T \textbf{\_\-Ry}\label{classKalman_477dca07d91ea1a1f41d51bb0229934f}
+sq\_\-T $\ast$ \textbf{\_\-Ry}\label{classKalman_e17dd745daa8a958035a334a56fa4674}
 
 \item 
-sq\_\-T \textbf{\_\-iRy}\label{classKalman_15f1a793210750a7e4642fcd948b24c5}
+sq\_\-T $\ast$ \textbf{\_\-iRy}\label{classKalman_fbbdf31365f5a5674099599200ea193b}
 
-\end{CompactItemize}
-\subsection*{Friends}
-\begin{CompactItemize}
 \item 
-std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const {\bf KalmanFull} \&kf)\label{classKalman_86ba216243ed95bb46d80d88775d16af}
+vec $\ast$ \textbf{\_\-mu}\label{classKalman_d1f669b5b3421a070cc75d77b55ba734}
 
-\end{CompactItemize}
+\item 
+sq\_\-T $\ast$ \textbf{\_\-P}\label{classKalman_b3388218567128a797e69b109138271d}
+
+\item 
+sq\_\-T $\ast$ \textbf{\_\-iP}\label{classKalman_b8bb7f870d69993493ba67ce40e7c3e9}
+
+\item 
+{\bf RV} {\bf rv}\label{classBM_af00f0612fabe66241dd507188cdbf88}
+
+\begin{CompactList}\small\item\em Random variable of the posterior. \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}
 
 
@@ -110,19 +123,4 @@
 \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 28)
+++ /doc/latex/classPF.tex (revision 32)
@@ -1,5 +1,5 @@
 \section{PF Class Reference}
 \label{classPF}\index{PF@{PF}}
-A Particle Filter prototype.  
+Trivial particle filter with proposal density equal to parameter evolution model.  
 
 
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=49pt]{classPF__inherit__graph}
+\includegraphics[width=65pt]{classPF__inherit__graph}
 \end{center}
 \end{figure}
@@ -17,5 +17,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=38pt]{classPF__coll__graph}
+\includegraphics[width=96pt]{classPF__coll__graph}
 \end{center}
 \end{figure}
@@ -23,24 +23,42 @@
 \begin{CompactItemize}
 \item 
-ivec {\bf resample} (RESAMPLING\_\-METHOD method=SYSTEMATIC)\label{classPF_a0e26b2f6a5884aca49122f3e4f0cf19}
-
-\begin{CompactList}\small\item\em Returns indexes of particles that should be resampled. The ordering MUST guarantee inplace replacement. (Important for MPF.). \item\end{CompactList}\item 
-\textbf{PF} (vec w)\label{classPF_c37f95f0c1661c7f1e3fccb31d39de73}
+\textbf{PF} (const {\bf RV} \&rv0, {\bf mpdf} \&par0, {\bf mpdf} \&obs0, int {\bf n})\label{classPF_e9604b7fc87ff5e61da4de4a04210bfc}
 
 \item 
-void \textbf{bayes} (const vec \&dt, bool evell)\label{classPF_eb06bd7d4325f22f54233967295793b9}
+void \textbf{set\_\-est} (const {\bf epdf} $\ast$\&epdf0)\label{classPF_c5caa2c15604338b773d7a8125e7a1b5}
 
 \item 
-virtual void {\bf bayes} (const vec \&dt)=0
+void {\bf bayes} (const vec \&dt)
 \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}
+virtual {\bf epdf} \& {\bf \_\-epdf} ()=0\label{classBM_3dc45554556926bde996a267636abe55}
 
 \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}
+\subsection*{Protected Attributes}
 \begin{CompactItemize}
 \item 
+int {\bf n}\label{classPF_2c2f44ed7a4eaa42e07bdb58d503f280}
+
+\begin{CompactList}\small\item\em number of particles; \item\end{CompactList}\item 
+{\bf eEmp} {\bf ePdf}\label{classPF_a2ac56d1e3ffbb4ff0b3f02e6399deb0}
+
+\begin{CompactList}\small\item\em posterior density \item\end{CompactList}\item 
+vec \& {\bf w}\label{classPF_a97d12da4d1832c0b0c6ec5877f921f0}
+
+\begin{CompactList}\small\item\em pointer into {\tt \doxyref{eEmp}{p.}{classeEmp}} \item\end{CompactList}\item 
+Array$<$ vec $>$ \& {\bf samples}\label{classPF_361743a0b5b89de1a29e91d1343b2565}
+
+\begin{CompactList}\small\item\em pointer into {\tt \doxyref{eEmp}{p.}{classeEmp}} \item\end{CompactList}\item 
+{\bf mpdf} \& {\bf par}\label{classPF_d92ac103f88f8c21e197e90af5695a09}
+
+\begin{CompactList}\small\item\em Parameter evolution model. \item\end{CompactList}\item 
+{\bf mpdf} \& {\bf obs}\label{classPF_dd0a687a4515333d6809147335854e77}
+
+\begin{CompactList}\small\item\em Observation model. \item\end{CompactList}\item 
+{\bf RV} {\bf rv}\label{classBM_af00f0612fabe66241dd507188cdbf88}
+
+\begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 
 double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
 
@@ -49,27 +67,15 @@
 
 \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}
 
 
 \subsection{Detailed Description}
-A Particle Filter prototype. 
+Trivial particle filter with proposal density equal to parameter evolution model. 
 
-Bayesian Filtering equations hold. 
+Posterior density is represented by a weighted empirical density ({\tt \doxyref{eEmp}{p.}{classeEmp}} ). 
 
 \subsection{Member Function Documentation}
 \index{PF@{PF}!bayes@{bayes}}
 \index{bayes@{bayes}!PF@{PF}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void PF::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [virtual]}}\label{classPF_64f636bbd63bea9efd778214e6b631d3}
 
 
@@ -83,4 +89,8 @@
 
 
+Implements {\bf BM} \doxyref{}{p.}{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}.
+
+Reimplemented in {\bf MPF$<$ BM\_\-T $>$} \doxyref{}{p.}{classMPF_55daf8e4b6553dd9f47c692de7931623}.
+
 The documentation for this class was generated from the following files:\begin{CompactItemize}
 \item 
Index: /doc/latex/doxygen.sty
===================================================================
--- /doc/latex/doxygen.sty (revision 28)
+++ /doc/latex/doxygen.sty (revision 32)
@@ -11,6 +11,6 @@
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\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 }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Thu Feb 28 16:54:39 2008 for mixpp by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Feb 28 16:54:39 2008 for mixpp by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
Index: /doc/latex/pages.tex
===================================================================
--- /doc/latex/pages.tex (revision 32)
+++ /doc/latex/pages.tex (revision 32)
@@ -0,0 +1,5 @@
+\section{mixpp Related Pages}
+Here is a list of all related documentation pages:\begin{CompactList}
+\item \contentsline{section}{Coding Rules (Mostly inherited from IT++)}{\pageref{codingrules}}{}
+
+\end{CompactList}
Index: /doc/latex/classenorm.tex
===================================================================
--- /doc/latex/classenorm.tex (revision 22)
+++ /doc/latex/classenorm.tex (revision 32)
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=67pt]{classenorm__inherit__graph}
+\includegraphics[width=71pt]{classenorm__inherit__graph}
 \end{center}
 \end{figure}
@@ -23,5 +23,8 @@
 \begin{CompactItemize}
 \item 
-\textbf{enorm} ({\bf RV} \&rv, vec \&mu, sq\_\-T \&R)\label{classenorm_183891111686898adef0f6ca292e600d}
+\textbf{enorm} ({\bf RV} \&rv)\label{classenorm_7b5cb487a2570e8109bfdc0df149aa06}
+
+\item 
+void \textbf{set\_\-parameters} (const vec \&{\bf mu}, const sq\_\-T \&{\bf R})\label{classenorm_1394a65caa6e00d42e00cc99b12227af}
 
 \item 
@@ -32,10 +35,4 @@
 
 \item 
-void {\bf tupdate} ()\label{classenorm_2a1a522504c7788dfd7fb733157ee39e}
-
-\begin{CompactList}\small\item\em tupdate used in KF \item\end{CompactList}\item 
-double {\bf dupdate} ()\label{classenorm_d1b0faf61260de09cf63bf823add5b32}
-
-\begin{CompactList}\small\item\em dupdate used in KF \item\end{CompactList}\item 
 vec {\bf sample} ()
 \begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
@@ -45,9 +42,39 @@
 double {\bf eval} (const vec \&val)\label{classenorm_93107f05a8e9b34b64853767200121a4}
 
-\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\end{CompactItemize}
-\subsection*{Public Attributes}
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\item 
+double {\bf evalpdflog} (const vec \&val)\label{classenorm_9517594915e897584eaebbb057ed8881}
+
+\begin{CompactList}\small\item\em Compute log-probability of argument {\tt val}. \item\end{CompactList}\item 
+vec {\bf mean} ()\label{classenorm_191c1220c3ddd0c5f54e78f19b57ebd5}
+
+\begin{CompactList}\small\item\em return expected value \item\end{CompactList}\item 
+vec $\ast$ {\bf \_\-mu} ()\label{classenorm_3be0cb541ec9b88e5aa3f60307bbc753}
+
+\begin{CompactList}\small\item\em returns a pointer to the internal mean value. Use with Care! \item\end{CompactList}\item 
+void {\bf \_\-R} (sq\_\-T $\ast$\&pR, sq\_\-T $\ast$\&piR)\label{classenorm_8725c534863c4fc2bddef0edfb95a740}
+
+\begin{CompactList}\small\item\em returns pointers to the internal variance and its inverse. Use with Care! \item\end{CompactList}\item 
+void {\bf \_\-cached} (bool what)\label{classenorm_c9ca4f2ca42568e40ca146168e7f3247}
+
+\begin{CompactList}\small\item\em set cache as inconsistent \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
 \begin{CompactItemize}
 \item 
-Normal\_\-RNG \textbf{RNG}\label{classenorm_a4de82a0d7ba9eaf31206318ae35d0d5}
+vec {\bf mu}\label{classenorm_71fde0d54bba147e00f612577f95ad20}
+
+\begin{CompactList}\small\item\em mean value \item\end{CompactList}\item 
+sq\_\-T {\bf R}\label{classenorm_4ccc8d8514d644ef1c98d8ab023748a1}
+
+\begin{CompactList}\small\item\em Covariance matrix in decomposed form. \item\end{CompactList}\item 
+sq\_\-T {\bf \_\-iR}\label{classenorm_82f39ac49911d7097f4bfe385deba355}
+
+\begin{CompactList}\small\item\em Cache: \_\-iR = inv(R);. \item\end{CompactList}\item 
+bool {\bf cached}\label{classenorm_ae12db77283a96e0f14a3eae93dc3bf1}
+
+\begin{CompactList}\small\item\em indicator if {\tt \_\-iR} is chached \item\end{CompactList}\item 
+int {\bf dim}\label{classenorm_6938fc390a19cdaf6ad4503fcbaada4e}
+
+\begin{CompactList}\small\item\em dimension (redundant from rv.count() for easier coding ) \item\end{CompactList}\item 
+{\bf RV} \textbf{rv}\label{classepdf_74da992e3f5d598da8850b646b79b9d9}
 
 \end{CompactItemize}
Index: /doc/latex/classsqmat.tex
===================================================================
--- /doc/latex/classsqmat.tex (revision 22)
+++ /doc/latex/classsqmat.tex (revision 32)
@@ -21,12 +21,14 @@
 
 \begin{CompactList}\small\item\em Conversion to full matrix. \item\end{CompactList}\item 
-virtual void {\bf mult\_\-sym} (const mat \&C, bool trans=true)=0
+virtual void {\bf mult\_\-sym} (const mat \&C)=0
 \begin{CompactList}\small\item\em Inplace symmetric multiplication by a SQUARE matrix \$C\$, i.e. \$V = C$\ast$V$\ast$C'\$. \item\end{CompactList}\item 
-virtual double {\bf logdet} ()=0\label{classsqmat_5c852819589f74cdaefbd648c0ce8547}
+virtual void {\bf mult\_\-sym\_\-t} (const mat \&C)=0
+\begin{CompactList}\small\item\em Inplace symmetric multiplication by a SQUARE transpose of matrix \$C\$, i.e. \$V = C'$\ast$V$\ast$C\$. \item\end{CompactList}\item 
+virtual double {\bf logdet} () const =0\label{classsqmat_0a772b396750eeeed85d69fa72478b45}
 
 \begin{CompactList}\small\item\em Logarithm of a determinant. \item\end{CompactList}\item 
-virtual vec {\bf sqrt\_\-mult} (vec \&v)=0
+virtual vec {\bf sqrt\_\-mult} (const vec \&v)=0
 \begin{CompactList}\small\item\em Multiplies square root of \$V\$ by vector \$x\$. \item\end{CompactList}\item 
-virtual double {\bf qform} (vec \&v)=0\label{classsqmat_44e079468bc8bfccf634dc85b32ba6be}
+virtual double {\bf qform} (const vec \&v)=0\label{classsqmat_90f97cdf9de08ead4f0648419b3aa4ce}
 
 \begin{CompactList}\small\item\em Evaluates quadratic form \$x= v'$\ast$V$\ast$v\$;. \item\end{CompactList}\item 
@@ -39,5 +41,8 @@
 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}
+\begin{CompactList}\small\item\em Reimplementing common functions of mat: \doxyref{cols()}{p.}{classsqmat_ecc2e2540f95a04f4449842588170f5b}. \item\end{CompactList}\item 
+virtual {\bf $\sim$sqmat} ()\label{classsqmat_0481f2067bb32aaea7e6d4f27e46b656}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
@@ -68,5 +73,5 @@
 Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_b36530e155667fe9f1bd58394e50c65a}.\index{sqmat@{sqmat}!mult_sym@{mult\_\-sym}}
 \index{mult_sym@{mult\_\-sym}!sqmat@{sqmat}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sqmat::mult\_\-sym (const mat \& {\em C}, bool {\em trans} = {\tt true})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_faa3bc90be142adde9cf74f573c70157}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sqmat::mult\_\-sym (const mat \& {\em C})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_60fbbfa9e483b8187c135f787ee53afa}
 
 
@@ -76,11 +81,25 @@
 \item[Parameters:]
 \begin{description}
-\item[{\em C}]multiplying matrix, \item[{\em trans}]if true, product \$V = C'$\ast$V$\ast$C\$ will be computed instead; \end{description}
+\item[{\em C}]multiplying matrix, \end{description}
 \end{Desc}
 
 
-Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_acc5d2d0a243f1de6d0106065f01f518}.\index{sqmat@{sqmat}!sqrt_mult@{sqrt\_\-mult}}
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_5530d2756b5d991de755e6121c9a452e}.\index{sqmat@{sqmat}!mult_sym_t@{mult\_\-sym\_\-t}}
+\index{mult_sym_t@{mult\_\-sym\_\-t}!sqmat@{sqmat}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void sqmat::mult\_\-sym\_\-t (const mat \& {\em C})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_6909e906da17725b1b80f3cae7cf3325}
+
+
+Inplace symmetric multiplication by a SQUARE transpose of matrix \$C\$, i.e. \$V = C'$\ast$V$\ast$C\$. 
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em C}]multiplying matrix, \end{description}
+\end{Desc}
+
+
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_92052a8adc2054b63e42d1373d145c89}.\index{sqmat@{sqmat}!sqrt_mult@{sqrt\_\-mult}}
 \index{sqrt_mult@{sqrt\_\-mult}!sqmat@{sqmat}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec sqmat::sqrt\_\-mult (vec \& {\em v})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_b5236c8a050199e1a9d338b0da1a08d2}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual vec sqmat::sqrt\_\-mult (const vec \& {\em v})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classsqmat_975ddc7e8035d8d4e6cbd52dd99c248c}
 
 
@@ -89,5 +108,5 @@
 Used e.g. in generating normal samples. 
 
-Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_6648dd4291b809cce14e8497d0433ad3}.
+Implemented in {\bf fsqmat} \doxyref{}{p.}{classfsqmat_2288389e2d47bd9df112815ef570c5c9}.
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: /doc/latex/classKalmanFull.tex
===================================================================
--- /doc/latex/classKalmanFull.tex (revision 28)
+++ /doc/latex/classKalmanFull.tex (revision 32)
@@ -6,18 +6,4 @@
 {\tt \#include $<$libKF.h$>$}
 
-Inheritance diagram for KalmanFull:\nopagebreak
-\begin{figure}[H]
-\begin{center}
-\leavevmode
-\includegraphics[width=56pt]{classKalmanFull__inherit__graph}
-\end{center}
-\end{figure}
-Collaboration diagram for KalmanFull:\nopagebreak
-\begin{figure}[H]
-\begin{center}
-\leavevmode
-\includegraphics[width=56pt]{classKalmanFull__coll__graph}
-\end{center}
-\end{figure}
 \subsection*{Public Member Functions}
 \begin{CompactItemize}
@@ -26,15 +12,7 @@
 
 \begin{CompactList}\small\item\em Full constructor. \item\end{CompactList}\item 
-void {\bf bayes} (const vec \&dt, bool {\bf evalll}=true)\label{classKalmanFull_048b13739b94c331cda08249b278552b}
+void {\bf bayes} (const vec \&dt)\label{classKalmanFull_13a041cd98ff157703766be275a657bb}
 
-\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}
+\begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Public Attributes}
 \begin{CompactItemize}
@@ -45,11 +23,5 @@
 mat {\bf P}\label{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}
 
-\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}
+\begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Friends}
 \begin{CompactItemize}
@@ -63,19 +35,4 @@
 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: /doc/latex/annotated.tex
===================================================================
--- /doc/latex/annotated.tex (revision 22)
+++ /doc/latex/annotated.tex (revision 32)
@@ -3,21 +3,30 @@
 \item\contentsline{section}{{\bf bilinfn} (Class representing function \$f(x,u) = Ax+Bu\$ )}{\pageref{classbilinfn}}{}
 \item\contentsline{section}{{\bf BM} (Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities )}{\pageref{classBM}}{}
+\item\contentsline{section}{{\bf BMcond} (Conditional Bayesian Filter )}{\pageref{classBMcond}}{}
 \item\contentsline{section}{{\bf constfn} (Class representing function \$f(x) = a\$, here rv is empty )}{\pageref{classconstfn}}{}
 \item\contentsline{section}{{\bf diffbifn} (Class representing a differentiable function of two variables \$f(x,u)\$ )}{\pageref{classdiffbifn}}{}
 \item\contentsline{section}{{\bf DS} (Abstract class for discrete-time sources of data )}{\pageref{classDS}}{}
 \item\contentsline{section}{{\bf eEF} (General conjugate exponential family posterior density )}{\pageref{classeEF}}{}
+\item\contentsline{section}{{\bf eEmp} (Weighted empirical density )}{\pageref{classeEmp}}{}
+\item\contentsline{section}{{\bf egamma} (Gamma posterior density )}{\pageref{classegamma}}{}
 \item\contentsline{section}{{\bf EKF$<$ sq\_\-T $>$} (Extended \doxyref{Kalman}{p.}{classKalman} Filter )}{\pageref{classEKF}}{}
+\item\contentsline{section}{{\bf emix} (Weighted mixture of epdfs with external owned components )}{\pageref{classemix}}{}
 \item\contentsline{section}{{\bf enorm$<$ sq\_\-T $>$} (Gaussian density with positive definite (decomposed) covariance matrix )}{\pageref{classenorm}}{}
 \item\contentsline{section}{{\bf epdf} (Probability density function with numerical statistics, e.g. posterior density )}{\pageref{classepdf}}{}
+\item\contentsline{section}{{\bf euni} (Uniform distributed density on a rectangular support )}{\pageref{classeuni}}{}
 \item\contentsline{section}{{\bf fnc} (Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv} )}{\pageref{classfnc}}{}
 \item\contentsline{section}{{\bf fsqmat} (Fake \doxyref{sqmat}{p.}{classsqmat}. This class maps \doxyref{sqmat}{p.}{classsqmat} operations to operations on full matrix )}{\pageref{classfsqmat}}{}
+\item\contentsline{section}{{\bf itpp::Gamma\_\-RNG} (Gamma distribution )}{\pageref{classitpp_1_1Gamma__RNG}}{}
 \item\contentsline{section}{{\bf Kalman$<$ sq\_\-T $>$} (\doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form )}{\pageref{classKalman}}{}
 \item\contentsline{section}{{\bf KalmanFull} (Basic \doxyref{Kalman}{p.}{classKalman} filter with full matrices (education purpose only)! Will be deleted soon! )}{\pageref{classKalmanFull}}{}
+\item\contentsline{section}{{\bf KFcondQR} (\doxyref{Kalman}{p.}{classKalman} Filter with conditional diagonal matrices R and Q )}{\pageref{classKFcondQR}}{}
 \item\contentsline{section}{{\bf linfn} (Class representing function \$f(x) = Ax+B\$ )}{\pageref{classlinfn}}{}
 \item\contentsline{section}{{\bf MemDS} (Class representing off-line data stored in memory )}{\pageref{classMemDS}}{}
+\item\contentsline{section}{{\bf mgamma} (Gamma random walk )}{\pageref{classmgamma}}{}
+\item\contentsline{section}{{\bf mlnorm$<$ sq\_\-T $>$} (Normal distributed linear function with linear function of mean value; )}{\pageref{classmlnorm}}{}
 \item\contentsline{section}{{\bf mpdf} (Conditional probability density, e.g. modeling some dependencies )}{\pageref{classmpdf}}{}
-\item\contentsline{section}{{\bf PF} (A Particle Filter prototype )}{\pageref{classPF}}{}
+\item\contentsline{section}{{\bf MPF$<$ BM\_\-T $>$} (Marginalized Particle filter )}{\pageref{classMPF}}{}
+\item\contentsline{section}{{\bf PF} (Trivial particle filter with proposal density equal to parameter evolution model )}{\pageref{classPF}}{}
 \item\contentsline{section}{{\bf RV} (Class representing variables, most often random variables )}{\pageref{classRV}}{}
 \item\contentsline{section}{{\bf sqmat} (Virtual class for representation of double symmetric matrices in square-root form )}{\pageref{classsqmat}}{}
-\item\contentsline{section}{{\bf TrivialPF} (Trivial particle filter with proposal density that is not conditioned on the data )}{\pageref{classTrivialPF}}{}
 \end{CompactList}
Index: /doc/latex/classfnc.tex
===================================================================
--- /doc/latex/classfnc.tex (revision 28)
+++ /doc/latex/classfnc.tex (revision 32)
@@ -21,5 +21,8 @@
 int {\bf \_\-dimy} () const \label{classfnc_a8891973d0ca48ce38e1886df45ca298}
 
-\begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
+virtual {\bf $\sim$fnc} ()\label{classfnc_17164c202f6feee3d708b8caab6306ab}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\end{CompactItemize}
 \subsection*{Protected Attributes}
 \begin{CompactItemize}
Index: /doc/latex/classRV.tex
===================================================================
--- /doc/latex/classRV.tex (revision 22)
+++ /doc/latex/classRV.tex (revision 32)
@@ -24,5 +24,5 @@
 
 \begin{CompactList}\small\item\em Find indexes of another rv in self. \item\end{CompactList}\item 
-{\bf RV} {\bf add} ({\bf RV} rv2)\label{classRV_f068a86abb5a6e46fcf76c939d2ed2ec}
+{\bf RV} {\bf add} (const {\bf RV} \&rv2)\label{classRV_18fa114b92017f7f80301a4f8d3a6382}
 
 \begin{CompactList}\small\item\em Add (concat) another variable to the current one. \item\end{CompactList}\item 
@@ -42,4 +42,28 @@
 
 \begin{CompactList}\small\item\em generate a list of indeces, i.e. which \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf size}\label{classRV_0cae53d262be90a775a99a198e17fa58}
+
+\begin{CompactList}\small\item\em size = sum of sizes \item\end{CompactList}\item 
+int {\bf len}\label{classRV_0d7b36e2bbccf880c8fcf1e8cc43c1a9}
+
+\begin{CompactList}\small\item\em len = number of individual rvs \item\end{CompactList}\item 
+ivec \textbf{ids}\label{classRV_1bd7165140f4b880a7f344bbb1c433f9}
+
+\item 
+ivec \textbf{sizes}\label{classRV_c878aab13f34b420e1eb5b485563682b}
+
+\item 
+ivec \textbf{times}\label{classRV_646e530c47a2dd38254b778d9f11ac89}
+
+\item 
+ivec \textbf{obs}\label{classRV_2999743deec9b4cdb7ce51747bc53319}
+
+\item 
+Array$<$ std::string $>$ \textbf{names}\label{classRV_df5d0030b277a1db2f1fd5fb79152acb}
+
+\end{CompactItemize}
 \subsection*{Friends}
 \begin{CompactItemize}
Index: /doc/latex/hierarchy.tex
===================================================================
--- /doc/latex/hierarchy.tex (revision 22)
+++ /doc/latex/hierarchy.tex (revision 32)
@@ -4,13 +4,17 @@
 \begin{CompactList}
 \item \contentsline{section}{Kalman$<$ sq\_\-T $>$}{\pageref{classKalman}}{}
-\item \contentsline{section}{Kalman$<$ fsqmat $>$}{\pageref{classKalman}}{}
+\item \contentsline{section}{Kalman$<$ ldmat $>$}{\pageref{classKalman}}{}
 \begin{CompactList}
 \item \contentsline{section}{EKF$<$ sq\_\-T $>$}{\pageref{classEKF}}{}
+\item \contentsline{section}{KFcondQR}{\pageref{classKFcondQR}}{}
 \end{CompactList}
-\item \contentsline{section}{KalmanFull}{\pageref{classKalmanFull}}{}
 \item \contentsline{section}{PF}{\pageref{classPF}}{}
 \begin{CompactList}
-\item \contentsline{section}{TrivialPF}{\pageref{classTrivialPF}}{}
+\item \contentsline{section}{MPF$<$ BM\_\-T $>$}{\pageref{classMPF}}{}
 \end{CompactList}
+\end{CompactList}
+\item \contentsline{section}{BMcond}{\pageref{classBMcond}}{}
+\begin{CompactList}
+\item \contentsline{section}{KFcondQR}{\pageref{classKFcondQR}}{}
 \end{CompactList}
 \item \contentsline{section}{DS}{\pageref{classDS}}{}
@@ -22,6 +26,11 @@
 \item \contentsline{section}{eEF}{\pageref{classeEF}}{}
 \begin{CompactList}
+\item \contentsline{section}{egamma}{\pageref{classegamma}}{}
 \item \contentsline{section}{enorm$<$ sq\_\-T $>$}{\pageref{classenorm}}{}
+\item \contentsline{section}{enorm$<$ ldmat $>$}{\pageref{classenorm}}{}
 \end{CompactList}
+\item \contentsline{section}{eEmp}{\pageref{classeEmp}}{}
+\item \contentsline{section}{emix}{\pageref{classemix}}{}
+\item \contentsline{section}{euni}{\pageref{classeuni}}{}
 \end{CompactList}
 \item \contentsline{section}{fnc}{\pageref{classfnc}}{}
@@ -34,4 +43,8 @@
 \item \contentsline{section}{linfn}{\pageref{classlinfn}}{}
 \end{CompactList}
+\item \contentsline{section}{itpp::Gamma\_\-RNG}{\pageref{classitpp_1_1Gamma__RNG}}{}
+\item \contentsline{section}{KalmanFull}{\pageref{classKalmanFull}}{}
+\item \contentsline{section}{mgamma}{\pageref{classmgamma}}{}
+\item \contentsline{section}{mlnorm$<$ sq\_\-T $>$}{\pageref{classmlnorm}}{}
 \item \contentsline{section}{mpdf}{\pageref{classmpdf}}{}
 \item \contentsline{section}{RV}{\pageref{classRV}}{}
Index: /doc/latex/classepdf.tex
===================================================================
--- /doc/latex/classepdf.tex (revision 22)
+++ /doc/latex/classepdf.tex (revision 32)
@@ -10,5 +10,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=67pt]{classepdf__inherit__graph}
+\includegraphics[width=179pt]{classepdf__inherit__graph}
 \end{center}
 \end{figure}
@@ -23,9 +23,30 @@
 \begin{CompactItemize}
 \item 
+{\bf epdf} ()\label{classepdf_d8eb760037b3bad5a0d64081606697cd}
+
+\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item 
+{\bf epdf} (const {\bf RV} \&rv0)\label{classepdf_c95b1a27a8dd9507bb9a5a3cb2809c7a}
+
+\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\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}
+\begin{CompactList}\small\item\em Compute probability of argument {\tt val}. \item\end{CompactList}\item 
+virtual double {\bf evalpdflog} (const vec \&val)\label{classepdf_113c76c61d20e3f2a24ba322a73dfc51}
+
+\begin{CompactList}\small\item\em Compute log-probability of argument {\tt val}. \item\end{CompactList}\item 
+virtual vec {\bf mean} ()=0\label{classepdf_5b61fae74d370d2216576d598c1a74ef}
+
+\begin{CompactList}\small\item\em return expected value \item\end{CompactList}\item 
+virtual {\bf $\sim$epdf} ()\label{classepdf_0a322dd106f04c0a2915e3d4f4227396}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+{\bf RV} \textbf{rv}\label{classepdf_74da992e3f5d598da8850b646b79b9d9}
+
+\end{CompactItemize}
 
 
@@ -43,5 +64,5 @@
 Returns a sample from the density, $x \sim epdf(rv)$ 
 
-Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
+Implemented in {\bf enorm$<$ sq\_\-T $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}, {\bf egamma} \doxyref{}{p.}{classegamma_0a2186a586432c2c3f22d09c5341890f}, {\bf emix} \doxyref{}{p.}{classemix_3eb9a8e12ce1c5c8a3ddb245354b6941}, {\bf euni} \doxyref{}{p.}{classeuni_0f71562e3e919aba823cb7d9d420ad4c}, {\bf eEmp} \doxyref{}{p.}{classeEmp_c9b44099a400579b88aff9f5afaf9c13}, and {\bf enorm$<$ ldmat $>$} \doxyref{}{p.}{classenorm_6020bcd89db2c9584bd8871001bd2023}.
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: /doc/latex/classmpdf.tex
===================================================================
--- /doc/latex/classmpdf.tex (revision 19)
+++ /doc/latex/classmpdf.tex (revision 32)
@@ -17,5 +17,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=43pt]{classmpdf__coll__graph}
+\includegraphics[width=60pt]{classmpdf__coll__graph}
 \end{center}
 \end{figure}
@@ -25,7 +25,28 @@
 virtual vec {\bf samplecond} (vec \&cond, double lik)
 \begin{CompactList}\small\item\em Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. \item\end{CompactList}\item 
-virtual void \textbf{condition} (vec \&cond)\label{classmpdf_cfb3dffef7c03598622e414668bb0588}
+virtual void \textbf{condition} (const vec \&cond)\label{classmpdf_0f95a0cc6ab40611f46804682446ed83}
 
-\end{CompactItemize}
+\item 
+virtual double \textbf{evalcond} (const vec \&dt, const vec \&cond)\label{classmpdf_80b738ece5bd4f8c4edaee4b38906f91}
+
+\item 
+virtual {\bf $\sim$mpdf} ()\label{classmpdf_6788be9f3a888796499c5293a318fcfb}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\item 
+{\bf mpdf} (const {\bf RV} \&rv0, const {\bf RV} \&rvc0)\label{classmpdf_581ecf362185d37c08bb31cb9d046d6f}
+
+\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+{\bf RV} {\bf rv}\label{classmpdf_f6687c07ff07d47812dd565368ca59eb}
+
+\begin{CompactList}\small\item\em modeled random variable \item\end{CompactList}\item 
+{\bf RV} {\bf rvc}\label{classmpdf_acb7dda792b3cd5576f39fa3129abbab}
+
+\begin{CompactList}\small\item\em random variable in condition \item\end{CompactList}\item 
+{\bf epdf} $\ast$ {\bf ep}\label{classmpdf_7aa894208a32f3487827df6d5054424c}
+
+\begin{CompactList}\small\item\em pointer to internal \doxyref{epdf}{p.}{classepdf} \item\end{CompactList}\end{CompactItemize}
 
 
@@ -41,5 +62,10 @@
 Returns the required moment of the \doxyref{epdf}{p.}{classepdf}. 
 
-Returns a sample from the density conditioned on {\tt cond}, \$x  \doxyref{epdf}{p.}{classepdf}(rv$|$cond)\$ 
+Returns a sample from the density conditioned on {\tt cond}, \$x  \doxyref{epdf}{p.}{classepdf}(rv$|$cond)\$. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em lik}]is a return value of likelihood of the sample. \end{description}
+\end{Desc}
+
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
Index: /doc/latex/libEF_8h.tex
===================================================================
--- /doc/latex/libEF_8h.tex (revision 22)
+++ /doc/latex/libEF_8h.tex (revision 32)
@@ -6,4 +6,5 @@
 {\tt \#include \char`\"{}../math/libDC.h\char`\"{}}\par
 {\tt \#include \char`\"{}libBM.h\char`\"{}}\par
+{\tt \#include \char`\"{}../itpp\_\-ext.h\char`\"{}}\par
 
 
@@ -12,5 +13,14 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=116pt]{libEF_8h__incl}
+\includegraphics[width=157pt]{libEF_8h__incl}
+\end{center}
+\end{figure}
+
+
+This graph shows which files directly or indirectly include this file:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=191pt]{libEF_8h__dep__incl}
 \end{center}
 \end{figure}
@@ -24,5 +34,35 @@
 class {\bf enorm$<$ sq\_\-T $>$}
 \begin{CompactList}\small\item\em Gaussian density with positive definite (decomposed) covariance matrix. \item\end{CompactList}\item 
-class \textbf{mlnorm$<$ sq\_\-T $>$}
+class {\bf egamma}
+\begin{CompactList}\small\item\em Gamma posterior density. \item\end{CompactList}\item 
+class {\bf emix}
+\begin{CompactList}\small\item\em Weighted mixture of epdfs with external owned components. \item\end{CompactList}\item 
+class {\bf euni}
+\begin{CompactList}\small\item\em Uniform distributed density on a rectangular support. \item\end{CompactList}\item 
+class {\bf mlnorm$<$ sq\_\-T $>$}
+\begin{CompactList}\small\item\em Normal distributed linear function with linear function of mean value;. \item\end{CompactList}\item 
+class {\bf mgamma}
+\begin{CompactList}\small\item\em Gamma random walk. \item\end{CompactList}\item 
+class {\bf eEmp}
+\begin{CompactList}\small\item\em Weighted empirical density. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum {\bf RESAMPLING\_\-METHOD} \{ \textbf{MULTINOMIAL} =  0, 
+\textbf{STRATIFIED} =  1, 
+\textbf{SYSTEMATIC} =  3
+ \}
+\begin{CompactList}\small\item\em Switch between various resampling methods. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+Uniform\_\-RNG {\bf UniRNG}\label{libEF_8h_2ae7dcdfebede774dd1b1f16cad10dd9}
+
+\begin{CompactList}\small\item\em Global Uniform\_\-RNG. \item\end{CompactList}\item 
+Normal\_\-RNG \textbf{NorRNG}\label{libEF_8h_395c5925c8792aef3be4c360e91526c0}
+
+\item 
+{\bf Gamma\_\-RNG} \textbf{GamRNG}\label{libEF_8h_884a8348c92a49725b78e2b6ab0bb802}
+
 \end{CompactItemize}
 
Index: /doc/latex/libKF_8h.tex
===================================================================
--- /doc/latex/libKF_8h.tex (revision 22)
+++ /doc/latex/libKF_8h.tex (revision 32)
@@ -5,5 +5,5 @@
 {\tt \#include $<$itpp/itbase.h$>$}\par
 {\tt \#include \char`\"{}../stat/libFN.h\char`\"{}}\par
-{\tt \#include \char`\"{}../math/libDC.h\char`\"{}}\par
+{\tt \#include \char`\"{}../stat/libEF.h\char`\"{}}\par
 
 
@@ -12,5 +12,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=134pt]{libKF_8h__incl}
+\includegraphics[width=203pt]{libKF_8h__incl}
 \end{center}
 \end{figure}
@@ -23,5 +23,7 @@
 \begin{CompactList}\small\item\em \doxyref{Kalman}{p.}{classKalman} filter with covariance matrices in square root form. \item\end{CompactList}\item 
 class {\bf EKF$<$ sq\_\-T $>$}
-\begin{CompactList}\small\item\em Extended \doxyref{Kalman}{p.}{classKalman} Filter. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Extended \doxyref{Kalman}{p.}{classKalman} Filter. \item\end{CompactList}\item 
+class {\bf KFcondQR}
+\begin{CompactList}\small\item\em \doxyref{Kalman}{p.}{classKalman} Filter with conditional diagonal matrices R and Q. \item\end{CompactList}\end{CompactItemize}
 
 
Index: /doc/latex/libPF_8h.tex
===================================================================
--- /doc/latex/libPF_8h.tex (revision 19)
+++ /doc/latex/libPF_8h.tex (revision 32)
@@ -4,5 +4,5 @@
 
 {\tt \#include $<$itpp/itbase.h$>$}\par
-{\tt \#include \char`\"{}../stat/libBM.h\char`\"{}}\par
+{\tt \#include \char`\"{}../stat/libEF.h\char`\"{}}\par
 {\tt \#include \char`\"{}../math/libDC.h\char`\"{}}\par
 
@@ -12,5 +12,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=135pt]{libPF_8h__incl}
+\includegraphics[width=182pt]{libPF_8h__incl}
 \end{center}
 \end{figure}
@@ -19,17 +19,7 @@
 \item 
 class {\bf PF}
-\begin{CompactList}\small\item\em A Particle Filter prototype. \item\end{CompactList}\item 
-class {\bf TrivialPF}
-\begin{CompactList}\small\item\em Trivial particle filter with proposal density that is not conditioned on the data. \item\end{CompactList}\item 
-class \textbf{MPF}
-\end{CompactItemize}
-\subsection*{Enumerations}
-\begin{CompactItemize}
-\item 
-enum \textbf{RESAMPLING\_\-METHOD} \{ \textbf{MULTINOMIAL} =  0, 
-\textbf{STRATIFIED} =  1, 
-\textbf{SYSTEMATIC} =  3
- \}
-\end{CompactItemize}
+\begin{CompactList}\small\item\em Trivial particle filter with proposal density equal to parameter evolution model. \item\end{CompactList}\item 
+class {\bf MPF$<$ BM\_\-T $>$}
+\begin{CompactList}\small\item\em Marginalized Particle filter. \item\end{CompactList}\end{CompactItemize}
 
 
Index: /doc/latex/refman.tex
===================================================================
--- /doc/latex/refman.tex (revision 28)
+++ /doc/latex/refman.tex (revision 32)
@@ -21,5 +21,5 @@
 {\large Generated by Doxygen 1.5.3}\\
 \vspace*{0.5cm}
-{\small Mon Feb 18 21:48:39 2008}\\
+{\small Thu Feb 28 16:54:39 2008}\\
 \end{center}
 \end{titlepage}
@@ -40,22 +40,31 @@
 \input{classbilinfn}
 \include{classBM}
+\include{classBMcond}
 \include{classconstfn}
 \include{classdiffbifn}
 \include{classDS}
 \include{classeEF}
+\include{classeEmp}
+\include{classegamma}
 \include{classEKF}
+\include{classemix}
 \include{classenorm}
 \include{classepdf}
+\include{classeuni}
 \include{classfnc}
 \include{classfsqmat}
+\include{classitpp_1_1Gamma__RNG}
 \include{classKalman}
 \include{classKalmanFull}
+\include{classKFcondQR}
 \include{classlinfn}
 \include{classMemDS}
+\include{classmgamma}
+\include{classmlnorm}
 \include{classmpdf}
+\include{classMPF}
 \include{classPF}
 \include{classRV}
 \include{classsqmat}
-\include{classTrivialPF}
 \chapter{mixpp File Documentation}
 \input{libKF_8h}
Index: /doc/latex/libBM_8h.tex
===================================================================
--- /doc/latex/libBM_8h.tex (revision 22)
+++ /doc/latex/libBM_8h.tex (revision 32)
@@ -19,5 +19,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=361pt]{libBM_8h__dep__incl}
+\includegraphics[width=272pt]{libBM_8h__dep__incl}
 \end{center}
 \end{figure}
@@ -29,6 +29,4 @@
 class {\bf fnc}
 \begin{CompactList}\small\item\em Class representing function \$f(x)\$ of variable \$x\$ represented by {\tt rv}. \item\end{CompactList}\item 
-class {\bf BM}
-\begin{CompactList}\small\item\em Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities. \item\end{CompactList}\item 
 class {\bf epdf}
 \begin{CompactList}\small\item\em Probability density function with numerical statistics, e.g. posterior density. \item\end{CompactList}\item 
@@ -36,5 +34,9 @@
 \begin{CompactList}\small\item\em Conditional probability density, e.g. modeling some dependencies. \item\end{CompactList}\item 
 class {\bf DS}
-\begin{CompactList}\small\item\em Abstract class for discrete-time sources of data. \item\end{CompactList}\end{CompactItemize}
+\begin{CompactList}\small\item\em Abstract class for discrete-time sources of data. \item\end{CompactList}\item 
+class {\bf BM}
+\begin{CompactList}\small\item\em Bayesian Model of the world, i.e. all uncertainty is modeled by probabilities. \item\end{CompactList}\item 
+class {\bf BMcond}
+\begin{CompactList}\small\item\em Conditional Bayesian Filter. \item\end{CompactList}\end{CompactItemize}
 
 
Index: /doc/latex/classBM.tex
===================================================================
--- /doc/latex/classBM.tex (revision 28)
+++ /doc/latex/classBM.tex (revision 32)
@@ -10,5 +10,12 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=161pt]{classBM__inherit__graph}
+\includegraphics[width=142pt]{classBM__inherit__graph}
+\end{center}
+\end{figure}
+Collaboration diagram for BM:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=38pt]{classBM__coll__graph}
 \end{center}
 \end{figure}
@@ -16,5 +23,5 @@
 \begin{CompactItemize}
 \item 
-{\bf BM} ()\label{classBM_ef32a12f4f89e4000bf5390ceda762ae}
+{\bf BM} (const {\bf RV} \&rv0)\label{classBM_605d28b426adb677c86a57ddb525132a}
 
 \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
@@ -24,10 +31,16 @@
 
 \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}
+virtual {\bf epdf} \& {\bf \_\-epdf} ()=0\label{classBM_3dc45554556926bde996a267636abe55}
 
-\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{CompactList}\small\item\em Returns a pointer to the \doxyref{epdf}{p.}{classepdf} representing posterior density on parameters. Use with care! \item\end{CompactList}\item 
+virtual {\bf $\sim$BM} ()\label{classBM_ca0f02b3b4144e0895cc14f7e0374bdd}
+
+\begin{CompactList}\small\item\em Destructor for future use;. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Protected Attributes}
 \begin{CompactItemize}
 \item 
+{\bf RV} {\bf rv}\label{classBM_af00f0612fabe66241dd507188cdbf88}
+
+\begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 
 double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979}
 
@@ -56,4 +69,6 @@
 
 
+Implemented in {\bf Kalman$<$ sq\_\-T $>$} \doxyref{}{p.}{classKalman_7750ffd73f261828a32c18aaeb65c75c}, {\bf EKF$<$ sq\_\-T $>$} \doxyref{}{p.}{classEKF_c79c62c9b3e0b56b3aaa1b6f1d9a7af7}, {\bf PF} \doxyref{}{p.}{classPF_64f636bbd63bea9efd778214e6b631d3}, {\bf MPF$<$ BM\_\-T $>$} \doxyref{}{p.}{classMPF_55daf8e4b6553dd9f47c692de7931623}, and {\bf Kalman$<$ ldmat $>$} \doxyref{}{p.}{classKalman_7750ffd73f261828a32c18aaeb65c75c}.
+
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item 
Index: /doc/latex/classTrivialPF.tex
===================================================================
--- /doc/latex/classTrivialPF.tex (revision 28)
+++ /doc/latex/classTrivialPF.tex (revision 32)
@@ -35,10 +35,10 @@
 
 \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
+void {\bf bayes} (const vec \&dt)
 \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}
+{\bf epdf} $\ast$ {\bf \_\-epdf} ()\label{classPF_53b7cc5a0709b0d40fb68408437c0aa2}
 
 \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}
@@ -72,5 +72,5 @@
 \index{TrivialPF@{TrivialPF}!bayes@{bayes}}
 \index{bayes@{bayes}!TrivialPF@{TrivialPF}}
-\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void BM::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [pure virtual, inherited]}}\label{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void PF::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt  [inline, virtual, inherited]}}\label{classPF_64f636bbd63bea9efd778214e6b631d3}
 
 
@@ -84,4 +84,6 @@
 
 
+Implements {\bf BM} \doxyref{}{p.}{classBM_a892eff438aab2dd1a9e2efcb7fb5bdf}.
+
 The documentation for this class was generated from the following files:\begin{CompactItemize}
 \item 
Index: /doc/latex/libDC_8h.tex
===================================================================
--- /doc/latex/libDC_8h.tex (revision 19)
+++ /doc/latex/libDC_8h.tex (revision 32)
@@ -19,5 +19,5 @@
 \begin{center}
 \leavevmode
-\includegraphics[width=276pt]{libDC_8h__dep__incl}
+\includegraphics[width=191pt]{libDC_8h__dep__incl}
 \end{center}
 \end{figure}
Index: /BDM.kdevelop
===================================================================
--- /BDM.kdevelop (revision 28)
+++ /BDM.kdevelop (revision 32)
@@ -5,6 +5,6 @@
   <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
   <absoluteprojectpath>true</absoluteprojectpath>
-    <author/>
-    <email/>
+    <author></author>
+    <email></email>
     <version>$VERSION$</version>
     <primarylanguage>C++</primarylanguage>
@@ -14,6 +14,6 @@
     </secondaryLanguages>
     <projectname>BDM</projectname>
-    <description/>
-    <defaultencoding/>
+    <description></description>
+    <defaultencoding></defaultencoding>
     <versioncontrol>kdevsubversion</versioncontrol>
   </general>
@@ -21,12 +21,12 @@
     <filelistdirectory>/home/smidl/work/mixpp</filelistdirectory>
     <run>
-      <mainprogram>/home/smidl/work/mixpp/tests/testKF</mainprogram>
+      <mainprogram>/home/smidl/work/mixpp/tests/testKF_QR</mainprogram>
       <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/>
-      <makeoptions/>
+      <defaulttarget></defaulttarget>
+      <makeoptions></makeoptions>
     </make>
     <filetypes>
@@ -70,7 +70,7 @@
     <other>
       <prio>0</prio>
-      <otherbin/>
-      <defaulttarget/>
-      <otheroptions/>
+      <otherbin></otherbin>
+      <defaulttarget></defaulttarget>
+      <otheroptions></otheroptions>
       <selectedenvironment>default</selectedenvironment>
       <environments>
@@ -144,5 +144,5 @@
     </qt>
     <creategettersetter>
-      <prefixGet/>
+      <prefixGet></prefixGet>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
@@ -177,9 +177,9 @@
   <projectdirectory>/home/smidl/work/mixpp</projectdirectory>
   <absoluteprojectpath>true</absoluteprojectpath>
-      <gdbpath/>
-      <dbgshell/>
-      <configGdbScript/>
-      <runShellScript/>
-      <runGdbScript/>
+      <gdbpath></gdbpath>
+      <dbgshell></dbgshell>
+      <configGdbScript></configGdbScript>
+      <runShellScript></runShellScript>
+      <runGdbScript></runGdbScript>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
Index: /gdb_bdm
===================================================================
--- /gdb_bdm (revision 32)
+++ /gdb_bdm (revision 32)
@@ -0,0 +1,52 @@
+# This file defines handy gdb macros for printing out ITPP types
+# To use it, add this line to your ~/.gdbinit :
+# source gdb_bdm
+
+define dm
+   set $i=0
+
+   set $M = $arg0
+   set $rs = $M.no_rows
+   set $col = $M.no_cols
+
+   while $i < $rs
+     set $j=0
+     printf "["
+     while $j< $col
+        printf "%f,", $M.data[$j*$col+$i]
+        set $j++
+     end
+     printf "]"
+     printf "\n"
+     set $i++
+   end
+end
+
+define dme
+   set $i=0
+
+   set $M = $arg0
+   set $rs = $M.no_rows
+   set $col = $M.no_cols
+
+   while $i < $rs
+     set $j=0
+     printf "["
+     while $j< $col
+        printf "%e,", $M.data[$j*$col+$i]
+        set $j++
+     end
+     printf "]"
+     printf "\n"
+     set $i++
+   end
+end
+
+define dv
+    print $arg0.data[0]@($arg0.datasize)
+end
+
+define dl
+   dm $M.L
+   dv $M.D
+end
