code: def prange(N=1, dim=1):
      
      A = {}
      r = numpy.arange(N, dtype=int)
      key = numpy.zeros(dim, dtype=int)
      for i in range(N):
          key[-1] = i
          A[tuple(key)] = 1*(r==i)
  
      return Poly(A, dim, (N,), int)
docs: Constructor to create a range of polynomials where the exponent vary.
  
      Args:
          N (int):
              Number of polynomials in the array.
          dim (int):
              The dimension the polynomial should span.
  
      Returns:
          (Poly):
              A polynomial array of length N containing simple polynomials with
              increasing exponent.
  
      Examples:
          >>> print(prange(4))
          [1, q0, q0^2, q0^3]
          >>> print(prange(4, dim=3))
          [1, q2, q2^2, q2^3]