I wanted to find real matrices $A$ and $B$ such that:$$(BA)^\dagger\neq A^\dagger B^\dagger$$
whereas $A^\dagger$ denotes the Moore-Penrose pseudoinverse of a matrix.
I tried some things and ended up with:
$$ B = \begin{pmatrix} 0 & 0\\ 1 & 2\end{pmatrix} , A=\begin{pmatrix} 1 & 0 \\ 0 & 0\end{pmatrix} $$
for these matrices I get $$A^\dagger=\begin{pmatrix} 1 & 0\\ 0 & 0\end{pmatrix}, B^\dagger = \begin{pmatrix} 0 & \frac 15 \\ 0 & \frac 25\end{pmatrix}, A^\dagger B^\dagger = \begin{pmatrix} 0 & \frac 15 \\ 0 & 0\end{pmatrix}$$ but $$(BA)^\dagger=\begin{pmatrix}0 & 1\\ 0 & 0\end{pmatrix}$$
so these two are obviously not equal. I found on Wikipedia that the equality stated above holds, when for example $B$ or $A$ has orthonormal columns or rows.
What I am trying to find out here is: Is there a criterion such that the equality does $\bf not$ hold? When trying to find such matrices I just stumbled upon these by accident, say I just picked random matrices which did not fulfill the requirements that the equality automatically holds.
Any help is greatly appreciated!