code: def squeeze_output_dim_0(result, in_shapes, input_types):
      """Determine if the output needs to be squeezed on dim 0.
  
      The dimension 0 is squeezed iff all input parameters:
  
      - contain one sample,
      - have the corresponding dimension 0 squeezed,
        i.e. if all input parameters have ndim strictly less than the ndim
        corresponding to their vectorized shape.
  
      Parameters
      ----------
      in_ndims : list
          Initial ndims of input parameters, as entered by the user.
      input_types : list
          Associated list of input_type of input parameters.
  
      Returns
      -------
      squeeze : bool
          Boolean deciding whether to squeeze dim 0 of the output.
      """
      if isinstance(result, tuple):
          return False
      if isinstance(result, list):
          return False
  
      for in_shape, input_type in zip(in_shapes, input_types):
          if input_type not in POINT_TYPES:
              continue
          in_ndim = None
          if in_shape is not None:
              in_ndim = len(in_shape)
          if in_ndim is not None:
              vect_ndim = POINT_TYPES_TO_NDIMS[input_type]
              if in_ndim > vect_ndim:
                  raise ValueError(
                      "Fully-vectorizing an input can only increase its ndim."
                  )
              if in_ndim == vect_ndim:
                  return False
      return True
  
file_path: geomstats/geomstats/vectorization.py
imports: import math
  import geomstats.backend
label_desc: Use image node_id 14 for calling a global function with example usage: squeeze_output_dim_0(result, in_shapes, input_types) and returns: True, False, False, False