This document analyses the subregions generated by the parallel CUHRE algorithm.
The integrand chosen is: \[ | \cos(4 v +5 w + 6 x +7 y + 8 z)/k |\] with \(k = 0s .6371054\). For this integrand, the normalization is approximate (meaning that the true value of the integrand is close to, but not exactly, 1.0).
df5 <- readRDS("df5.rds") %>%
as_tibble() %>%
mutate(vol = dim0 * dim1 * dim2 * dim3 * dim4)
df5
## # A tibble: 60,463,662 x 9
## value error dim0 dim1 dim2 dim3 dim4 div vol
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <int> <dbl>
## 1 5.26e- 9 7.24e-11 0.0312 0.0312 0.0312 0.0312 0.0156 11 0.0000000149
## 2 1.70e-10 6.99e-11 0.0312 0.0156 0.0156 0.0156 0.0156 14 0.00000000186
## 3 1.19e- 8 1.09e-10 0.0312 0.0312 0.0312 0.0312 0.0312 10 0.0000000298
## 4 5.09e-10 1.37e-10 0.0312 0.0312 0.0156 0.0156 0.0156 13 0.00000000373
## 5 4.59e- 9 1.28e-10 0.0312 0.0312 0.0312 0.0312 0.0156 11 0.0000000149
## 6 1.52e- 9 1.35e-10 0.0312 0.0312 0.0312 0.0156 0.0156 12 0.00000000745
## 7 1.60e- 8 6.34e-12 0.0312 0.0312 0.0312 0.0312 0.0312 10 0.0000000298
## 8 4.53e-10 5.12e-11 0.0312 0.0312 0.0156 0.0156 0.0156 13 0.00000000373
## 9 4.56e-10 8.09e-11 0.0312 0.0312 0.0156 0.0156 0.0156 13 0.00000000373
## 10 1.69e-10 8.32e-11 0.0312 0.0156 0.0156 0.0156 0.0156 14 0.00000000186
## # … with 60,463,652 more rows
summary(df5)
## value error dim0 dim1
## Min. :0.000e+00 Min. :0.000e+00 Min. :0.003906 Min. :0.003906
## 1st Qu.:4.000e-11 1st Qu.:1.641e-12 1st Qu.:0.015625 1st Qu.:0.015625
## Median :2.100e-10 Median :1.219e-11 Median :0.031250 Median :0.015625
## Mean :1.653e-08 Mean :2.799e-11 Mean :0.024985 Mean :0.021813
## 3rd Qu.:8.100e-10 3rd Qu.:4.131e-11 3rd Qu.:0.031250 3rd Qu.:0.031250
## Max. :4.227e-05 Max. :8.140e-10 Max. :0.125000 Max. :0.125000
## dim2 dim3 dim4 div
## Min. :0.003906 Min. :0.003906 Min. :0.003906 Min. : 0.0
## 1st Qu.:0.015625 1st Qu.:0.015625 1st Qu.:0.007812 1st Qu.:13.0
## Median :0.015625 Median :0.015625 Median :0.015625 Median :14.0
## Mean :0.017782 Mean :0.015785 Mean :0.014392 Mean :14.5
## 3rd Qu.:0.015625 3rd Qu.:0.015625 3rd Qu.:0.015625 3rd Qu.:16.0
## Max. :0.125000 Max. :0.125000 Max. :0.125000 Max. :24.0
## vol
## Min. :2.000e-12
## 1st Qu.:4.660e-10
## Median :1.863e-09
## Mean :1.654e-08
## 3rd Qu.:3.725e-09
## Max. :3.052e-05
divdiv is the number of divisions this volume has been subject to (since the start of Phase 2).
For this integrand, the estimated value of the integral over the subregion decreases with the number of divisions:
ggplot(df5, aes(div, value, group = div)) +
geom_boxplot() +
scale_y_log10()
ggplot(df5, aes(div, error, group = div)) +
geom_boxplot() +
scale_y_log10()
We define the quantity stretch to be the ratio of the maximum subregion extent to the minimum subregion extent. A hypercube would have a stretch of 1.
df5 <- mutate(df5, mind = pmin(dim0, dim1, dim2, dim3, dim4),
maxd = pmax(dim0, dim1, dim2, dim3, dim4),
stretch = maxd/mind)
ggplot(df5, aes(stretch)) +
geom_histogram(bins = 50, binwidth = 1, center = 0)