code: def zeros(shape, ctx=None, dtype=None, **kwargs):
      
      # pylint: disable= unused-argument
      if ctx is None:
          ctx = current_context()
      dtype = mx_real_t if dtype is None else dtype
      # pylint: disable= no-member, protected-access
      return _internal._zeros(shape=shape, ctx=ctx, dtype=dtype, **kwargs)
docs: Returns a new array filled with all zeros, with the given shape and type.
  
      Parameters
      ----------
      shape : int or tuple of int
          The shape of the empty array.
      ctx : Context, optional
          An optional device context (default is the current default context).
      dtype : str or numpy.dtype, optional
          An optional value type (default is `float32`).
      out : NDArray, optional
          The output NDArray (default is `None`).
  
      Returns
      -------
      NDArray
          A created array
  
      Examples
      --------
      >>> mx.nd.zeros(1).asnumpy()
      array([ 0.], dtype=float32)
      >>> mx.nd.zeros((1,2), mx.gpu(0))
      <NDArray 1x2 @gpu(0)>
      >>> mx.nd.zeros((1,2), mx.gpu(0), 'float16').asnumpy()
      array([[ 0.,  0.]], dtype=float16)