We consider the following numerical methods for constructing Grassmannian packings, for its flexibility and ease of implementation. Consider a packing problem in Grassmannian Manifolds (Problem REF ), suppose that the set of N \(k-\) dimensional subspaces \( \lbrace \mathcal {S}_1,\dots ,\mathcal {S}_N \rbrace  \subseteq G(k, n) \)  are spanned by the matrices \(\mathcal {F}=\lbrace F_1,\dots ,F_N \rbrace \) . Collate these \(N\)  matrices into a \(n \times KN \)  configuration matrix \(F:= [F_1 \; \dots \;F_N ] \) , and the block Gram matrix of \(F\)  is defined as the \( KN \times KN\)  matrix \( G = F^*F\) , whose blocks control the distances between pairs of subspaces. Solving the packing problem in Grassmannian manifold \(G(k, n)\)  is equivalent with constructing a Gram matrix \(G\)  that satisfies six structural and spectral properties, where the structural properties constrain the entries of the Gram matrix while the spectral properties control the eigenvalues of the matrix. The alternating projection algorithm alternately enforce the structural properties and then the spectral properties in hope of producing a Gram matrix that satisfies all six properties at once. Finally, factorization of the output Gram matrix \(G = F^*F\) , such as eigenvalue decomposition, yields the desired configuration matrix.
We note however some limitations of this approach, as pointed out in [1]}. First, although the alternating projection algorithm seems to converge in practice, a theoretical proof is lacking. Second, The algorithm frequently requires as many as 5000 iterations before the iterates settle down. Third, the algorithm was especially successful for smaller numbers of subspaces, but its performance began to flag as the number of subspaces approached 20.
