Computes a Hadamard matrix of dimension \((p+1)\times 2^k\), where p is a prime,
and p+1 is a multiple of 4, using the Paley construction. Used by hadamard.
Usage
paley(n, nmax = 2 * n, prime=NULL, check=!is.null(prime))
Maximum size for matrix. Ignored if prime is specified.
prime
Optional. A prime at least as large as
n, such that prime+1 is divisible by 4.
check
Check that the resulting matrix is of Hadamard type
H
Matrix
style
"0/1" for a matrix of 0s and 1s, "+-" for a
matrix of \(\pm 1\).
full.orthogonal.balance
Require full orthogonal balance?
Value
For paley, a matrix of zeros and ones, or NULL if no matrix smaller than
nmax can be found.
For is.hadamard, TRUE if H is a Hadamard matrix.
Details
The Paley construction gives a Hadamard matrix of order p+1 if p is
prime and p+1 is a multiple of 4. This is then expanded to order
\((p+1)\times 2^k\) using the Sylvester construction.
paley knows primes up to 7919. The user can specify a prime
with the prime argument, in which case a matrix of order
\(p+1\) is constructed.
If check=TRUE the code uses is.hadamard to check that
the resulting matrix really is of Hadamard type, in the same way as in
the example below. As this test takes \(n^3\) time it is
preferable to just be sure that prime really is prime.
A Hadamard matrix including a row of 1s gives BRR designs where the
average of the replicates for a linear statistic is exactly the full
sample estimate. This property is called full orthogonal balance.