1. encodings 2. findPi <- function(adj,k) { # find the numbers of outlinks ni <- apply(adj,1,sum) # construct transition matrix n <- nrow(adj) p <- matrix(0.0,nrow=n,ncol=n) for (i in 1:n) { recip <- 1/ni[i] outlinks <- which(adj[i,] == 1) p[i,outlinks] <- recip } if (k > 0) { # form powers m <- p for (i in 1:ceiling(log2(k))) { m <- m %*% m } # for better accuracy, average the n estimates of pi colMeans(m) } else { vec <- eigen(t(p))$vectors[,1] vec <- Re(vec) vec / sum(vec) } } print(findPi(rbind(c(0,1,0),c(1,0,1),c(1,0,0)),k=10)) print(findPi(rbind(c(0,1,0),c(1,0,1),c(1,0,0)),k=0))