docs: 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