exp(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
Some inconsistencies with the Dask version may exist.
Calculate the exponential of all elements in the input array.
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 $x = \ln y = \log_e y$
, then $e^x = y$
. For real input, exp(x)
is always positive.
For complex arguments, x = a + ib
, we can write $e^x = e^a e^{ib}$
. The first term, $e^a$
, is already known (it is the real argument, described above). The second term, $e^{ib}$
, is $\cos b + i \sin b$
, a function with magnitude 1 and a periodic phase.
Input values.
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 array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.
This condition is broadcast over the input. At locations where the condition is True, the :None:None:`out`
array will be set to the ufunc result. Elsewhere, the :None:None:`out`
array will retain its original value. Note that if an uninitialized :None:None:`out`
array is created via the default out=None
, locations within it where the condition is False will remain uninitialized.
For other keyword-only arguments, see the ufunc docs <ufuncs.kwargs>
.
Output array, element-wise exponential of x
. This is a scalar if x
is a scalar.
This docstring was copied from numpy.exp.
exp2
Calculate 2**x
for all elements in the array.
expm1
Calculate exp(x) - 1
for all elements in the array.
Plot the magnitude and phase of exp(x)
in the complex plane:
>>> import matplotlib.pyplot as plt # doctest: +SKIPThis example is valid syntax, but we were not able to check execution
>>> x = np.linspace(-2*np.pi, 2*np.pi, 100) # doctest: +SKIPThis example is valid syntax, but we were not able to check execution
... xx = x + 1j * x[:, np.newaxis] # a + ib over complex plane # doctest: +SKIP
... out = np.exp(xx) # doctest: +SKIP
>>> plt.subplot(121) # doctest: +SKIPThis example is valid syntax, but we were not able to check execution
... plt.imshow(np.abs(out), # doctest: +SKIP
... extent=[-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi], cmap='gray')
... plt.title('Magnitude of exp(x)') # doctest: +SKIP
>>> plt.subplot(122) # doctest: +SKIPSee :
... plt.imshow(np.angle(out), # doctest: +SKIP
... extent=[-2*np.pi, 2*np.pi, -2*np.pi, 2*np.pi], cmap='hsv')
... plt.title('Phase (angle) of exp(x)') # doctest: +SKIP
... plt.show() # doctest: +SKIP
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them