code: def jac(func: Callable) -> Callable:
      """Call function func, and return func's Jacobian partial derivatives.
  
      Parameters
      ----------
      func
          Function for which we compute the gradients of the output with respect to xs
          input.
  
      Returns
      -------
      ret
          the Jacobian function
  
      Examples
      --------
      With :class:`ivy.Array` input:
  
      >>> x = ivy.array([[4.6, 2.1, 5], [2.8, 1.3, 6.2]])
      >>> func = lambda x: ivy.mean(ivy.square(x))
      >>> jac_fn = ivy.jac(func)
      >>> jacobian = jac_fn(x)
      >>> print(jacobian)
      ivy.array([[1.53 , 0.7  , 1.67 ],
      ...        [0.933, 0.433, 2.07 ]])
      """
      return current_backend(None).jac(func)
  
imports: from typing import Sequence, Union, Optional, Tuple, Callable
  import numpy
  import itertools
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import handle_array_function, inputs_to_ivy_arrays, to_native_arrays_and_back, handle_out_argument, handle_nestable, handle_array_like_without_promotion, handle_device, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 23 for calling a global function with example usage: jac(func) and returns: current_backend