# Choice between using Moore-Penrose inverse and G2 inverse

Moore-Penrose inverse for an arbitrary matrix $$X\in \mathbb{R}^{n \times p}$$ is defined by a matrix $$X^\dagger$$ satisfying all of the Moore-Penrose conditions, namely

\begin{align} (1) \;\;\;& XX^\dagger X=X \\ (2) \;\;\;& X^\dagger X X^\dagger = X^\dagger \\ (3) \;\;\;& XX^\dagger = (XX^\dagger)^T \\ (4) \;\;\;& X^\dagger X=(X^\dagger X)^T \end{align}

which can be found by singular value decomposition (SVD). If a matrix $$G$$ satisfies only the first condition $$(1)$$, then it is called a generalized inverse (G-inverse). In addition, if it satisfies both two conditions $$(1)$$ and $$(2)$$, then it is called a G2-inverse.

My question is rather general. Since there is always a unique Moore-Penrose inverse for $$X$$ by SVD, why and when should we also consider G or G2-inverse? Is there any computational advantages of using G2-inverse instead of Moore-Penrose inverse?

There is an example of using G2 inverse in ANOVA e.g. https://www.stat.purdue.edu/~fmliang/ANOVA.pdf

Further information, G2SWEEP algorithm is suggested in SAS Technical Report R106 (https://support.sas.com/documentation/onlinedoc/v82/techreport_r106.pdf). However, I don't see how G2-inverse is better than Moore-Penrose inverse.