code: def exp(x, out=None, where=None, **kwargs):
      r"""
      Calculate the exponential of all elements in the input tensor.
  
      Parameters
      ----------
      x : array_like
          Input values.
      out : Tensor, None, or tuple of Tensor and None, optional
          A location into which the result is stored. If provided, it must have
          a shape that the inputs broadcast to. If not provided or `None`,
          a freshly-allocated tensor is returned. A tuple (possible only as a
          keyword argument) must have length equal to the number of outputs.
      where : array_like, optional
          Values of True indicate to calculate the ufunc at that position, values
          of False indicate to leave the value in the output alone.
      **kwargs
          For other keyword-only arguments, see the
          :ref:`ufunc docs <ufuncs.kwargs>`.
  
      Returns
      -------
      out : Tensor
          Output tensor, element-wise exponential of `x`.
  
      See Also
      --------
      expm1 : Calculate ``exp(x) - 1`` for all elements in the array.
      exp2  : Calculate ``2**x`` for all elements in the array.
  
      Notes
      -----
      The irrational number ``e`` is also known as Euler's number.  It is
      approximately 2.718281, and is the base of the natural logarithm,
      ``ln`` (this means that, if :math:`x = \ln y = \log_e y`,
      then :math:`e^x = y`. For real input, ``exp(x)`` is always positive.
  
      For complex arguments, ``x = a + ib``, we can write
      :math:`e^x = e^a e^{ib}`.  The first term, :math:`e^a`, is already
      known (it is the real argument, described above).  The second term,
      :math:`e^{ib}`, is :math:`\cos b + i \sin b`, a function with
      magnitude 1 and a periodic phase.
  
      References
      ----------
      .. [1] Wikipedia, "Exponential function",
             http://en.wikipedia.org/wiki/Exponential_function
      .. [2] M. Abramovitz and I. A. Stegun, "Handbook of Mathematical Functions
             with Formulas, Graphs, and Mathematical Tables," Dover, 1964, p. 69,
             http://www.math.sfu.ca/~cbm/aands/page_69.htm
  
      Examples
      --------
      Plot the magnitude and phase of ``exp(x)`` in the complex plane:
  
      >>> import mars.tensor as mt
      >>> import matplotlib.pyplot as plt
  
      >>> x = mt.linspace(-2*mt.pi, 2*mt.pi, 100)
      >>> xx = x + 1j * x[:, mt.newaxis] # a + ib over complex plane
      >>> out = mt.exp(xx)
  
      >>> plt.subplot(121)
      >>> plt.imshow(mt.abs(out).execute(),
      ...            extent=[-2*mt.pi, 2*mt.pi, -2*mt.pi, 2*mt.pi], cmap='gray')
      >>> plt.title('Magnitude of exp(x)')
  
      >>> plt.subplot(122)
      >>> plt.imshow(mt.angle(out).execute(),
      ...            extent=[-2*mt.pi, 2*mt.pi, -2*mt.pi, 2*mt.pi], cmap='hsv')
      >>> plt.title('Phase (angle) of exp(x)')
      >>> plt.show()
      """
      op = TensorExp(**kwargs)
      return op(x, out=out, where=where)
  
file_path: mars/mars/tensor/arithmetic/exp.py
imports: import numpy
  from ...None import opcodes
  from ..utils import infer_dtype
  from .core import TensorUnaryOp
  from .utils import arithmetic_operand
label_desc: Use image node_id 1 for calling a global function with example usage: exp(x, out, where) and returns: op