def __init__(self, comp=False, **kwargs):
        """
        comp: Use Companion matrix parameterization (SpaceTime).
        """
        super().__init__(**kwargs)
        self.comp = comp

        # Initialize dt, A, B, C
        inv_dt = self.init_dt()
        A, P, B, C = self.init_ssm_dplr()

        # Materialize dense A, B, C
        if self.comp:
            # Special case for companion matrix parameterization
            A = torch.zeros_like(_conj(A))
        else:
            A = torch.diag_embed(_conj(A)) \
                - contract('r s p, r s q -> s p q', _conj(P), _conj(P).conj())
        self.N *= 2  # Double N again since no conjugate symmetry
        B, C = _conj(B), _conj(C)


        self.register_params(A, B, C, inv_dt)

        comp: Use Companion matrix parameterization (SpaceTime).
        
analyze/convnexts4nd/src/models/sequence/kernels/ssm.py