def METHOD_NAME(self, hyper):
    """
    split hyper and derive c
    """
    c0, slope, sigma, trans = (
        hyper[0],
        hyper[1 : 1 + self.n_pop],
        hyper[1 + self.n_pop : 1 + 2 * self.n_pop],
        hyper[1 + 2 * self.n_pop :],
    )
    c = np.zeros_like(slope)
    c[0] = c0
    for i in range(1, self.n_pop):
        c[i] = c[i - 1] + trans[i - 1] * (slope[i - 1] - slope[i])
    return c, slope, sigma, trans