code: def get_gradient_arguments_with_lr(
      draw,
      *,
      min_value=-1e20,
      max_value=1e20,
      abs_smallest_val=None,
      large_abs_safety_factor=2,
      small_abs_safety_factor=16,
      num_arrays=1,
      float_lr=False,
      no_lr=False,
  ):
      dtypes, arrays, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("float"),
              num_arrays=num_arrays,
              min_value=min_value,
              max_value=max_value,
              abs_smallest_val=abs_smallest_val,
              large_abs_safety_factor=large_abs_safety_factor,
              small_abs_safety_factor=small_abs_safety_factor,
              safety_factor_scale="log",
              min_num_dims=1,
              shared_dtype=True,
              ret_shape=True,
          )
      )
      dtype = dtypes[0]
      if no_lr:
          return dtypes, arrays
      if float_lr:
          lr = draw(
              helpers.floats(
                  min_value=1e-2,
                  max_value=1.0,
              )
          )
      else:
          lr = draw(
              st.one_of(
                  helpers.floats(
                      min_value=1e-2,
                      max_value=1.0,
                  ),
                  helpers.array_values(
                      dtype=dtype,
                      shape=shape,
                      min_value=1e-2,
                      max_value=1.0,
                  ),
              )
          )
      if isinstance(lr, list):
          dtypes += [dtype]
      return dtypes, arrays, lr
  
file_path: ivy/ivy_tests/test_ivy/test_functional/test_core/test_gradients.py
imports: from hypothesis import strategies
  import pytest
  import numpy
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
label_desc: Use image node_id 1 for calling a global function with example usage: get_gradient_arguments_with_lr(draw) and returns: dtypes,  arrays,  lr, dtypes,  arrays