defaultKalman <- new("TimeInvariantKalman") nparticles(defaultKalman) <- 3 stopifnot(nlatent(defaultKalman) == 2, nobserved(defaultKalman) == 2, naction(defaultKalman) == 2, nsuccess(defaultKalman) == 0) p3 <- initParam(defaultKalman) stopifnot(all(dim(p3@Fmat)==c(2,2,3)), all(dim(p3@Bmat)==c(2,2,3)), all(dim(p3@Hmat)==c(2,2,3)), all(dim(p3@Rinv)==c(2,2,3)), all(dim(p3@Qmat)==c(2,2,3)), all(dim(p3@Amat)==c(2,2,3)), all(dim(p3@mu)==c(2,3))) d35 <- initData(defaultKalman,p3,5) stopifnot(all(dim(d35)==c(5,2,3))) o35 <- obsGen(defaultKalman,p3,d35) stopifnot(all(dim(o35)==c(5,2,3))) ## Basic use case, single common observation) l5 <- obsLike(defaultKalman,p3,o35[,,1],d35) stopifnot(length(l5)==3) ## Advance use case 1: Single action for all cases. d35a <- advanceData(defaultKalman,p3,d35,c(3,3),NULL,1) stopifnot(all(dim(d35)==dim(d35a))) ## Advance use case 1: Single action for all cases. d35b <- advanceData(defaultKalman,p3,d35,matrix(1:5*100,5,2),NULL,1) stopifnot(all(dim(d35)==dim(d35b))) #### Test of Data generator smallData <- paramSimulator(defaultKalman,5,9, function (bDat) exponentialFilter(bDat,.5,.25), function (est) meanPlusPolicy(est,.25)) ##### Test of particle filter pfOut <- paramFilter(defaultKalman,smallData,4) stopifnot(length(pfOut@param)==1, length(pfOut@est)==10, length(pfOut@weight)==10, length(pfOut@map)==9)