
Last chance! 50% off unlimited learning
Sale ends in
Computes a Hadamard matrix of dimension hadamard
.
paley(n, nmax = 2 * n, prime=NULL, check=!is.null(prime))is.hadamard(H, style=c("0/1","+-"), full.orthogonal.balance=TRUE)
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.
Minimum size for matrix
Maximum size for matrix. Ignored if prime
is specified.
Optional. A prime at least as large as
n
, such that prime+1
is divisible by 4.
Check that the resulting matrix is of Hadamard type
Matrix
"0/1"
for a matrix of 0s and 1s, "+-"
for a
matrix of
Require full orthogonal balance?
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
paley
knows primes up to 7919. The user can specify a prime
with the prime
argument, in which case a matrix of order
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 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.
Cameron PJ (2005) Hadamard Matrices. In: The Encyclopedia of Design Theory http://www.maths.qmul.ac.uk/~lsoicher/designtheory.org/library/encyc/
hadamard
M<-paley(11)
is.hadamard(M)
## internals of is.hadamard(M)
H<-2*M-1
## HH^T is diagonal for any Hadamard matrix
H%*%t(H)
Run the code above in your browser using DataLab