code: def _get_cholesky_matrix(draw):
      # batch_shape, random_size, shared
      input_dtype = draw(
          st.shared(
              st.sampled_from(draw(helpers.get_dtypes("float"))),
              key="shared_dtype",
          )
      )
      shared_size = draw(
          st.shared(
              helpers.ints(min_value=2, max_value=4), key="shared_size"
          )
      )
      gen = draw(
          helpers.array_values(
              dtype=input_dtype,
              shape=(shared_size, shared_size),
              min_value=2,
              max_value=5,
          ).filter(
              lambda x: np.linalg.cond(x.tolist())
              < 1 / sys.float_info.epsilon
          )
      )
      spd = np.matmul(gen.T, gen) + np.identity(gen.shape[0])
      spd_chol = np.linalg.cholesky(spd)
      return input_dtype, spd_chol
  
imports: import numpy
  from hypothesis import assume, strategies
  import sys
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test, assert_all_close
  from ivy_tests.test_ivy.test_functional.test_core.test_linalg import _get_dtype_value1_value2_axis_for_tensordot
  from ivy_tests.test_ivy.helpers.hypothesis_helpers.general_helpers import matrix_is_stable
  from ivy_tests.test_ivy.test_functional.test_core.test_linalg import _matrix_rank_helper
label_desc: Use image node_id 1 for calling a global function with example usage: _get_cholesky_matrix(draw) and returns: input_dtype,  spd_chol