code: def tangent_bundle(self):
          
          if self.ndim == 0:
              return ProductSpace(field=self.field)
          else:
              return ProductSpace(self, self.ndim)
docs: The tangent bundle associated with `domain` using `partition`.
  
          The tangent bundle of a space ``X`` of functions ``R^d --> F`` can be
          interpreted as the space of vector-valued functions ``R^d --> F^d``.
          This space can be identified with the power space ``X^d`` as used
          in this implementation.