I have large very sparse $m \times n$ matrix $\mathbf{A}$, (roughly $10^5 \times 10^3$ with ~99% sparsity).
I need to compute $\mathbf{B (A A^\text{T})^{-1}A}$, where $\mathbf{B}$ is a $p \times m$ matrix ($ p \approx 10^3)$ with ~66% sparsity.
Computing each operation in turn, even using algorithms for sparse matrices, is very expensive mainly due to solving the inverse.
Are there any identities or trickery for sparse-matrices which can speed up or simplify the problem?