docstr: Separate arguments into different types and validate them.
  
  Parameters
  ----------
  args : dict
      Dict of arguments.
      Float or int arguments are passed to func for each manifold
      Array-type arguments must be of type (..., shape)
  
  Returns
  -------
  arguments : list
      List of dicts of arguments with values being array-like.
      Each element of the list corresponds to a factor af the manifold.
  numerical_args : dict
      Dict of non-array arguments
docstr_tok: ["Separate","arguments","into","different","types","and","validate","them",".","Parameters","--","--","--","--","--","args",":","dict","Dict","of","arguments",".","Float","or","int","arguments","are","passed","to","func","for","each","manifold","Array-type","arguments","must","be","of","type","(","...",",","shape",")","Returns","--","--","--","-","arguments",":","list","List","of","dicts","of","arguments","with","values","being","array-like",".","Each","element","of","the","list","corresponds","to","a","factor","af","the","manifold",".","numerical_args",":","dict","Dict","of","non-array","arguments"]
code: def _validate_and_prepare_args_for_iteration(self, args):
      """Separate arguments into different types and validate them.
  
      Parameters
      ----------
      args : dict
          Dict of arguments.
          Float or int arguments are passed to func for each manifold
          Array-type arguments must be of type (..., shape)
  
      Returns
      -------
      arguments : list
          List of dicts of arguments with values being array-like.
          Each element of the list corresponds to a factor af the manifold.
      numerical_args : dict
          Dict of non-array arguments
      """
      args_list = [{} for _ in self.factors]
      numerical_args = {}
      for key, value in args.items():
          if not gs.is_array(value):
              numerical_args[key] = value
          else:
              new_args = self.project_from_product(value)
              for args_dict, new_arg in zip(args_list, new_args):
                  args_dict[key] = new_arg
      return args_list, numerical_args
  
imports: import math
  import geomstats.backend
  import geomstats.errors
  from geomstats.geometry.complex_manifold import ComplexManifold
  from geomstats.geometry.complex_riemannian_metric import ComplexRiemannianMetric
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 6 for calling the _IterateOverFactorsMixins obj's underlying member method code with example usage: obj._validate_and_prepare_args_for_iteration(args) and returns: args_list,  numerical_args