code: def _golbub_welsch(orders, coeff1, coeff2):
      
      abscisas, weights = [], []
  
      for dim, order in enumerate(orders):
          if order:
              bands = numpy.zeros((2, order))
              bands[0] = coeff1[dim, :order]
              bands[1, :-1] = numpy.sqrt(coeff2[dim, 1:order])
              vals, vecs = scipy.linalg.eig_banded(bands, lower=True)
  
              abscisa, weight = vals.real, vecs[0, :]**2
              indices = numpy.argsort(abscisa)
              abscisa, weight = abscisa[indices], weight[indices]
  
          else:
              abscisa, weight = numpy.array([coeff1[dim, 0]]), numpy.array([1.])
  
          abscisas.append(abscisa)
          weights.append(weight)
      return abscisas, weights
docs: Recurrence coefficients to abscisas and weights.