Skip to main content
10 of 10
replaced http://mathoverflow.net/ with https://mathoverflow.net/

Assuming that the Hadamard Conjecture is true, if $m$ is a multiple of $4$, then a thin $m \times n$ matrix that satisfies the given constraints is given by

$$\boxed{\mathrm A := \frac{1}{\sqrt n} \mathrm H_m^{\top} \mathrm S_n}$$

where

  • $\mathrm H_m \in \{\pm 1\}^{m \times m}$ is a Hadamard matrix. Thus, the $m$ rows of $\mathrm H_m$ are orthogonal, i.e., $$\mathrm H_m \mathrm H_m^{\top} = m \mathrm I_m$$

  • $\mathrm S_n$ is a thin $m \times n$ matrix whose $n$ columns are chosen from the $m$ columns of the $m \times m$ identity matrix. Thus, the $n$ columns of $\mathrm S_n$ are orthonormal, i.e.,

$$\mathrm S_n^{\top} \mathrm S_n = \mathrm I_n$$

Hence,

$$\mathrm A^{\top} \mathrm A = \frac{1}{n} \mathrm S_n^{\top} \mathrm H_m \mathrm H_m^{\top} \mathrm S_n = \frac{m}{n} \mathrm S_n^{\top} \mathrm S_n = \frac{m}{n} \mathrm I_n$$

as desired. Let $\mathrm e_k$ and $\mathrm h_k$ denote the $k$-th columns of $\mathrm I_m$ and $\mathrm H_m$, respectively. Hence,

$$\mathrm e_k^{\top} \mathrm A \mathrm A^{\top} \mathrm e_k = \| \mathrm A^{\top} \mathrm e_k \|_2^2 = \frac 1n \| \mathrm S_n^{\top} \mathrm H_m \mathrm e_k \|_2^2 = \frac 1n \| \mathrm S_n^{\top} \mathrm h_k \|_2^2 = \frac 1n \sum_{k=1}^n (\pm 1)^2 = \frac nn = 1$$

for all $k \in \{1,2,\dots,m\}$, as desired. Note that we used the fact that the entries of $\mathrm h_k$ are $\pm 1$.

If $m$ is a power of $2$, then $\mathrm H_m$ can be built recursively using the Sylvester construction

$$\mathrm H_{2k} = \begin{bmatrix} \mathrm H_k & \mathrm H_k\\ \mathrm H_k & -\mathrm H_k\end{bmatrix} \qquad \qquad \qquad \mathrm H_1 = 1$$

which builds (symmetric) Walsh matrices. If $m$ is not a power of $2$, we can use the Paley construction instead.


Example

Let $m = 8$ and $n = 3$. Since $8$ is a power of $2$, we can use the Sylvester construction to build $\mathrm H_8$.

Using MATLAB,

>> H1 = 1;
>> H2 = [H1,H1;H1,-H1];
>> H4 = [H2,H2;H2,-H2];
>> H8 = [H4,H4;H4,-H4]

H8 =

     1     1     1     1     1     1     1     1
     1    -1     1    -1     1    -1     1    -1
     1     1    -1    -1     1     1    -1    -1
     1    -1    -1     1     1    -1    -1     1
     1     1     1     1    -1    -1    -1    -1
     1    -1     1    -1    -1     1    -1     1
     1     1    -1    -1    -1    -1     1     1
     1    -1    -1     1    -1     1     1    -1

Let the $3$ columns of $\mathrm S_3$ be the first $3$ columns of $\mathrm I_8$

>> I8 = eye(8);
>> H8 * I8(:,[1,2,3])

ans =

     1     1     1
     1    -1     1
     1     1    -1
     1    -1    -1
     1     1     1
     1    -1     1
     1     1    -1
     1    -1    -1

Note that the last four rows are copies of the first four rows. Hence, let the $3$ columns of $\mathrm S_3$ be the 2nd, 3rd and 5th columns of $\mathrm I_8$

>> H8 * I8(:,[2,3,5])

ans =

     1     1     1
    -1     1     1
     1    -1     1
    -1    -1     1
     1     1    -1
    -1     1    -1
     1    -1    -1
    -1    -1    -1

Note that the $8$ rows are now the $8$ vertices of the cube $[-1,1]^3$.

We build matrix $\mathrm A$ by normalizing the rows

>> A = inv(sqrt(3)) * H8 * I8(:,[2,3,5]) 

A =

    0.5774    0.5774    0.5774
   -0.5774    0.5774    0.5774
    0.5774   -0.5774    0.5774
   -0.5774   -0.5774    0.5774
    0.5774    0.5774   -0.5774
   -0.5774    0.5774   -0.5774
    0.5774   -0.5774   -0.5774
   -0.5774   -0.5774   -0.5774

Is the constraint $\mathrm A^{\top} \mathrm A = \frac 83 \mathrm I_3$ satisfied?

>> A' * A

ans =

    2.6667         0         0
         0    2.6667         0
         0         0    2.6667

It is. Are the diagonal entries of $\mathrm A \mathrm A^{\top}$ equal to $1$?

>> A * A'

ans =

    1.0000    0.3333    0.3333   -0.3333    0.3333   -0.3333   -0.3333   -1.0000
    0.3333    1.0000   -0.3333    0.3333   -0.3333    0.3333   -1.0000   -0.3333
    0.3333   -0.3333    1.0000    0.3333   -0.3333   -1.0000    0.3333   -0.3333
   -0.3333    0.3333    0.3333    1.0000   -1.0000   -0.3333   -0.3333    0.3333
    0.3333   -0.3333   -0.3333   -1.0000    1.0000    0.3333    0.3333   -0.3333
   -0.3333    0.3333   -1.0000   -0.3333    0.3333    1.0000   -0.3333    0.3333
   -0.3333   -1.0000    0.3333   -0.3333    0.3333   -0.3333    1.0000    0.3333
   -1.0000   -0.3333   -0.3333    0.3333   -0.3333    0.3333    0.3333    1.0000

They are.