From 085f342b6bac1305a36abcce2185a55ba600a07a Mon Sep 17 00:00:00 2001 From: Rob Carnell Date: Sun, 30 Jun 2024 19:09:22 -0400 Subject: [PATCH] Updated pkgdown website --- docs/404.html | 6 +-- docs/LICENSE.html | 6 +-- docs/SECURITY.html | 6 +-- docs/articles/augment_lhs.html | 6 +-- docs/articles/correlated_lhs.html | 39 ++++++++------- docs/articles/index.html | 6 +-- docs/articles/lhs_basics.html | 6 +-- docs/articles/lhs_faq.html | 63 +++++++++++++----------- docs/authors.html | 12 ++--- docs/index.html | 21 ++++---- docs/pkgdown.yml | 5 +- docs/reference/augmentLHS.html | 6 +-- docs/reference/correlatedLHS.html | 6 +-- docs/reference/createAddelKemp.html | 9 ++-- docs/reference/createAddelKemp3.html | 14 +++--- docs/reference/createAddelKempN.html | 11 ++--- docs/reference/createBose.html | 9 ++-- docs/reference/createBoseBush.html | 9 ++-- docs/reference/createBoseBushl.html | 9 ++-- docs/reference/createBush.html | 9 ++-- docs/reference/createBusht.html | 9 ++-- docs/reference/create_galois_field.html | 6 +-- docs/reference/create_oalhs.html | 6 +-- docs/reference/geneticLHS.html | 6 +-- docs/reference/get_library_versions.html | 8 +-- docs/reference/improvedLHS.html | 6 +-- docs/reference/index.html | 12 ++--- docs/reference/lhs-package.html | 6 +-- docs/reference/maximinLHS.html | 6 +-- docs/reference/oa_to_oalhs.html | 6 +-- docs/reference/optAugmentLHS.html | 6 +-- docs/reference/optSeededLHS.html | 6 +-- docs/reference/optimumLHS.html | 6 +-- docs/reference/poly2int.html | 6 +-- docs/reference/poly_prod.html | 6 +-- docs/reference/poly_sum.html | 6 +-- docs/reference/quanttrans.html | 6 +-- docs/reference/randomLHS.html | 6 +-- docs/reference/runifint.html | 6 +-- 39 files changed, 194 insertions(+), 189 deletions(-) diff --git a/docs/404.html b/docs/404.html index 1c96d7f..c97eea6 100644 --- a/docs/404.html +++ b/docs/404.html @@ -12,7 +12,7 @@ - + @@ -39,7 +39,7 @@ lhs - 1.1.7 + 1.2.0 @@ -113,7 +113,7 @@

Page not found (404)

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 532298a..66b192e 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -1,5 +1,5 @@ -GNU General Public License • lhsGNU General Public License • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -274,7 +274,7 @@

How to Apply These Terms
-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/SECURITY.html b/docs/SECURITY.html index b032cae..6df613d 100644 --- a/docs/SECURITY.html +++ b/docs/SECURITY.html @@ -1,5 +1,5 @@ -Security Policy • lhsSecurity Policy • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -89,7 +89,7 @@

Reporting a Vulnerability
-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/articles/augment_lhs.html b/docs/articles/augment_lhs.html index ca66705..a6fee21 100644 --- a/docs/articles/augment_lhs.html +++ b/docs/articles/augment_lhs.html @@ -12,7 +12,7 @@ - + @@ -40,7 +40,7 @@ lhs - 1.1.7 + 1.2.0 @@ -225,7 +225,7 @@

2024-06-30

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/articles/correlated_lhs.html b/docs/articles/correlated_lhs.html index 9952d15..6396214 100644 --- a/docs/articles/correlated_lhs.html +++ b/docs/articles/correlated_lhs.html @@ -12,7 +12,7 @@ - + @@ -40,7 +40,7 @@ lhs - 1.1.7 + 1.2.0 @@ -143,9 +143,10 @@

Example 1: Simple Correlation
 cor(lhs_A$transformed_lhs[,1:2])[1,2]
-#> [1] 0.300014
-cor(lhs_A$transformed_lhs[,3:4])[1,2]
-#> [1] 0.4999289
+#> [1] 0.3000406 +
+cor(lhs_A$transformed_lhs[,3:4])[1,2]
+#> [1] 0.4998679

