code: def _assert_has_jax(transform_name):
      """Check that JAX is installed and imported correctly, otherwise raise an error.
  
      Args:
          transform_name (str): Name of the gradient transform that queries the return system
      """
      if not has_jax:  # pragma: no cover
          raise ImportError(
              f"Module jax is required for the {transform_name} gradient transform. "
              "You can install jax via: pip install jax jaxlib"
          )
  
file_path: pennylane/pennylane/gradients/pulse_gradient.py
imports: from typing import Sequence, Callable
  from functools import partial
  import warnings
  import numpy
  import pennylane
  from pennylane.pulse import ParametrizedEvolution, HardwareHamiltonian
  from pennylane import transform
  from .parameter_shift import _make_zero_rep
  from .general_shift_rules import eigvals_to_frequencies, generate_shift_rule
  from .gradient_transform import _all_zero_grad, assert_no_state_returns, assert_no_tape_batching, assert_no_variance, choose_trainable_params, find_and_validate_gradient_methods, _no_trainable_grad, reorder_grads
label_desc: Use image node_id 1 for calling a global function with example usage: _assert_has_jax(transform_name) without return types