code: def prior_rev(C, alpha=-1.0):
      r
      ind = np.triu_indices(C.shape[0])
      B = np.zeros(C.shape)
      B[ind] = alpha
      return B
docs: r"""Prior counts for sampling of reversible transition
      matrices.
  
      Prior is defined as
  
      b_ij= alpha if i<=j
      b_ij=0         else
  
      The reversible prior adds -1 to the upper triagular part of
      the given count matrix. This prior respects the fact that
      for a reversible transition matrix the degrees of freedom
      correspond essentially to the upper, respectively the lower
      triangular part of the matrix.
  
      Parameters
      ----------
      C : (M, M) ndarray or scipy.sparse matrix
          Count matrix
      alpha : float (optional)
          Value of prior counts
  
      Returns
      -------
      B : (M, M) ndarray
          Matrix of prior counts