code: def get_outcome_probs(self):
          
          outcome_dict = {}
          qubit_num = len(self)
          for index, amplitude in enumerate(self.amplitudes):
              outcome = get_bitstring_from_index(index, qubit_num)
              outcome_dict[outcome] = abs(amplitude) ** 2
          return outcome_dict
docs: Parses a wavefunction (array of complex amplitudes) and returns a dictionary of
          outcomes and associated probabilities.
  
          :return: A dict with outcomes as keys and probabilities as values.
          :rtype: dict