code: def native_array(
      x: Union[
          ivy.Array,
          ivy.NativeArray,
          List[Number],
          Tuple[Number],
          np.ndarray,
      ],
      /,
      *,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      device: Optional[Union[ivy.Device, ivy.NativeDevice]] = None,
  ) -> ivy.NativeArray:
      """Convert the input to a native array.
  
      Parameters
      ----------
      x
          input data, in any form that can be converted to an array. This includes lists,
          lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays.
      dtype
          datatype, optional. Datatype is inferred from the input data.
      device
          device on which to place the created array. Default: ``None``.
  
      Returns
      -------
      ret
          A native array interpretation of x.
  
      Examples
      --------
      With :class:`List[Number]` input:
  
      >>> x = [1, 2, 3]
      >>> x_native = ivy.native_array(x)
      >>> print(x_native)
      [1 2 3]
  
      With :class:`np.ndarray` input:
      >>> y = np.array([4, 5, 6])
      >>> y_native = ivy.native_array(y)
      >>> print(y_native)
      [4 5 6]
  
      With :class:`ivy.Array` input:
      >>> z = ivy.array([7, 8, 9])
      >>> z_native = ivy.native_array(z)
      >>> print(z_native)
      [7 8 9]
      """
      # ToDo: Make this more efficient,
      # ideally without first converting to ivy.Array with ivy.asarray and then
      # converting back to native with ivy.to_native
  
      return ivy.to_native(ivy.asarray(x, dtype=dtype, device=device))
  
imports: from __future__ import annotations
  import functools
  from numbers import Number
  from typing import Union, Tuple, Optional, List, Sequence, Callable, Protocol, TypeVar, Iterable
  import numpy
  import ivy
  from ivy import to_ivy
  from ivy.utils.exceptions import handle_exceptions
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import handle_array_function, infer_dtype, handle_out_argument, outputs_to_ivy_arrays, inputs_to_native_arrays, inputs_to_native_shapes, to_native_arrays_and_back, handle_nestable, handle_array_like_without_promotion, handle_device, handle_backend_invalid, temp_asarray_wrapper
label_desc: Use image node_id 28 for calling a global function with example usage: native_array() and returns: ivy