def portfolio_return(weights, returns):
    """
    :param weights: weights are a numpy array or Nx1 matrix
    :param returns: returns are a numpy array or Nx1 matrix
    :return: Computes the return on a portfolio from constituent returns and weights
    """
    return weights.T @ returns