docs: def make_mapping(self):
          """Return a mapping from micro-state to the macro-states based on the
          partition and state grouping of this coarse-grain.
  
          Return:
              (nd.ndarray): A mapping from micro-states to macro-states. The
              |ith| entry in the mapping is the macro-state corresponding to the
              |ith| micro-state.
          """
          micro_states = utils.all_states(len(self.micro_indices))
  
          # Find the corresponding macro-state for each micro-state.
          # The i-th entry in the mapping is the macro-state corresponding to the
          # i-th micro-state.
          mapping = [convert.state2le_index(self.macro_state(micro_state))
                     for micro_state in micro_states]
          return np.array(mapping)