def assertSingleClass(self,P):
        """ 
        Check whether the rate/probability matrix consists of a single connected class.
        If this is not the case, the steady state distribution is not well defined.
        """
        components, _ = csgraph.connected_components(P, directed=True, connection='weak')   
        assert components==1, "The Markov chain has %r communicating classes. Make sure there is a single communicating class." %components