1 | data.extrema(datum.idx.start = 1, length.idxs = dsz)
|
datum.idx.start |
|
length.idxs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (datum.idx.start = 1, length.idxs = dsz)
{
if (exists("design.thresh") == TRUE) {
if (length(design.thresh) == 1) {
design.min <- c(1, rep(-design.thresh, dimen - 1))
design.max <- c(1, rep(design.thresh, dimen - 1))
}
else {
design.min <- c(1, -design.thresh[2:dimen])
design.max <- design.thresh
}
}
if (exists("design.thresh") == FALSE) {
subset.design <- data.subset(datum.idx.start, length.idxs)$subset.design
design.min <- apply(subset.design, 2, min)
design.max <- apply(subset.design, 2, max)
}
extrema.design <- permutations(n = 2, r = dimen, v = c(0,
1), repeats.allowed = TRUE)
for (i in 1:dimen) {
extrema.design[, i] <- (1 - extrema.design[, i]) * design.min[i] +
extrema.design[, i] * design.max[i]
}
extrema.design <- rbind(extrema.design, extrema.design)
data.extrema <- matrix(c(rep(0, dim(extrema.design)[1]/2),
rep(1, dim(extrema.design)[1]/2)), dim(extrema.design)[1],
1)
data.precompute <- array(0, c(dim(extrema.design)[1], dimen,
dimen, 2))
for (i in 1:dim(extrema.design)[1]) {
for (dim.j in 1:dimen) {
X.row <- extrema.design[i, ]
data.precompute[i, 1:dimen, dim.j, 1] <- abs(-n.sigma[dim.j,
dim.j] * diag(n.sigma) * X.row[dim.j] * X.row)/4
data.precompute[i, 1:dimen, dim.j, 2] <- abs(-(n.sigma[dim.j,
dim.j])^2 * diag(n.sigma) * (X.row[dim.j])^2 *
X.row) * 1/(6 * sqrt(3))
}
}
dim.grad.max <- array(0, c(dimen, dimen, 2))
for (dim.j in 1:dimen) {
for (dim.k in 1:dimen) {
dim.grad.max[dim.j, dim.k, 1] <- max(data.precompute[,
dim.j, dim.k, 1])
dim.grad.max[dim.j, dim.k, 2] <- max(data.precompute[,
dim.j, dim.k, 2])
}
}
dim.grad.max <<- dim.grad.max
list(design.min = design.min, design.max = design.max, dim.grad.max = dim.grad.max)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.