class_docstr: Generalizes a function taking scalars to accept multidimensional arguments.
  
  Examples
  ========
  
  >>> from sympy import vectorize, diff, sin, symbols, Function
  >>> x, y, z = symbols('x y z')
  >>> f, g, h = list(map(Function, 'fgh'))
  
  >>> @vectorize(0)
  ... def vsin(x):
  ...     return sin(x)
  
  >>> vsin([1, x, y])
  [sin(1), sin(x), sin(y)]
  
  >>> @vectorize(0, 1)
  ... def vdiff(f, y):
  ...     return diff(f, y)
  
  >>> vdiff([f(x, y, z), g(x, y, z), h(x, y, z)], [x, y, z])
  [[Derivative(f(x, y, z), x), Derivative(f(x, y, z), y), Derivative(f(x, y, z), z)], [Derivative(g(x, y, z), x), Derivative(g(x, y, z), y), Derivative(g(x, y, z), z)], [Derivative(h(x, y, z), x), Derivative(h(x, y, z), y), Derivative(h(x, y, z), z)]]
docstr: The given numbers and strings characterize the arguments that will be
  treated as data structures, where the decorated function will be applied
  to every single element.
  If no argument is given, everything is treated multidimensional.
docstr_tok: ["The","given","numbers","and","strings","characterize","the","arguments","that","will","be","treated","as","data","structures",",","where","the","decorated","function","will","be","applied","to","every","single","element",".","If","no","argument","is","given",",","everything","is","treated","multidimensional","."]
code: def __init__(self, *mdargs):
      """
      The given numbers and strings characterize the arguments that will be
      treated as data structures, where the decorated function will be applied
      to every single element.
      If no argument is given, everything is treated multidimensional.
      """
      for a in mdargs:
          if not isinstance(a, (int, str)):
              raise TypeError("a is of invalid type")
      self.mdargs = mdargs
  
imports: from functools import wraps
label_desc: Use image node_id 1 to create a new vectorize object  with example: obj = vectorize()