code: def _upper2lower(ub):
      """
      Convert upper triangular banded matrix to lower banded form.
  
      INPUTS:
         ub  -- an upper triangular banded matrix
  
      OUTPUTS: lb
         lb  -- a lower triangular banded matrix with same entries
                as ub
      """
  
      lb = np.zeros(ub.shape, ub.dtype)
      nrow, ncol = ub.shape
      for i in range(ub.shape[0]):
          lb[i, 0 : (ncol - i)] = ub[nrow - 1 - i, i:ncol]
          lb[i, (ncol - i) :] = ub[nrow - 1 - i, 0:i]
      return lb
  
imports: import numpy
  import numpy.linalg
  from scipy.linalg import solveh_banded
  from scipy.optimize import golden
  from models import _hbspline
  import warnings
label_desc: Use image node_id 2 for calling a global function with example usage: _upper2lower(ub) and returns: lb