code: def _tucker_data(draw):
      x_dtype, x, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("float"),
              min_num_dims=2,
              max_num_dims=4,
              min_dim_size=2,
              max_dim_size=3,
              min_value=0.1,
              max_value=10.0,
              ret_shape=True,
          )
      )
      dims = len(shape)
      rank = []
      for i in range(dims):
          rank.append(
              draw(helpers.ints(min_value=1, max_value=shape[i]))
          )
      mask_dtype, mask = draw(
          helpers.dtype_and_values(
              dtype=["int32"],
              shape=shape,
              min_value=0,
              max_value=1,
          )
      )
      svd_mask_repeats = draw(helpers.ints(min_value=0, max_value=1))
      n_iter_max = draw(helpers.ints(min_value=0, max_value=2))
      tol = draw(helpers.floats(min_value=1e-5, max_value=1e-1))
      init = draw(st.sampled_from(["svd", "random"]))
      fixed_factors = draw(st.booleans())
      if fixed_factors:
          _, core = draw(
              helpers.dtype_and_values(
                  dtype=x_dtype,
                  min_value=0.1,
                  max_value=10.0,
                  shape=rank,
              )
          )
          factors = []
          for i in range(dims):
              _, factor = draw(
                  helpers.dtype_and_values(
                      dtype=x_dtype,
                      min_value=0.1,
                      max_value=10.0,
                      shape=(shape[i], rank[i]),
                  )
              )
              factors.append(factor[0])
          fixed_factors = draw(
              st.lists(
                  helpers.ints(min_value=0, max_value=dims - 1),
                  unique=True,
                  min_size=1,
              )
          )
          rank = [
              rank[i] for i in range(dims) if i not in fixed_factors
          ]
          init = ivy.TuckerTensor((core[0], factors))
      return (
          x_dtype + mask_dtype,
          x[0],
          rank,
          fixed_factors,
          init,
          n_iter_max,
          mask[0],
          svd_mask_repeats,
          tol,
      )
  
imports: import math
  from hypothesis import strategies
  from hypothesis import assume
  import numpy
  import pytest
  import itertools
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy
label_desc: Use image node_id 20 for calling a global function with example usage: _tucker_data(draw) and returns: unknown,  x,  rank,  fixed_factors,  init,  n_iter_max,  mask,  svd_mask_repeats,  tol