 vector ``x``,
    the null space operator is equivalent to apply
    a projection matrix ``P = I - A.T inv(A A.T) A``
    to the vector. It can be shown that this is
    equivalent to project ``x`` into the null space
    of A.
LS : LinearOperator, shape (m, n)
    Least-squares operator. For a given vector ``x``,
    the least-squares operator is equivalent to apply a
    pseudoinverse matrix ``pinv(A.T) = inv(A A.T) A``
    to the vector. It can be shown that this vector
    ``pinv(A.T) x`` is the least_square solution to
    ``A.T y = x``.
Y : LinearOperator, shape (n, m)
    Row-space operator. For a given vector ``x``,
    the row-space operator is equivalent to apply a
    projection matrix ``Q = A.T inv(A A.T)``
    to the vector.  It can be shown that this
    vector ``y = Q x``  the minimum norm solution
    of ``A y = x``.

Notes
-----
Uses iterative refinements described in [1]
during the computation of ``Z`` in order to
cope with the possibility of large roundoff errors.

References
----------
.. [1] Gould, Nicholas IM, Mary E. Hribar, and Jorge Nocedal.
    "On the solution of equality constrained quadratic
    programming problems arising in optimization."
    SIAM Journal on Scientific Computing 23.4 (2001): 1376-1395.
r