code: def exp_and_normalise(lw):
      
      w = np.exp(lw - lw.max())
      return w / w.sum()
docs: Exponentiate, then normalise (so that sum equals one).
  
      Arguments
      ---------
      lw: ndarray
          log weights.
  
      Returns
      -------
      W: ndarray of the same shape as lw
          W = exp(lw) / sum(exp(lw))
  
      Note
      ----
      uses the log_sum_exp trick to avoid overflow (i.e. subtract the max 
      before exponentiating)
  
      See also
      --------
      log_sum_exp
      log_mean_exp