<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_plan_from_semi_dual(alpha, b, C, regul):
 """ 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. """

    X = alpha[:, np.newaxis] - C
    return regul.max_Omega(X, b)[1] * b