code: def get_plan_from_semi_dual(alpha, b, C, regul):
      
      X = alpha[:, np.newaxis] - C
      return regul.max_Omega(X, b)[1] * b
docs: Retrieve optimal transportation plan from optimal semi-dual potentials.
  
      Parameters
      ----------
      alpha: array, shape = len(a)
          Optimal semi-dual potentials.
      b: array, shape = len(b)
          Second input histogram (should be non-negative and sum to 1).
      C: array, shape = len(a) x len(b)
          Ground cost matrix.
      regul: Regularization object
          Should implement a delta_Omega(X) method.
  
      Returns
      -------
      T: array, shape = len(a) x len(b)
          Optimal transportation plan.