I have an $m\times n$ binary matrix, $A$ i.e. $a_{ij} \in \begin{Bmatrix} 0,1 \end{Bmatrix}$. The matrix $S$ is defined as the following: $S=AA^{\top}$ and is hence a symmetric positive semidefinite matrix. If rank{$A$}=rank{$S$}=$r$, then I can find the following decomposition for $S$: $ S = Q \Lambda Q^{\top} $ where $Q$ is an $m\times r$ matrix and $\Lambda$ an $r \times r$ diagonal matrix containing eigenvalues of $S$. Columns of $Q$ are independent normalized eigenvectors of $S$. Hence $Q^{\top}Q=I$ is the identity matrix. My confusion started from reading this in wikipedia, that for the complex normal matrix $S$, there exists the $unitary$ matrix $Q$ such that $A=Q\Lambda Q^{\top}$. Doesn't unitary mean that $QQ^{\top}=I$ too?(wikipedia.com) For the above $m$ by $r$ eigenvectors matrix $Q$, $Q^{\top}Q=I$ but $QQ^{\top} \neq I$. So, how can I construct such a unitary matrix $Q$
Moreover based on the same Wiki page, every $m\times m$ real symmetric matrix has m linearly independent real eigenvectors. Does that also hold for singular matrices? How can one find eigenvectors corresponding to zero eigenvalues ? I guess it would be an arbitrary set of $m-r$ independent vectors, that together with the $r$ eigenvectors corresponding to nonzero eigenvalues, will make a basis for $\mathbb{C}^m$. Would $QQ^{\top}=I$ for any such $Q$, given that $Q^{\top}Q=I$? Can anyone clarify this for me please.