# example 2 - a "non-parametric" regression # with a Gaussian field prior # source("example3.s") # make a fake dataset n_50 sites_1:n y_sin(sites/25*pi)+rnorm(n,sd=.2) plot(sites,y) # make a function that gives covariance as a function # of distance covpow_function(locs,pow=2,scale=5){ # makes a covariance matrix using the power # exponential family C(d) = exp(-|d/scale|^pow) # locs is assumed to be a n x 2 matrix with each # row corresponding to locations # browser() d1_dist(locs) n_dim(locs)[1] mat_matrix(0,n,n) mat[lower.tri(mat)]_d1 mat_mat+t(mat) cc_exp(-(mat/scale)^pow) return(cc) } svdinv_function(a,tol=1e-8){ sva_svd(a) maxsv_max(sva$d) dd_ifelse(sva$d