Nothing
Uniform() no longer depends on the order of the blocks. The previous
first-fit greedy extraction of parallel classes could fail on a valid
resolvable design presented in an unfavourable row order: of 200 random
row permutations of the 28-block design of Example 3 of Boudraa et al.
(2013), 178 raised an error. The resolution is now found by exact-cover
search with backtracking over the whole partition, so any row
permutation yields the same design up to a permutation of the factors
and a relabelling of levels. Designs produced by the package's own
constructors are unchanged.Uniform() validates its input and reports clearly when a matrix
cannot be resolvable (block size not dividing the number of
treatments, a repeated treatment within a block, or no resolution),
instead of returning a partial design or failing with an internal
subscript error. It also gains a classes component listing the row
indices forming each parallel class.Steps() rejects unknown or empty stage values instead of silently
returning an empty list.Qn() now reflects the labelling step as well
as the subspace enumeration, and states that timings are hardware
dependent.Qn() help page states the Plackett-Burman identification
precisely, up to row, column and level equivalence.Major generalisation: the whole construction now works over GF(p) for any prime p, as in the theory of Boudraa, Gheribi-Aoulmi & Laib (2013). Versions <= 1.2 implemented only p = 2.
Qn(m, n, p = 2): builds the reduced resolvable design
Q*_n of stage n directly, with its associated uniform design
U(p^m, (p^n)^r) — the design of the 2013 paper's Example 3, previously
constructible only by hand. Any two runs coincide in a constant number
of factors (equidistance), so every stage attains the
discrete-discrepancy lower bound of Fang et al. (2004), and levels
refine across stages.BIB(m, p = 2) and Steps(m, n, stage, p = 2) gain a p argument
(prime; checked). Gen() and Resolvable() are now order-agnostic:
block sizes are derived from the data instead of binary-only formulas.BIB() additionally returns Lambda, the concurrence parameter.BIB(), Gen(), Resolvable() and
Uniform() return exactly the same designs as version 1.2 (this is
enforced by a regression test against the 1.2 algorithm).Steps() now returns a tidy named list (BIB1, BIBg, Resolvables,
UDs, each stage a proper sub-list) instead of the flat, partially
unnamed splice of previous versions.Uniform() no longer emits recycling warnings (an internal placeholder
row was removed); results are unchanged.BIB() rejects non-prime p and m < 2 with clear
error messages.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.