code: def rej_sampling_ellips_space(matrix_a, vector_b, curr_task):
      """Reject sample from ellipsoidal search space example"""
      hyper_param_dim = vector_b.shape[0]
      _, curr_bound = rep_task([], curr_task)
  
      is_feasible = False
      while not is_feasible:
          mean = np.zeros(hyper_param_dim)
          cov = np.eye(hyper_param_dim)
          z = np.random.multivariate_normal(mean, cov)
          r = np.random.random()
          scale = np.power(r, 1.0 / hyper_param_dim) / np.linalg.norm(z)
          t = scale * z
          x = np.mat(np.linalg.inv(matrix_a)) * np.matrix.transpose(
              np.mat(t - vector_b)
          )
          x = np.array(x).ravel()
          diff = curr_bound - np.tile(x, (2, 1))
          if np.all(diff[0, :] <= 0) and np.all(
              diff[1, :] >= 0
          ):  # x in curr search space
              is_feasible = True
  
      # x is in the same order as curr_task representation
      return x
  
imports: import logging
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: rej_sampling_ellips_space(matrix_a, vector_b, curr_task) and returns: x