def __init__(self, N, a, b, c, **kwargs):
        """Implements update for lower triangular Toeplitz transitions A.

        a: represents the diagonals of a lower triangular Toeplitz transition matrix
        b: B transition matrix
        c: scaling factors

        A = c a c^{-1}, B = c b (note that c represents \Lambda^{-1} in the HiPPO paper)
        """

        super().__init__(N, {'a': a, 'c': c, 'b': b}, **kwargs)
        e = torch.zeros(N)
        e[0] = 1.0
        self.register_buffer('e', e) # for convenience
Implements update for lower triangular Toeplitz transitions A.

        a: represents the diagonals of a lower triangular Toeplitz transition matrix
        b: B transition matrix
        c: scaling factors

        A = c a c^{-1}, B = c b (note that c represents \Lambda^{-1} in the HiPPO paper)
        
analyze/convnexts4nd/src/models/hippo/transition.py