colli_ function(model,opt = 0, v.iter = c(1:length(model$Gibbs.iter$hit[,1]))) { if (opt!=0 && opt!=1 ) stop("\nopt can only be 0, 1") g.diag_ model$g.diag if (opt==0) { svdX _ svd(model$X * sqrt(model$Ghe * g.diag)) cond_ ifelse(svdX$d[length(svdX$d)], svdX$d[1]/svdX$d[length(svdX$d)], "infinity") return(cond) } else { if (is.null(model$Gibbs.iter)) stop("\nmodel input not from gibbs(...) with opt=1") gibbs.len_ length(model$Gibbs.iter$hit[,1]) v.iter_ v.iter[v.iter<=gibbs.len] cond.len_ min(length(v.iter),gibbs.len) cond_ rep(NA,cond.len) d.c.len_ dim(model$X)[v.iter[1]] c.err.len_ sum(model$ptab.len) for (i in 1:length(v.iter)) { err_ NA for(j in 1:length(model$ptab.len)) err <- c(err, rep(model$Gibbs.iter$hit[v.iter[i],j], model$ptab.len[j])) err _ err[!is.na(err)] G_ sqrt(g.diag[1:length(err)] * err) if (length(G) < length(g.diag)) G_ c(G, model$Ghe[(length(G)+1):length(g.diag)]) svdX _ svd(model$X * G) cond[i]_ ifelse(svdX$d[length(svdX$d)], svdX$d[1]/svdX$d[length(svdX$d)], "infinity") } v.c_ list(v.iter = v.iter, cond = cond) v.c } }