Example 2: Dirichlet distribution @@ -163,7 +164,7 @@

Example 2: Dirichlet distribution

Method 1: correlatedLHS

-
+
 lhs_B <- correlatedLHS(lhs::randomLHS(30, 4),
                        marginal_transform_function = function(W, ...) {
                          W[,1] <- qbeta(W[,1], 4, 6)
@@ -178,23 +179,25 @@ 

Method 1: correlatedLHS= FALSE, maxiter = 1000)

Check properties

-
+
 range(apply(lhs_B$transformed_lhs, 1, sum)) # close to 1
-#> [1] 0.9711814 1.1036998
-apply(lhs_B$transformed_lhs, 2, mean) # close to 4/10, 3/10, 2/10, 1/10
-#> [1] 0.40112406 0.29789676 0.19805637 0.09960962
+#> [1] 0.9625536 1.0504560
+
+apply(lhs_B$transformed_lhs, 2, mean) # close to 4/10, 3/10, 2/10, 1/10
+#> [1] 0.40054562 0.30170254 0.20228521 0.09803438

Method 2: q_dirichlet

-
+
 lhs_B <- lhs::qdirichlet(lhs::randomLHS(30, 4), c(4,3,2,1))

Check properties

-
+
 all(abs(apply(lhs_B, 1, sum) - 1) < 1E-9) # all exactly 1
-#> [1] TRUE
-apply(lhs_B, 2, mean) # close to 4/10, 3/10, 2/10, 1/10
-#> [1] 0.39600968 0.30673110 0.20180114 0.09545808
+#> [1] TRUE
+
+apply(lhs_B, 2, mean) # close to 4/10, 3/10, 2/10, 1/10
+#> [1] 0.4008212 0.3024493 0.1938541 0.1028755
@@ -212,7 +215,7 @@

Example 3: Rejection Sample

First build an empirical sample using rejection sampling

-
+
 set.seed(3803)
 N <- 100000
 
@@ -229,7 +232,7 @@ 

Example 3: Rejection SampleNow build the correlated sample using the reject sample as an empirical distribution function and the boundaries as a cost function.

-
+
 lhs_C <- correlatedLHS(lhs::randomLHS(30, 4),
                        marginal_transform_function = function(W, empirical_sample, ...) {
                          res <- W
@@ -266,7 +269,7 @@ 

Example 3: Rejection Sample

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/articles/index.html b/docs/articles/index.html index 2a1a989..a02d7e0 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -1,5 +1,5 @@ -Articles • lhsArticles • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0
@@ -84,7 +84,7 @@

All vignettes

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/articles/lhs_basics.html b/docs/articles/lhs_basics.html index 98ffe80..7a11d97 100644 --- a/docs/articles/lhs_basics.html +++ b/docs/articles/lhs_basics.html @@ -12,7 +12,7 @@ - + @@ -40,7 +40,7 @@ lhs - 1.1.7 + 1.2.0

@@ -230,7 +230,7 @@

Optimizing the Design

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/articles/lhs_faq.html b/docs/articles/lhs_faq.html index fa916d2..1402123 100644 --- a/docs/articles/lhs_faq.html +++ b/docs/articles/lhs_faq.html @@ -12,7 +12,7 @@ - + @@ -40,7 +40,7 @@ lhs - 1.1.7 + 1.2.0 @@ -139,8 +139,9 @@

Answer #> [3,] 1.960651 27.97779 #> [4,] 7.200957 21.79375 #> [5,] 1.200379 28.40089 -#> [6,] 4.091125 24.84824 -head(Y) +#> [6,] 4.091125 24.84824 +
+head(Y)
 #>          [,1]     [,2]
 #> [1,] 8.284968 29.24988
 #> [2,] 5.525437 28.53956
@@ -150,7 +151,7 @@ 

Answer #> [6,] 7.708760 27.45095

If you want integers only in the sample, then you can use qinteger.

-
+
 X <- randomLHS(3, 2)
 X[,1] <- qinteger(X[,1], 1, 10)
 X[,2] <- qinteger(X[,2], 20, 30)
@@ -184,35 +185,36 @@ 

Answer< example argument that explains the difficulty…

In two dimensions, you could draw this which is uniform and correlated.

-
+
 x <- seq(0.05, 0.95, length = 10) 
 y <- 1 - x 
 all.equal(x + y, rep(1, length(x))) 
-#> [1] TRUE
-hist(x, main = "") 
+#> [1] TRUE
+
+hist(x, main = "") 

-
+
 hist(y, main = "") 

But in three dimensions, it is hard to maintain uniformity because large samples on the first uniform margin overweight the small samples on the other margins.

-
+
 x <- seq(0.05, 0.95, length = 10) 
 y <- runif(length(x), 0, 1 - x) 
 z <- 1 - x - y 
 hist(x, main = "") 

-
+
 hist(y, main = "") 

-
+
 hist(z, main = "") 

The transformed distributions maintain their “Latin” properties, but are in the form of new distributions. The Dirichlet distribution is built for this purpose.

-
+
 N <- 1000
 x <- randomLHS(N, 5) 
 y <- x 
@@ -225,18 +227,18 @@ 

Answer< par(mfrow = c(2,3))

-
+
 dummy <- apply(y, 2, hist, main = "") 
 
 all.equal(rowSums(y[,1:3]), rep(1, nrow(y))) 
 #> [1] TRUE

The uniform properties are gone as you can see here…

-
+
 par(mfrow = c(1,1)) 
 pairs(x) 

-
+
 pairs(y, col = "red") 

@@ -254,13 +256,14 @@

Answer< The result is not uniformly distributed on (0,1) anymore, but instead is Dirichlet distributed with the parameters alpha. The Latin properties are maintained.

-
+
 X <- randomLHS(1000, 7) 
 Y <- qdirichlet(X, rep(1,7)) 
 stopifnot(all(abs(rowSums(Y) - 1) < 1E-12)) 
 range(Y) 
-#> [1] 5.076098e-06 8.393811e-01
-
+#> [1] 5.076098e-06 8.393811e-01
+
+
 ws <- randomLHS(1000, 7) 
 wsSums <- rowSums(ws) 
 wss <- ws / wsSums 
@@ -277,7 +280,7 @@ 

Question 5

Answer

-
+
 require(lhs) 
 
 # functions you described 
@@ -304,12 +307,12 @@ 

Answer< # these should be approximately normal par(mfrow = c(2,2))

-
+
 dummy <- apply(t, 2, hist, breaks = 50, main = "") 
 # these should be the results of the functions 
 par(mfrow = c(2,2)) 

-
+
 dummy <- apply(result, 2, hist, breaks = 50, main = "") 

@@ -322,7 +325,7 @@

Question 6

Answer

-
+
 N <- 1000 
 
 x <- randomLHS(N, 4) 
@@ -338,15 +341,17 @@ 

Answer< table(y[,1]) #> #> 1 2 3 4 5 6 7 8 9 10 -#> 100 100 100 100 100 100 100 100 100 100 -table(y[,2]) +#> 100 100 100 100 100 100 100 100 100 100

+
+table(y[,2])
 #> 
 #>   B   G   R 
-#> 334 333 333
-
+#> 334 333 333
+
+
 hist(y[,3], main="") 

-
+
 hist(y[,4], main="") 

@@ -370,7 +375,7 @@

Answer<

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/authors.html b/docs/authors.html index 03f026d..2b2b523 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -1,5 +1,5 @@ -Authors and Citation • lhsAuthors and Citation • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0

@@ -60,7 +60,7 @@
@@ -79,13 +79,13 @@

Citation

Carnell R (2024). lhs: Latin Hypercube Samples. -R package version 1.1.7, https://github.com/bertcarnell/lhs. +R package version 1.2.0, https://github.com/bertcarnell/lhs.

@Manual{,
   title = {lhs: Latin Hypercube Samples},
   author = {Rob Carnell},
   year = {2024},
-  note = {R package version 1.1.7},
+  note = {R package version 1.2.0},
   url = {https://github.com/bertcarnell/lhs},
 }
@@ -100,7 +100,7 @@

Citation

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/index.html b/docs/index.html index 55e5a7e..039098d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@ - + @@ -40,7 +40,7 @@ lhs - 1.1.7 + 1.2.0

@@ -98,17 +98,15 @@ -------++++++ - @@ -117,7 +115,6 @@ - @@ -324,7 +321,7 @@

Developers

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 7763bd0..bf03ad9 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,9 +1,10 @@ -pandoc: 3.1.1 -pkgdown: 2.0.7 +pandoc: 3.1.11 +pkgdown: 2.0.9 pkgdown_sha: ~ articles: augment_lhs: augment_lhs.html correlated_lhs: correlated_lhs.html lhs_basics: lhs_basics.html lhs_faq: lhs_faq.html +last_built: 2024-06-30T23:06Z diff --git a/docs/reference/augmentLHS.html b/docs/reference/augmentLHS.html index 75a9abe..bdedabb 100644 --- a/docs/reference/augmentLHS.html +++ b/docs/reference/augmentLHS.html @@ -1,5 +1,5 @@ -Augment a Latin Hypercube Design — augmentLHS • lhsAugment a Latin Hypercube Design — augmentLHS • lhsTransformed Latin hypercube with a multivariate distribution — correlatedLHS • lhsTransformed Latin hypercube with a multivariate distribution — correlatedLHS • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm. — createAddelKemp • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm. — createAddelKemp • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm -with 2q^3 rows. — createAddelKemp3 • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm with 2q^3 rows. — createAddelKemp3 • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm with -alternate strength with 2q^n rows. — createAddelKempN • lhsCreate an orthogonal array using the Addelman-Kempthorne algorithm with alternate strength with 2q^n rows. — createAddelKempN • lhsCreate an orthogonal array using the Bose algorithm. — createBose • lhsCreate an orthogonal array using the Bose algorithm. — createBose • lhsCreate an orthogonal array using the Bose-Bush algorithm. — createBoseBush • lhsCreate an orthogonal array using the Bose-Bush algorithm. — createBoseBush • lhsCreate an orthogonal array using the Bose-Bush algorithm with alternate strength >= 3. — createBoseBushl • lhsCreate an orthogonal array using the Bose-Bush algorithm with alternate strength >= 3. — createBoseBushl • lhsCreate an orthogonal array using the Bush algorithm. — createBush • lhsCreate an orthogonal array using the Bush algorithm. — createBush • lhsCreate an orthogonal array using the Bush algorithm with alternate strength. — createBusht • lhsCreate an orthogonal array using the Bush algorithm with alternate strength. — createBusht • lhsCreate a Galois field — create_galois_field • lhsCreate a Galois field — create_galois_field • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -132,7 +132,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/create_oalhs.html b/docs/reference/create_oalhs.html index 22c963c..c925245 100644 --- a/docs/reference/create_oalhs.html +++ b/docs/reference/create_oalhs.html @@ -1,5 +1,5 @@ -Create an orthogonal array Latin hypercube — create_oalhs • lhsCreate an orthogonal array Latin hypercube — create_oalhs • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -116,7 +116,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/geneticLHS.html b/docs/reference/geneticLHS.html index e18656a..a83e889 100644 --- a/docs/reference/geneticLHS.html +++ b/docs/reference/geneticLHS.html @@ -1,5 +1,5 @@ -Latin Hypercube Sampling with a Genetic Algorithm — geneticLHS • lhsLatin Hypercube Sampling with a Genetic Algorithm — geneticLHS • lhsGet version information for all libraries in the lhs package — get_library_versions • lhsGet version information for all libraries in the lhs package — get_library_versions • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -82,7 +82,7 @@

Value

Examples

get_library_versions()
-#> [1] "bclib: 1.0.2  oalib: 1.1.0  lhslib: 1.0.1 lhs: 1.1.7"
+#> [1] "bclib: 1.0.2  oalib: 1.1.0  lhslib: 1.0.1 lhs: 1.2.0"
 
@@ -97,7 +97,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/improvedLHS.html b/docs/reference/improvedLHS.html index cc34bc9..b76cde4 100644 --- a/docs/reference/improvedLHS.html +++ b/docs/reference/improvedLHS.html @@ -1,5 +1,5 @@ -Improved Latin Hypercube Sample — improvedLHS • lhsImproved Latin Hypercube Sample — improvedLHS • lhsFunction reference • lhsFunction reference • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -81,13 +81,11 @@

All functions

- + - + @@ -185,7 +183,7 @@

All functions
-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/lhs-package.html b/docs/reference/lhs-package.html index a48d56b..0c7654d 100644 --- a/docs/reference/lhs-package.html +++ b/docs/reference/lhs-package.html @@ -1,5 +1,5 @@ -lhs: Latin Hypercube Samples — lhs-package • lhslhs: Latin Hypercube Samples — lhs-package • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -92,7 +92,7 @@

Author

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/maximinLHS.html b/docs/reference/maximinLHS.html index b98317e..809dac0 100644 --- a/docs/reference/maximinLHS.html +++ b/docs/reference/maximinLHS.html @@ -1,5 +1,5 @@ -Maximin Latin Hypercube Sample — maximinLHS • lhsMaximin Latin Hypercube Sample — maximinLHS • lhsCreate a Latin hypercube from an orthogonal array — oa_to_oalhs • lhsCreate a Latin hypercube from an orthogonal array — oa_to_oalhs • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -111,7 +111,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/optAugmentLHS.html b/docs/reference/optAugmentLHS.html index 82f9d58..c5e25d0 100644 --- a/docs/reference/optAugmentLHS.html +++ b/docs/reference/optAugmentLHS.html @@ -1,5 +1,5 @@ -Optimal Augmented Latin Hypercube Sample — optAugmentLHS • lhsOptimal Augmented Latin Hypercube Sample — optAugmentLHS • lhsOptimum Seeded Latin Hypercube Sample — optSeededLHS • lhsOptimum Seeded Latin Hypercube Sample — optSeededLHS • lhsOptimum Latin Hypercube Sample — optimumLHS • lhsOptimum Latin Hypercube Sample — optimumLHS • lhsConvert polynomial to integer in <code>0..q-1</code> — poly2int • lhsConvert polynomial to integer in <code>0..q-1</code> — poly2int • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -111,7 +111,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/poly_prod.html b/docs/reference/poly_prod.html index 3b76de1..f99da62 100644 --- a/docs/reference/poly_prod.html +++ b/docs/reference/poly_prod.html @@ -1,5 +1,5 @@ -Multiplication in polynomial representation — poly_prod • lhsMultiplication in polynomial representation — poly_prod • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -120,7 +120,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/poly_sum.html b/docs/reference/poly_sum.html index 7dea492..f86245a 100644 --- a/docs/reference/poly_sum.html +++ b/docs/reference/poly_sum.html @@ -1,5 +1,5 @@ -Addition in polynomial representation — poly_sum • lhsAddition in polynomial representation — poly_sum • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -116,7 +116,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/quanttrans.html b/docs/reference/quanttrans.html index a30f5b1..62161db 100644 --- a/docs/reference/quanttrans.html +++ b/docs/reference/quanttrans.html @@ -1,5 +1,5 @@ -Quantile Transformations — qfactor • lhsQuantile Transformations — qfactor • lhsConstruct a random Latin hypercube design — randomLHS • lhsConstruct a random Latin hypercube design — randomLHS • lhslhs - 1.1.7 + 1.2.0 @@ -122,7 +122,7 @@

Examples

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

diff --git a/docs/reference/runifint.html b/docs/reference/runifint.html index 843e1f7..9a675fe 100644 --- a/docs/reference/runifint.html +++ b/docs/reference/runifint.html @@ -1,5 +1,5 @@ -Create a Random Sample of Uniform Integers — runifint • lhsCreate a Random Sample of Uniform Integers — runifint • lhs @@ -17,7 +17,7 @@ lhs - 1.1.7 + 1.2.0 @@ -107,7 +107,7 @@

Value

-

Site built with pkgdown 2.0.7.

+

Site built with pkgdown 2.0.9.

ActionsWindows Code Coverage Website Doxygen
R build statusBuild status Coverage status

createAddelKemp3()

Create an orthogonal array using the Addelman-Kempthorne algorithm -with 2q^3 rows.

Create an orthogonal array using the Addelman-Kempthorne algorithm with 2q^3 rows.

createAddelKempN()

Create an orthogonal array using the Addelman-Kempthorne algorithm with -alternate strength with 2q^n rows.

Create an orthogonal array using the Addelman-Kempthorne algorithm with alternate strength with 2q^n rows.

createBose()