docs: def Mu(i, j, s, N, excluded_mu=[]):
      """This function calculates the global index mu for the element i, j.
  
      It returns the index for the real part if s=0 and the one for the
      imaginary part if s=1.
      """
      if i == j:
          if s == -1:
              if i == 1:
                  return 0
              else:
                  mes = 'There is no population rhoii with i='+str(i)+'.'
                  raise ValueError(mes)
          mu = i-1
      elif i > j and s == 1:
          mu = i - j + sum([N-k for k in range(1, j)])+N-1
      elif i > j and s == -1:
          mu = i - j + sum([N-k for k in range(1, j)])+N-1 + N*(N-1)/2
      else:
          mes = 'i='+str(i)+', j='+str(j)
          mes += ' Equations for i<j are not calculated.'+str(s)
          raise ValueError(mes)
  
      if excluded_mu != []:
          mu = mu-len([ii for ii in excluded_mu if ii < mu])
      return mu