code: def ensure_ndarray_or_sparse(A, shape=None, uniform=None, ndim=None, size=None, dtype=None, kind=None):
      r
      if not isinstance(A, np.ndarray) and not scisp.issparse(A):
          try:
              A = np.array(A)
          except:
              raise AssertionError('Given argument cannot be converted to an ndarray:\n'+str(A))
      assert_array(A, shape=shape, uniform=uniform, ndim=ndim, size=size, dtype=dtype, kind=kind)
      return A
docs: r""" Ensures A is an ndarray or a scipy sparse matrix and does an assert_array with the given parameters
  
      Returns
      -------
      A : ndarray
          If A is already an ndarray, it is just returned. Otherwise this is an independent copy as an ndarray