Block matrix pseudoinverse

In mathematics, a block matrix pseudoinverse is a formula for the pseudoinverse of a partitioned matrix. This is useful for decomposing or approximating many algorithms updating parameters in signal processing, which are based on the least squares method.
Derivation.
Consider a column-wise partitioned matrix:
If the above matrix is full rank, the Moore–Penrose inverse matrices of it and its transpose are
This computation of the pseudoinverse requires ("n" + "p")-square matrix inversion and does not take advantage of the block form.
To reduce computational costs to "n"- and "p"-square matrix inversions and to introduce parallelism, treating the blocks separately, one derives 
where orthogonal projection matrices are defined by
The above formulas are not necessarily valid if formula_5 does not have full rank – for example, if formula_6, then
Application to least squares problems.
Given the same matrices as above, we consider the following least squares problems, which
appear as multiple objective optimizations or constrained problems in signal processing.
Eventually, we can implement a parallel algorithm for least squares based on the following results.
Column-wise partitioning in over-determined least squares.
Suppose a solution formula_8 solves an over-determined system:
Using the block matrix pseudoinverse, we have
Therefore, we have a decomposed solution:
Row-wise partitioning in under-determined least squares.
Suppose a solution formula_12 solves an under-determined system:
The minimum-norm solution is given by
Using the block matrix pseudoinverse, we have
Comments on matrix inversion.
Instead of formula_16, we need to calculate directly or indirectly
In a dense and small system, we can use singular value decomposition, QR decomposition, or Cholesky decomposition to replace the matrix inversions with numerical routines. In a large system, we may employ iterative methods such as Krylov subspace methods.
Considering parallel algorithms, we can compute formula_18 and formula_19 in parallel. Then, we finish to compute formula_20 and formula_21 also in parallel.