

   NNuullll SSppaacceess ooff MMaattrriicceess

        Null(M)

   AArrgguummeennttss::

          M: Input matrix.  A vector is coerced to a 1-column
             matrix.

   DDeessccrriippttiioonn::

        Given a matrix, `M', find a matrix `N' giving a basis
        for the null space.  That is `t(N) %*% M' is the zero
        and `N' has the maximum number of linearly independent
        columns.

   VVaalluuee::

        The matrix `N' with the basis for the null space, or an
        empty vector if the matrix `M' is square and of maximal
        rank.

   RReeffeerreenncceess::

        Venables  Ripley, Chapter 2.

   SSeeee AAllssoo::

        `qr', `qr.Q'

   EExxaammpplleess::

        # The function is currently defined as
        function(M)
        {
             tmp <- qr(M)
             set <- if(tmp$rank == 0) 1:ncol(M) else  - (1:tmp$rank)
             qr.Q(tmp, complete = T)[, set, drop = F]
        }

