# File lib/linalg/dmatrix/nullspace.rb, line 19
      def nullspace(epsilon = (self.singleton_class.default_epsilon ||self.class.default_epsilon))
         u, s, vt = self.svd
         v = vt.transpose!
         null_indexes = sv_null_indexes(s.diags, s[0,0]*epsilon)

         if null_indexes.empty?
            nil
         else
            ns = DMatrix.reserve(v.vsize, null_indexes.size)
            null_indexes.each_with_index { |e, j|
               ns.replace_column(j, v.column(e))
            }
            ns
         end
      end