Lets say that we have n matrices of data $X\_i : i \in [1, n]$. All $X\_i$ have the same number of rows. 
Their associated projection matrices are $P\_i = X\_i(X\_i^T X\_i)^{-1}X\_i^T$


Also say that we have have already found the SVDs of $X\_i = U\_iS\_iV\_i \forall i \in [1, n]$. Then I could figure out that the singular values of $M = \sum\_i P\_i$ lie within $0$ and $n$. 


However, I want to find the SVD of $M$. Is there some theory that I can use to find it more efficiently than the brute force method of taking the sum and then finding the SVD ? 


MORE DETAILS (added after dmitry's answer):


In the application I have in mind $n$ is maybe 10 or 20. And $X\_i$ are sparse with 1M rows and the number of columns may be upto 2 to 3M (therefore I would be taking only partial SVD and keeping top 500 left singular vectors)



Efficient way to find SVD of sum of projection matrices?
If $n$ is small, and matrix sizes for all $X\_i$ are large, then there is certainly a more efficient way of doing it. 
First, note that $P\_i = U\_i U\_i^\top,$ and therefore
$$M=\begin{bmatrix}U\_1 & \ldots & U\_n\end{bmatrix}\begin{bmatrix}U\_1^\top \\ \ldots \\ U\_n^\top\end{bmatrix}.$$
If the concatenation of all basis matrices is still a "tall" matrix (has more rows than columns), you can orthogonalize it with QR
$$\begin{bmatrix}U\_1 & \ldots & U\_n\end{bmatrix}=: QR,$$ and obtain $M=Q RR^\top Q^\top,$ where the size of $B=RR^\top$ is smaller than the size of $M.$ The computation of the eigendecomposition of $B$ is therefore cheaper than the one f $M.$
Note that your matrix is $M$ symmetrical and therefore the eigendecomposition is equivalent to the SVD.


