NAME

sample_from_LDS_2 - Creates a LDS sample

SYNOPSIS

#include "sequential/sequential_lds.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int sample_from_LDS_2
(
	Vector_vector **x,
	Vector_vector **y,
	int N,
	const Matrix_vector *A,
	const Matrix_vector *Q,
	const Matrix_vector *H,
	const Matrix_vector *R,
	const Vector *mu_0,
	const Matrix *S_0
);

DESCRIPTION

This routine generates N samples from an LDS with the given parameters. In other words, it creates vectors x_k and y_k, k=1,...,N, such that: x_1 = mu_0 + u, x_k = A_k * x_{k-1} + w y_k = H_k * z_k + v where w ~ N(0, Q_k) and v ~ N(0, R_k) and u ~ N(0, S_0), and the A_k and Q_k are nxn matrices, the H_k is an mxn matrix and R_k is an mxm matrix, with n being the dimension of the state variable. As usual, *x and *y are reused if possible and created if needed, according to the KJB allocation semantics.

RETURNS

NO_ERROR on success, and ERROR on failure, with an appropriate error message being set.

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Ernesto Brau

DOCUMENTER

Ernesto Brau

SEE ALSO

sample_from_LDS , compute_kalman_filter , compute_kalman_filter_stable , compute_kalman_filter_2 , compute_kalman_filter_2_stable