hadamard.paley(n, nmax = 2 * n, prime=NULL, check=!is.null(prime))is.hadamard(H, style=c("0/1","+-"), full.orthogonal.balance=TRUE)
prime is specified.n, such that prime+1 is divisible by 4."0/1" for a matrix of 0s and 1s, "+-" for a
matrix of $\pm 1$.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.
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.
hadamardM<-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