Returns the Hadamard matrix
A = makematrix_hadamard ( n )
a 1-by-1 matrix of doubles, integer value, the size of the matrix to return
a n-by-n matrix of doubles, the Hadamard matrix
Returns the Hadamard matrix of size n. This is a square matrix whose entries are either +1 or -1 and whose rows are mutually orthogonal.
n is expected to be a power of 2.
The Hadamard matrix satisfies
A*A' = n*eye(A)
The Hadamard matrix satisfies
det(A) = n^(n/2)
This implementation is recursive on n, and generates log2(n) recursive calls.
http://en.wikipedia.org/wiki/Hadamard_matrix