Nothing
getbundle <-
function(fn,gr,x,g=gr(x),samprad,N){
is.naninf <- function(v) {
any(is.na(v)) || any(is.infinite(v)) || any(is.nan(v))
}
m <- length(x)
#declare empty matrices
xbundle <- matrix(NA,m,N)
gbundle <- matrix(NA,m,N)
xbundle[,1] <- x
gbundle[,1] <- g
for(k in 2:N){
xpert <- x+samprad*(runif(m)-0.5) #samprad is a scaler here
f <- fn(xpert)
grd <- gr(xpert)
count <- 0
while(is.nainf(f) || is.nainf(grd)){
xpert <- (x+xpert)/2
f <- fn(xpert)
grd <- gr(xpert)
count <- count+1
if(count > 100) stop('getbundle: too many contractions needed to find finite f and g')
}
xbundle[,k] <- xpert
gbundle[,k] <- grd
}
return(list(xbundle=xbundle,gbundle=gbundle))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.