code: def rollaxis(vari, axis, start=0):
      
      if isinstance(vari, Poly):
          core_old = vari.A.copy()
          core_new = {}
          for key in vari.keys:
              core_new[key] = rollaxis(core_old[key], axis, start)
          return Poly(core_new, vari.dim, None, vari.dtype)
  
      return numpy.rollaxis(vari, axis, start)
docs: Roll the specified axis backwards, until it lies in a given position.
  
      Args:
          vari (chaospy.poly.base.Poly, numpy.ndarray):
              Input array or polynomial.
          axis (int):
              The axis to roll backwards. The positions of the other axes do not
              change relative to one another.
          start (int):
              The axis is rolled until it lies before thes position.