Nothing
## -----------------------------------------------------------------------------
library(mvQuad)
# create grid
nw <- createNIGrid(dim=2, type="GLe", level=6)
# rescale grid for desired domain
rescale(nw, domain = matrix(c(1, 1, 2, 2), ncol=2))
# define the integrand
myFun2d <- function(x){
x[,1]*exp(x[,2])
}
# compute the approximated value of the integral
A <- quadrature(myFun2d, grid = nw)
## -----------------------------------------------------------------------------
# via an user-defined function
myRule.fun <- function(l){
n <- seq(1, 2*l-1, by=2)/ (l*2)
w <- rep(1/(l), l)
initial.domain <- matrix(c(0,1), ncol=2)
return(list(n=as.matrix(n), w=as.matrix(w), features=list(initial.domain=initial.domain)))
}
nw.fun <- createNIGrid(d=1, type = "myRule.fun", level = 10)
print(data.frame(nodes=getNodes(nw.fun), weights=getWeights(nw.fun)))
## -----------------------------------------------------------------------------
# via a text-file
myRule.txt <- readRule(file=system.file("extdata", "oNC0_rule.txt", package = "mvQuad"))
nw.txt <- createNIGrid(d=1, type = myRule.txt, level = 10)
print(data.frame(nodes=getNodes(nw.txt), weights=getWeights(nw.txt)))
## ----echo=FALSE---------------------------------------------------------------
txt <- readLines(system.file("extdata", "oNC0_rule.txt", package = "mvQuad"))
for (i in 1:9) {
cat(i,"\t", txt[i], "\n")
if (i==9) {
cat(" ... \n")
}
}
## ----fig.show="hold", fig.width=4.5-------------------------------------------
nw <- createNIGrid(dim=2, type="cNC1", level=5, ndConstruction = "product")
plot(nw, main="Example: Product-Rule")
## ----fig.show="hold", fig.width=4.5-------------------------------------------
nw <- createNIGrid(dim=2, type="cNC1", level=5, ndConstruction = "sparse")
plot(nw, main="Example: Combination Technique")
## ----fig.height=6, fig.width=6, echo=FALSE, message=FALSE---------------------
nw <- createNIGrid(dim=2, type="GHe", level=3)
C = matrix(c(1,0.6,0.6, 2),2)
m = c(2, 1)
dmvnorm <- function(x,m,C){
C.inv <- solve(C)
tmp <- apply(x, MARGIN = 1,
FUN = function(x){
1/sqrt((2*pi)^2 * det(C)) * exp(-0.5 * t(x-m)%*%C.inv%*%(x-m))
})
return(unlist(tmp))
}
xx <- expand.grid(seq(-5,5,length.out=100),seq(-5,5,length.out=100))
yy <- dmvnorm(xx, m, C)
yy <- matrix(yy,100)
par(mfrow=c(2,2), mar=c(2,2,3,1), oma=c(0,0,0,0))
plot(nw, main="initial grid", xlim=c(-6,6), ylim=c(-6,6), pch=8)
contour(seq(-5,5,length.out=100),seq(-5,5,length.out=100),yy,asp=1, labels="", add = T, col="gray")
rescale(nw, m = m, C = C, dec.type = 0)
plot(nw, main="no dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
contour(seq(-5,5,length.out=100),seq(-5,5,length.out=100),yy,asp=1, labels="", add = T, col="gray")
rescale(nw, m = m, C = C, dec.type = 1)
plot(nw, main="spectral dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
contour(seq(-5,5,length.out=100),seq(-5,5,length.out=100),yy,asp=1, labels="", add = T, col="gray")
rescale(nw, m = m, C = C, dec.type = 2)
plot(nw, main="Cholesky dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
contour(seq(-5,5,length.out=100),seq(-5,5,length.out=100),yy,asp=1, labels="", add = T, col="gray")
## ----fig.height=6, fig.width=6, eval=FALSE------------------------------------
# nw <- createNIGrid(dim=2, type="GHe", level=3)
#
# # no rescaling
# plot(nw, main="initial grid", xlim=c(-6,6), ylim=c(-6,6), pch=8)
#
# rescale(nw, m = m, C = C, dec.type = 0)
# plot(nw, main="no dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
#
#
# rescale(nw, m = m, C = C, dec.type = 1)
# plot(nw, main="spectral dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
#
# rescale(nw, m = m, C = C, dec.type = 2)
# plot(nw, main="Cholesky dec.", xlim=c(-6,6), ylim=c(-6,6), pch=8)
## -----------------------------------------------------------------------------
nw <- createNIGrid(dim=2, type="GHe", level=6, ndConstruction = "sparse")
plot(nw)
print(nw)
dim(nw)
size(nw)
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.