Replace NaN with zero and infinity with large finite numbers (default behaviour) or with the numbers defined by the user using the nan, posinf and/or neginf keywords.
Roll the specified axis backwards, until it lies in a given position. a Input array. axis : integer The axis to roll backwards. The positions of the other axes do not change relative to one another. start: int, optional The axis is rolled until it lies before this position. The default, 0, results in a “complete” roll.
out (ndarray or 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 array is returned.
Returns:
absolute – An ndarray containing the absolute value of
each element in x. This is a scalar if x is a scalar.
out (ndarray, 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 array is returned.
A tuple (possible only as a keyword argument) must have length equal to the number of outputs.
Returns:
absolute – An ndarray containing the absolute value of each element in x.
x1 (ndarrays or scalar values) – The arrays to be added. If x1.shape != x2.shape, they must be broadcastable to
a common shape (which may be the shape of one or the other).
x2 (ndarrays or scalar values) – The arrays to be added. If x1.shape != x2.shape, they must be broadcastable to
a common shape (which may be the shape of one or the other).
out (ndarray) – 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.
Returns:
add – The sum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
Test whether all array elements along a given axis evaluate to True.
Parameters:
a (ndarray) – Input array or object that can be converted to an array.
axis (None or int or tuple of ints, optional) – Axis or axes along which a logical AND reduction is performed.
The default (axis = None) is to perform a logical AND over
all the dimensions of the input array.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in
the result as dimensions with size one. With this option,
the result will broadcast correctly against the input array.
out (ndarray, optional) – Alternate output array in which to place the result. It must have
the same shape as the expected output and its type is preserved
Returns:
all (ndarray, bool) – A new boolean or array is returned unless out is specified,
in which case a reference to out is returned.
axis (int, optional) – Axis along which to operate. By default, flattened input is used.
out (ndarray, optional) – Alternative output array in which to place the result. Must
be of the same shape and buffer length as the expected output.
See doc.ufuncs (Section “Output arguments”) for more details.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the original arr.
Returns:
max – Maximum of a. If axis is None, the result is an array of dimension 1.
If axis is given, the result is an array of dimension
a.ndim-1.
NaN in the orginal numpy is denoted as nan and will be ignored.
Don’t use max for element-wise comparison of 2 arrays; when
a.shape[0] is 2, maximum(a[0],a[1]) is faster than
max(a,axis=0).
Examples
>>> a=np.arange(4).reshape((2,2))>>> aarray([[0., 1.], [2., 3.]])>>> np.max(a)# Maximum of the flattened arrayarray(3.)>>> np.max(a,axis=0)# Maxima along the first axisarray([2., 3.])>>> np.max(a,axis=1)# Maxima along the second axisarray([1., 3.])
axis (int, optional) – Axis along which to operate. By default, flattened input is used.
out (ndarray, optional) – Alternative output array in which to place the result. Must
be of the same shape and buffer length as the expected output.
See doc.ufuncs (Section “Output arguments”) for more details.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the original arr.
Returns:
min – Minimum of a. If axis is None, the result is an array of dimension 1.
If axis is given, the result is an array of dimension
a.ndim-1.
Element-wise minimum of two arrays, ignoring any nan.
Notes
NaN in the orginal numpy is denoted as nan and will be ignored.
Don’t use min for element-wise comparison of 2 arrays; when
a.shape[0] is 2, minimum(a[0],a[1]) is faster than
min(a,axis=0).
Examples
>>> a=np.arange(4).reshape((2,2))>>> aarray([[0., 1.], [2., 3.]])>>> np.min(a)# Minimum of the flattened arrayarray(0.)>>> np.min(a,axis=0)# Minima along the first axisarray([0., 1.])>>> np.min(a,axis=1)# Minima along the second axisarray([0., 2.])>>> b=np.arange(5,dtype=np.float32)>>> b[2]=np.nan>>> np.min(b)array(0.) # nan will be ignored
Test whether any array element along a given axis evaluates to True.
Returns single boolean unless axis is not None
Parameters:
a (ndarray) – Input array or object that can be converted to an array.
axis (None or int or tuple of ints, optional) – Axis or axes along which a logical AND reduction is performed.
The default (axis = None) is to perform a logical AND over
all the dimensions of the input array.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in
the result as dimensions with size one. With this option,
the result will broadcast correctly against the input array.
out (ndarray, optional) – Alternate output array in which to place the result. It must have
the same shape as the expected output and its type is preserved
Returns:
any (bool or ndarray) – A new boolean or ndarray is returned unless out is specified,
in which case a reference to out is returned.
arr (ndarray) – Values are appended to a copy of this array.
values (ndarray) – These values are appended to a copy of arr. It must be of the
correct shape (the same shape as arr, excluding axis). If
axis is not specified, values can be any shape and will be
flattened before use.
axis (int, optional) – The axis along which values are appended. If axis is not
given, both arr and values are flattened before use.
Returns:
append – A copy of arr with values appended to axis. Note that
append does not occur in-place: a new array is allocated and
filled. If axis is None, out is a flattened array.
Return evenly spaced values within a given interval.
Values are generated within the half-open interval [start,stop)
(in other words, the interval including start but excluding stop).
For integer arguments the function is equivalent to the Python built-in
range function, but returns an ndarray rather than a list.
Parameters:
start (number, optional) – Start of interval. The interval includes this value. The default
start value is 0.
stop (number) – End of interval. The interval does not include this value, except
in some cases where step is not an integer and floating point
round-off affects the length of out.
step (number, optional) – Spacing between values. For any output out, this is the distance
between two adjacent values, out[i+1]-out[i]. The default
step size is 1. If step is specified as a position argument,
start must also be given.
dtype (dtype) – The type of the output array.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
Returns:
arange – Array of evenly spaced values.
For floating point arguments, the length of the result is
ceil((stop-start)/step). Because of floating point overflow,
this rule may result in the last element of out being greater
than stop.
Trigonometric inverse cosine, element-wise.
The inverse of cos so that, if y = cos(x), then x = arccos(y).
Parameters:
x (ndarray) – x-coordinate on the unit circle. For real arguments, the domain is [-1, 1].
out (ndarray, 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 array is returned.
A tuple (possible only as a keyword argument) must have length equal to the number of outputs.
Returns:
angle – The angle of the ray intersecting the unit circle at the given x-coordinate in radians [0, pi].
This is a scalar if x is a scalar.
arccos is a multivalued function: for each x there are infinitely many numbers z such that
cos(z) = x. The convention is to return the angle z whose real part lies in [0, pi].
For real-valued input data types, arccos always returns real output.
For each value that cannot be expressed as a real number or infinity, it yields nan and sets
the invalid floating point error flag.
The inverse cos is also known as acos or cos^-1.
arccosh is a multivalued function: for each x there are infinitely
many numbers z such that cosh(z) = x.
For real-valued input data types, arccosh always returns real output.
For each value that cannot be expressed as a real number or infinity, it
yields nan and sets the invalid floating point error flag.
This function differs from the original numpy.arccosh in the following aspects:
Do not support where, a parameter in numpy which indicates where to calculate.
Do not support complex-valued input.
Cannot cast type automatically. Dtype of out must be same as the expected one.
Cannot broadcast automatically. Shape of out must be same as the expected one.
If x is plain python numeric, the result won’t be stored in out.
x (ndarray or scalar) – y-coordinate on the unit circle.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
angle – Output array is same shape and type as x. This is a scalar if x is a scalar.
The inverse sine of each element in x, in radians and in the
closed interval [-pi/2,pi/2].
arcsin is a multivalued function: for each x there are infinitely
many numbers z such that \(sin(z) = x\). The convention is to
return the angle z whose real part lies in [-pi/2, pi/2].
For real-valued input data types, arcsin always returns real output.
For each value that cannot be expressed as a real number or infinity,
it yields nan and sets the invalid floating point error flag.
The inverse sine is also known as asin or sin^{-1}.
The output ndarray has the same device as the input ndarray.
This function differs from the original numpy.arcsin in
the following aspects:
- Only support ndarray or scalar now.
- where argument is not supported.
- Complex input is not supported.
References
Abramowitz, M. and Stegun, I. A., Handbook of Mathematical Functions,
10th printing, New York: Dover, 1964, pp. 79ff.
http://www.math.sfu.ca/~cbm/aands/
arcsinh is a multivalued function: for each x there are infinitely
many numbers z such that sinh(z) = x.
For real-valued input data types, arcsinh always returns real output.
For each value that cannot be expressed as a real number or infinity, it
yields nan and sets the invalid floating point error flag.
This function differs from the original numpy.arcsinh in the following aspects:
Do not support where, a parameter in numpy which indicates where to calculate.
Do not support complex-valued input.
Cannot cast type automatically. DType of out must be same as the expected one.
Cannot broadcast automatically. Shape of out must be same as the expected one.
If x is plain python numeric, the result won’t be stored in out.
out (ndarray or 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 array is returned.
Returns:
out – Out has the same shape as x. It lies is in
[-pi/2,pi/2] (arctan(+/-inf) returns +/-pi/2).
This is a scalar if x is a scalar.
arctan is a multi-valued function: for each x there are infinitely
many numbers z such that tan(z) = x. The convention is to return
the angle z whose real part lies in [-pi/2, pi/2].
For real-valued input data types, arctan always returns real output.
For each value that cannot be expressed as a real number or infinity,
it yields nan and sets the invalid floating point error flag.
For complex-valued input, we do not have support for them yet.
The inverse tangent is also known as atan or tan^{-1}.
Element-wise arc tangent of x1/x2 choosing the quadrant correctly.
The quadrant (i.e., branch) is chosen so that arctan2(x1,x2) is
the signed angle in radians between the ray ending at the origin and
passing through the point (1,0), and the ray ending at the origin and
passing through the point (x2, x1). (Note the role reversal: the
“y-coordinate” is the first function parameter, the “x-coordinate”
is the second.) By IEEE convention, this function is defined for
x2 = +/-0 and for either or both of x1 and x2 = +/-inf (see
Notes for specific values).
This function is not defined for complex-valued arguments; for the
so-called argument of complex values, use angle.
x2 (ndarray or scalar) – x-coordinates. x2 must be broadcastable to match the shape of
x1 or vice versa.
out (ndarray or 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 array is returned.
Returns:
out – Array of angles in radians, in the range [-pi,pi]. This is a scalar if
x1 and x2 are scalars.
arctanh is a multivalued function: for each x there are infinitely
many numbers z such that tanh(z) = x.
For real-valued input data types, arctanh always returns real output.
For each value that cannot be expressed as a real number or infinity, it
yields nan and sets the invalid floating point error flag.
This function differs from the original numpy.arctanh in the following aspects:
Do not support where, a parameter in numpy which indicates where to calculate.
Do not support complex-valued input.
Cannot cast type automatically. Dtype of out must be same as the expected one.
Cannot broadcast automatically. Shape of out must be same as the expected one.
If x is plain python numeric, the result won’t be stored in out.
Returns the indices of the maximum values along an axis.
Parameters:
a (ndarray) – Input array. Only support ndarrays of dtype float16, float32, and float64.
axis (int, optional) – By default, the index is into the flattened array, otherwise
along the specified axis.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
keepdims (bool) – If True, the reduced axes (dimensions) must be included in the result as
singleton dimensions, and, accordingly, the result must be compatible with
the input array. Otherwise, if False, the reduced axes (dimensions) must
not be included in the result. Default: False .
Returns:
index_array – Array of indices into the array. It has the same shape as a.shape
with the dimension along axis removed.
Return type:
ndarray of indices whose dtype is same as the input ndarray.
Returns the indices of the maximum values along an axis.
Parameters:
a (ndarray) – Input array. Only support ndarrays of dtype float16, float32, and float64.
axis (int, optional) – By default, the index is into the flattened array, otherwise
along the specified axis.
out (ndarray or None, optional) – If provided, the result will be inserted into this array. It should
be of the appropriate shape and dtype.
keepdims (bool) – If True, the reduced axes (dimensions) must be included in the result as
singleton dimensions, and, accordingly, the result must be compatible with
the input array. Otherwise, if False, the reduced axes (dimensions) must
not be included in the result. Default: False .
Returns:
index_array – Array of indices into the array. It has the same shape as a.shape
with the dimension along axis removed.
Return type:
ndarray of indices whose dtype is same as the input ndarray.
axis (int or None, optional) – Axis along which to sort. The default is -1 (the last axis). If None,
the flattened array is used.
descending (bool, optional) – sort order. If True, the returned indices sort x in descending order (by value).
If False, the returned indices sort x in ascending order (by value).Default: False.
stable (bool, optional) – sort stability. If True, the returned indices must maintain the relative order
of x values which compare as equal. If False, the returned indices may or may not
maintain the relative order of x values which compare as equal. Default: True.
Returns:
index_array – Array of indices that sort a along the specified axis.
If a is one-dimensional, a[index_array] yields a sorted a.
More generally, np.take_along_axis(a,index_array,axis=axis)
always yields the sorted a, irrespective of dimensionality.
decimals (int, optional) – Number of decimal places to round to (default: 0). If
decimals is negative, it specifies the number of positions to
the left of the decimal point.
out (ndarray, optional) – Alternative output array in which to place the result. It must have
the same shape and type as the expected output.
Returns:
rounded_array – An array of the same type as x, containing the rounded values.
A reference to the result is returned.
For values exactly halfway between rounded decimal values, NumPy
rounds to the nearest even value. Thus 1.5 and 2.5 round to 2.0,
-0.5 and 0.5 round to 0.0, etc.
This function differs from the original numpy.prod in the following aspects:
Cannot cast type automatically. Dtype of out must be same as the expected one.
Cannot support complex-valued number.
Examples
>>> np.around([0.37,1.64])array([ 0., 2.])>>> np.around([0.37,1.64],decimals=1)array([ 0.4, 1.6])>>> np.around([.5,1.5,2.5,3.5,4.5])# rounds to nearest even valuearray([ 0., 2., 2., 4., 4.])>>> np.around([1,2,3,11],decimals=1)# ndarray of ints is returnedarray([ 1, 2, 3, 11])>>> np.around([1,2,3,11],decimals=-1)array([ 0, 0, 0, 10])
If indices_or_sections is an integer, N, the array will be divided
into N equal arrays along axis. If such a split is not possible,
an array of length l that should be split into n sections, it returns
l % n sub-arrays of size l//n + 1 and the rest of size l//n.
If indices_or_sections is a 1-D array of sorted integers, the entries
indicate where along axis the array is split. For example,
[2,3] would, for axis=0, result in
ary[:2]
ary[2:3]
ary[3:]
If an index exceeds the dimension of the array along axis,
an empty sub-array is returned correspondingly.
Parameters:
ary (ndarray) – Array to be divided into sub-arrays.
indices_or_sections (int or 1-D Python tuple, list or set.) – Param used to determine the number and size of the subarray.
axis (int, optional) – The axis along which to split, default is 0.
ret – An array, or list of arrays, each with a.ndim >= 3.
For example, a 1-D array of shape (N,) becomes a view of shape (1, N, 1),
and a 2-D array of shape (M, N) becomes a view of shape (M, N, 1).
Compute the weighted average along the specified axis.
Parameters:
a (ndarray) – Array containing data to be averaged.
axis (None or int or tuple of ints, optional) – Axis or axes along which to average a.
The default, axis=None, will average over
all of the elements of the input array.
If axis is negative it counts from the last to the first axis.
New in version 1.7.0.
If axis is a tuple of ints, averaging is
performed on all of the axes specified in the tuple
instead of a single axis or all the axes as before.
weights (ndarray, optional) – An array of weights associated with the values in a, must be the same dtype with a.
Each value in a contributes to the average according to its associated weight.
The weights array can either be 1-D (in which case its length must be
the size of a along the given axis) or of the same shape as a.
If weights=None, then all data in a are assumed to have a weight equal to one.
The 1-D calculation is: avg = sum(a * weights) / sum(weights)
The only constraint on weights is that sum(weights) must not be 0.
returned (bool, optional) – Default is False.
If True, the tuple (average, sum_of_weights) is returned,
otherwise only the average is returned.
If weights=None, sum_of_weights is equivalent to
the number of elements over which the average is taken.
out (ndarray, optional) – If provided, the calculation is done into this array.
Returns:
retval, [sum_of_weights] – Return the average along the specified axis.
When returned is True, return a tuple with the average as the first element
and the sum of the weights as the second element. sum_of_weights is of the same type as retval.
If a is integral, the result dtype will be current default dtype, otherwise it will be the same
as dtype of a. (i.e. When npx.is_np_default_dtype() returns False, default dtype is float32; When
npx.is_np_default_dtype() returns True, default dtype is float64.)
Does not guarantee the same behavior with numpy when given float16 dtype and overflow happens
Does not support complex dtype
The dtypes of a and weights must be the same
Integral a results in default dtype.
i.e. When npx.is_np_default_dtype() returns False, default dtype is float32;
When npx.is_np_default_dtype() returns True, default dtype is float64.
>>> np.bincount(np.arange(5,dtype=float))Traceback (most recent call last):File "<stdin>", line 1, in <module>TypeError: array cannot be safely cast to required type
Compute the bit-wise XOR of two arrays element-wise.
Parameters:
x1 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
x2 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
out (ndarray, 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 array is returned.
Shift the bits of and integer to the left. Bits are shifted to the left by
appending x2 0s at the right of x1. Since the internal representation of numbers
is in binary format, this operation is equivalent to x1*2**x2
x2 (ndarray or scalar) – Number of zeros to append to x1. Has to be non-negative. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
out (ndarray, 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 array is returned.
Compute bit-wise inversion, or bit-wise NOT, element-wise.
Computes the bit-wise NOT of the underlying binary representation of
the integers in the input arrays. This ufunc implements the C/Python
operator ~.
Parameters:
x (array_like) – Only integer and boolean types are handled.
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
Compute the bit-wise OR of two arrays element-wise.
Parameters:
x1 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
x2 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
out (ndarray, 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 array is returned.
Shift the bits of and integer to the right. Bits are shifted to the right by
x2. Because the internal representation of numbers is in binary format,
this operation is equivalent to x1/2**x2
x1 – Number of bits to remove at the right of x1. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
out (ndarray, 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 array is returned.
Compute the bit-wise XOR of two arrays element-wise.
Parameters:
x1 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
x2 (ndarray or scalar) – Only integer and boolean types are handled. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which becomes the shape of the output).
out (ndarray, 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 array is returned.
The Blackman window is a taper formed by using the first three
terms of a summation of cosines. It was designed to have close to the
minimal leakage possible. It is close to optimal, only slightly worse
than a Kaiser window.
Parameters:
M (int) – Number of points in the output window. If zero or less, an
empty array is returned.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – The window, with the maximum value normalized to one (the value one
appears only if the number of samples is odd).
When npx.is_np_default_dtype() returns False, default dtype is float32;
When npx.is_np_default_dtype() returns True, default dtype is float64.
Note that you need select numpy.float32 or float64 in this operator.
Most references to the Blackman window come from the signal processing
literature, where it is used as one of many windowing functions for
smoothing values. It is also known as an apodization (which means
“removing the foot”, i.e. smoothing discontinuities at the beginning
and end of the sampled signal) or tapering function. It is known as a
“near optimal” tapering function, almost as good (by some measures)
as the kaiser window.
References
Blackman, R.B. and Tukey, J.W., (1958) The measurement of power spectra,
Dover Publications, New York.
Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing.
Upper Saddle River, NJ: Prentice-Hall, 1999, pp. 468-471.
broadcast – A readonly view on the original array with the given shape. It is
typically not contiguous. Furthermore, more than one element of a
broadcasted array may refer to a single memory location.
Return type:
array
Raises:
MXNetError – If the array is not compatible with the new shape according to NumPy’s
broadcasting rules.
x (ndarray) – The values whose cube-roots are required.
out (ndarray, 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 array is returned.
A tuple (possible only as a keyword argument) must have length equal to the number of outputs.
Returns:
y – An array of the same shape as x, containing the cube cube-root of each element in x.
If out was provided, y is a reference to it. This is a scalar if x is a scalar.
Return the ceiling of the input, element-wise.
The ceil of the ndarray x is the smallest integer i, such that
i >= x. It is often denoted as \(\lceil x \rceil\).
out (ndarray or None) – A location into which the result is stored. If provided, it
must have a same shape that the inputs fill into. If not provided
or None, a freshly-allocated array is returned. The dtype of the
output and input must be the same.
Returns:
y – The ceiling of each element in x, with float dtype.
This is a scalar if x is a scalar.
>>> a=np.array([-1.7,-1.5,-0.2,0.2,1.5,1.7,2.0])>>> np.ceil(a)array([-1., -1., -0., 1., 2., 2., 2.])>>> #if you use parameter out, x and out must be ndarray.>>> a=np.array(1)>>> np.ceil(np.array(3.5),a)array(4.)>>> aarray(4.)
Clip (limit) the values in an array.
Given an interval, values outside the interval are clipped to
the interval edges. For example, if an interval of [0,1]
is specified, values smaller than 0 become 0, and values larger
than 1 become 1.
a_min (scalar or None) – Minimum value. If None, clipping is not performed on lower
interval edge. Not more than one of a_min and a_max may be
None.
a_max (scalar or None) – Maximum value. If None, clipping is not performed on upper
interval edge. Not more than one of a_min and a_max may be
None.
out (ndarray, optional) – The results will be placed in this array. It may be the input
array for in-place clipping. out must be of the right shape
to hold the output. Its type is preserved.
Returns:
clipped_array – An array with the elements of a, but where values
< a_min are replaced with a_min, and those > a_max
with a_max.
Stack 1-D arrays as columns into a 2-D array.
Take a sequence of 1-D arrays and stack them as columns
to make a single 2-D array. 2-D arrays are stacked as-is,
just like with hstack. 1-D arrays are turned into 2-D columns
first.
Returns:
stacked – The array formed by stacking the given arrays.
a1 (sequence of ndarray) – The arrays must have the same shape, except in the dimension
corresponding to axis (the first, by default).
a2 (sequence of ndarray) – The arrays must have the same shape, except in the dimension
corresponding to axis (the first, by default).
... (sequence of ndarray) – The arrays must have the same shape, except in the dimension
corresponding to axis (the first, by default).
axis (int, optional) – The axis along which the arrays will be joined. If axis is None,
arrays are flattened before use. Default is 0.
out (ndarray, optional) – If provided, the destination to place the result. The shape must be
correct, matching that of what concatenate would have returned if no
out argument were specified.
Change the sign of x1 to that of x2, element-wise.
If x2 is a scalar, its sign will be copied to all elements of x1.
Parameters:
x1 (ndarray or scalar) – Values to change the sign of.
x2 (ndarray or scalar) – The sign of x2 is copied to x1.
out (ndarray or None, optional) – A location into which the result is stored. It must be of the
right shape and right type to hold the output. If not provided
or None,a freshly-allocated array is returned.
Returns:
out – The values of x1 with the sign of x2.
This is a scalar if both x1 and x2 are scalars.
x (ndarray or scalar) – Angle, in radians (\(2 \pi\) rad equals 360 degrees).
out (ndarray or None) – 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. The dtype of the
output is the same as that of the input if the input is an ndarray.
Returns:
y – The corresponding cosine values. This is a scalar if x is a scalar.
out (ndarray or None) – 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. The dtype of the
output is the same as that of the input if the input is an ndarray.
Returns:
y – The corresponding hyperbolic cosine values. This is a scalar if x is a scalar.
Return the cross product of two (arrays of) vectors.
The cross product of a and b in \(R^3\) is a vector perpendicular
to both a and b. If a and b are arrays of vectors, the vectors
are defined by the last axis of a and b by default, and these axis
can have dimensions 2 or 3. Where the dimension of either a or b is
2, the third component of the input vector is assumed to be zero and the
cross product calculated accordingly. In cases where both input vectors
have dimension 2, the z-component of the cross product is returned.
axisa (int, optional) – Axis of a that defines the vector(s). By default, the last axis.
axisb (int, optional) – Axis of b that defines the vector(s). By default, the last axis.
axisc (int, optional) – Axis of c containing the cross product vector(s). Ignored if
both input vectors have dimension 2, as the return is scalar.
By default, the last axis.
axis (int, optional) – If defined, the axis of a, b and c that defines the vector(s)
and cross product(s). Overrides axisa, axisb and axisc.
Return the cumulative sum of the elements along a given axis.
Parameters:
a (array_like) – Input array.
axis (int, optional) – Axis along which the cumulative sum is computed. The default
(None) is to compute the cumsum over the flattened array.
dtype (dtype, optional) – Type of the returned array and of the accumulator in which the
elements are summed. If dtype is not specified, it defaults
to the dtype of a, unless a has an integer dtype with a
precision less than that of the default platform integer. In
that case, the default platform integer is used.
out (ndarray, optional) – Alternative output array in which to place the result. It must
have the same shape and buffer length as the expected output
but the type will be cast if necessary. See doc.ufuncs
(Section “Output arguments”) for more details.
Returns:
cumsum_along_axis – A new array holding the result is returned unless out is
specified, in which case a reference to out is returned. The
result has the same size as a, and the same shape as a if
axis is not None or a is a 1-d array.
Return type:
ndarray.
Examples
>>> a=np.array([[1,2,3],[4,5,6]])>>> aarray([[1, 2, 3], [4, 5, 6]])>>> np.cumsum(a)array([ 1, 3, 6, 10, 15, 21])>>> np.cumsum(a,dtype=float)# specifies type of output value(s)array([ 1., 3., 6., 10., 15., 21.])>>> np.cumsum(a,axis=0)# sum over rows for each of the 3 columnsarray([[1, 2, 3], [5, 7, 9]])>>> np.cumsum(a,axis=1)# sum over columns for each of the 2 rowsarray([[ 1, 3, 6], [ 4, 9, 15]])
x (ndarray) – Input value. Elements must be of real value.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The corresponding degree values; if out was supplied this is a
reference to it.
This is a scalar if x is a scalar.
This function differs from the original numpy.degrees in
the following aspects:
- Input type does not support Python native iterables(list, tuple, …). Only ndarray is supported.
- out param: cannot perform auto broadcasting. out ndarray’s shape must be the same as the expected output.
- out param: cannot perform auto type cast. out ndarray’s dtype must be the same as the expected output.
- out param does not support scalar input case.
Extracts a diagonal or constructs a diagonal array.
- 1-D arrays: constructs a 2-D array with the input as its diagonal, all other elements are zero.
- 2-D arrays: extracts the k-th Diagonal
This returns a tuple of indices that can be used to access the main diagonal of an array
a with a.ndim >= 2 dimensions and shape (n, n, …, n). For a.ndim = 2 this is
the usual diagonal, for a.ndim > 2 this is the set of indices to access
a[i, i, …, i] for i = [0..n-1].
Create a two-dimensional array with the flattened input as a diagonal.
Parameters:
v (array_like) – Input data, which is flattened and set as the k-th
diagonal of the output.
k (int, optional) – Diagonal to set; 0, the default, corresponds to the “main” diagonal,
a positive (negative) k giving the number of the diagonal above
(below) the main.
If a is 2-D, returns the diagonal of a with the given offset, i.e., the collection of elements of
the form a[i, i+offset]. If a has more than two dimensions, then the axes specified by axis1 and
axis2 are used to determine the 2-D sub-array whose diagonal is returned. The shape of the
resulting array can be determined by removing axis1 and axis2 and appending an index to the
right equal to the size of the resulting diagonals.
Parameters:
a (ndarray) – Input data from which diagonal are taken.
offset (int, Optional) – Offset of the diagonal from the main diagonal
axis1 (int, Optional) – Axis to be used as the first axis of the 2-D sub-arrays
axis2 (int, Optional) – Axis to be used as the second axis of the 2-D sub-arrays
diff – The n-th differences.
The shape of the output is the same as a except along axis where the dimension is smaller by n.
The type of the output is the same as the type of the difference between any two elements of a.
out (ndarray) – 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.
Returns:
out – This is a scalar if both x1 and x2 are scalars.
This operator now supports automatic type promotion. The resulting type will be determined
according to the following rules:
If both inputs are of floating number types, the output is the more precise type.
If only one of the inputs is floating number type, the result is that type.
If both inputs are of integer types (including boolean), the output is of default dtype.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
out (ndarray, optional) – Output argument. It must have the same shape and type as the expected output.
Returns:
output – Returns the dot product of a and b. If a and b are both
scalars or both 1-D arrays then a scalar is returned; otherwise
an array is returned.
If out is given, then it is returned
Split array into multiple sub-arrays along the 3rd axis (depth).
Please refer to the split documentation. dsplit is equivalent
to split with axis=2, the array is always split along the third
axis provided the array dimension is greater than or equal to 3.
Parameters:
ary (ndarray) – Array to be divided into sub-arrays.
indices_or_sections (int or 1 - D Python tuple, list or set.) –
If indices_or_sections is an integer, N, the array will be divided into N equal arrays
along axis 2. If such a split is not possible, an error is raised.
If indices_or_sections is a 1-D array of sorted integers, the entries indicate where
along axis 2 the array is split. For example, [2,3] would result in
ary[:, :, :2]
ary[:, :, 2:3]
ary[:, :, 3:]
If an index exceeds the dimension of the array along axis 2, an error will be thrown.
Stack arrays in sequence depth wise (along third axis).
This is equivalent to concatenation along the third axis after 2-D arrays
of shape (M,N) have been reshaped to (M,N,1) and 1-D arrays of shape
(N,) have been reshaped to (1,N,1). Rebuilds arrays divided by
dsplit.
This function makes most sense for arrays with up to 3 dimensions. For
instance, for pixel-data with a height (first axis), width (second axis),
and r/g/b channels (third axis). The functions concatenate, stack and
block provide more general stacking and concatenation operations.
Parameters:
tup (sequence of arrays) – The arrays must have the same shape along all but the third axis.
1-D or 2-D arrays must have the same shape.
Returns:
stacked – The array formed by stacking the given arrays, will be at least 3-D.
Evaluates the Einstein summation convention on the operands.
Using the Einstein summation convention, many common multi-dimensional,
linear algebraic array operations can be represented in a simple fashion.
In implicit mode einsum computes these values.
In explicit mode, einsum provides further flexibility to compute
other array operations that might not be considered classical Einstein
summation operations, by disabling, or forcing summation over specified
subscript labels.
See the notes and examples for clarification.
Parameters:
subscripts (str) – Specifies the subscripts for summation as comma separated list of
subscript labels. An implicit (classical Einstein summation)
calculation is performed unless the explicit indicator ‘->’ is
included as well as subscript labels of the precise output form.
operands (list of ndarray) – These are the arrays for the operation.
out (ndarray, optional) – If provided, the calculation is done into this array.
optimize ({False, True}, optional) – Controls if intermediate optimization should occur. No optimization
will occur if False. Defaults to False.
Returns:
output – The calculation based on the Einstein summation convention.
The Einstein summation convention can be used to compute
many multi-dimensional, linear algebraic array operations. einsum
provides a succinct way of representing these.
A non-exhaustive list of these operations,
which can be computed by einsum, is shown below along with examples:
Trace of an array, np.trace().
Return a diagonal, np.diag().
Array axis summations, np.sum().
Transpositions and permutations, np.transpose().
Matrix multiplication and dot product, np.matmul()np.dot().
Vector inner and outer products, np.inner()np.outer().
Broadcasting, element-wise and scalar multiplication, np.multiply().
Tensor contractions, np.tensordot().
The subscripts string is a comma-separated list of subscript labels,
where each label refers to a dimension of the corresponding operand.
Whenever a label is repeated it is summed, so np.einsum('i,i',a,b)
is equivalent to np.inner(a,b). If a label
appears only once, it is not summed, so np.einsum('i',a) produces a
view of a with no changes. A further example np.einsum('ij,jk',a,b)
describes traditional matrix multiplication and is equivalent to
np.matmul(a,b). Repeated subscript labels in one
operand take the diagonal. For example, np.einsum('ii',a) is equivalent
to np.trace(a).
In implicit mode, the chosen subscripts are important
since the axes of the output are reordered alphabetically. This
means that np.einsum('ij',a) doesn’t affect a 2D array, while
np.einsum('ji',a) takes its transpose. Additionally,
np.einsum('ij,jk',a,b) returns a matrix multiplication, while,
np.einsum('ij,jh',a,b) returns the transpose of the
multiplication since subscript ‘h’ precedes subscript ‘i’.
In explicit mode the output can be directly controlled by
specifying output subscript labels. This requires the
identifier ‘->’ as well as the list of output subscript labels.
This feature increases the flexibility of the function since
summing can be disabled or forced when required. The call
np.einsum('i->',a) is like np.sum(a,axis=-1),
and np.einsum('ii->i',a) is like np.diag(a).
The difference is that einsum does not allow broadcasting by default.
Additionally np.einsum('ij,jh->ih',a,b) directly specifies the
order of the output subscript labels and therefore returns matrix
multiplication, unlike the example above in implicit mode.
To enable and control broadcasting, use an ellipsis. Default
NumPy-style broadcasting is done by adding an ellipsis
to the left of each term, like np.einsum('...ii->...i',a).
To take the trace along the first and last axes,
you can do np.einsum('i...i',a), or to do a matrix-matrix
product with the left-most indices instead of rightmost, one can do
np.einsum('ij...,jk...->ik...',a,b).
When there is only one operand, no axes are summed, and no output
parameter is provided, a view into the operand is returned instead
of a new array. Thus, taking the diagonal as np.einsum('ii->i',a)
produces a view.
The optimize argument which will optimize the contraction order
of an einsum expression. For a contraction with three or more operands this
can greatly increase the computational efficiency at the cost of a larger
memory footprint during computation.
Typically a ‘greedy’ algorithm is applied which empirical tests have shown
returns the optimal path in the majority of cases. ‘optimal’ is not supported
for now.
This function differs from the original numpy.einsum in
the following way(s):
Chained array operations. For more complicated contractions, speed ups
might be achieved by repeatedly computing a ‘greedy’ path. Performance
improvements can be particularly significant with larger arrays:
Return a new array with the same shape and type as a given array.
Parameters:
prototype (ndarray) – The shape and data-type of prototype define these same attributes
of the returned array.
dtype (data-type, optional) – Overrides the data type of the result.
order ({'C'}, optional) – Whether to store multidimensional data in C- or Fortran-contiguous
(row- or column-wise) order in memory. Currently only supports C order.
subok ({False}, optional) – If True, then the newly created array will use the sub-class
type of ‘a’, otherwise it will be a base-class array. Defaults
to False.
(Only support False at this moment)
shape (int or sequence of ints, optional.) – Overrides the shape of the result. If order=’K’ and the number of
dimensions is unchanged, will try to keep order, otherwise,
order=’C’ is implied.
(Not supported at this moment)
Returns:
out – Array of uninitialized (arbitrary) data with the same
shape and type as prototype.
Return a new array with shape of input filled with value.
empty
Return a new uninitialized array.
Notes
This function does not initialize the returned array; to do that use
zeros_like or ones_like instead. It may be marginally faster than
the functions that do set the array values.
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
out (ndarray or 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 array is returned.
Returns:
out – Output array, element-wise exponential of x.
This is a scalar if x is a scalar.
out (ndarray or 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 array is returned.
Returns:
out – Output array, element-wise exponential minus one: out = exp(x) - 1.
This is a scalar if x is a scalar.
M (int, optional) – Number of columns in the output. If None, defaults to N.
k (int, optional) – Index of the diagonal: 0 (the default) refers to the main diagonal,
a positive value refers to an upper diagonal,
and a negative value to a lower diagonal.
dtype (data-type, optional) – Data-type of the returned array.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
Returns:
I – An array where all elements are equal to zero,
except for the k-th diagonal, whose values are equal to one.
This function returns the absolute values (positive magnitude) of the
data in x. Complex values are not handled, use absolute to find the
absolute values of complex data.
out (ndarray or 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 array is returned.
Returns:
absolute – An ndarray containing the absolute value of
each element in x. This is a scalar if x is a scalar.
Fill the main diagonal of the given array of any dimensionality.
For an array a with a.ndim>=2, the diagonal is the list of
locations with indices a[i,...,i] all identical. This function
modifies the input array in-place, it does not return a value.
Parameters:
a (array, at least 2-D.) – Array whose diagonal is to be filled, it gets modified in-place.
val (scalar) – Value to be written on the diagonal, its type must be compatible with
that of the array a.
wrap (bool) – For tall matrices in NumPy version up to 1.6.2, the
diagonal “wrapped” after N columns. You can have this behavior
with this option. This affects only tall matrices.
Examples
>>> a=np.zeros((3,3),int)>>> np.fill_diagonal(a,5)>>> aarray([[5, 0, 0], [0, 5, 0], [0, 0, 5]])The same function can operate on a 4-D array:>>> a=np.zeros((3,3,3,3),int)>>> np.fill_diagonal(a,4)We only show a few blocks for clarity:>>> a[0,0]array([[4, 0, 0], [0, 0, 0], [0, 0, 0]])>>> a[1,1]array([[0, 0, 0], [0, 4, 0], [0, 0, 0]])>>> a[2,2]array([[0, 0, 0], [0, 0, 0], [0, 0, 4]])The wrap option affects only tall matrices:>>> # tall matrices no wrap>>> a=np.zeros((5,3),int)>>> np.fill_diagonal(a,4)>>> aarray([[4, 0, 0], [0, 4, 0], [0, 0, 4], [0, 0, 0], [0, 0, 0]])>>> # tall matrices wrap>>> a=np.zeros((5,3),int)>>> np.fill_diagonal(a,4,wrap=True)>>> aarray([[4, 0, 0], [0, 4, 0], [0, 0, 4], [0, 0, 0], [4, 0, 0]])>>> # wide matrices>>> a=np.zeros((3,5),int)>>> np.fill_diagonal(a,4,wrap=True)>>> aarray([[4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0]])The anti-diagonal can be filled by reversing the order of elementsusing either `numpy.flipud` or `numpy.fliplr`.>>> a=np.zeros((3,3),int);>>> np.fill_diagonal(np.fliplr(a),[1,2,3])# Horizontal flip>>> aarray([[0, 0, 1], [0, 2, 0], [3, 0, 0]])>>> np.fill_diagonal(np.flipud(a),[1,2,3])# Vertical flip>>> aarray([[0, 0, 3], [0, 2, 0], [1, 0, 0]])Note that the order in which the diagonal is filled varies dependingon the flip function.
Axis or axes along which to flip over. The default,
axis=None, will flip over all of the axes of the input array.
If axis is negative it counts from the last to the first axis.
If axis is a tuple of ints, flipping is performed on all of the axes
specified in the tuple.
out (ndarray or scalar, optional) – Alternative output array in which to place the result. It must have
the same shape and type as the expected output.
Returns:
out – A view of m with the entries of axis reversed. Since a view is
returned, this operation is done in constant time.
Return the floor of the input, element-wise.
The floor of the ndarray x is the largest integer i, such that
i <= x. It is often denoted as \(\lfloor x \rfloor\).
out (ndarray or None) – A location into which the result is stored. If provided, it
must have a same shape that the inputs fill into. If not provided
or None, a freshly-allocated array is returned. The dtype of the
output and input must be the same.
Returns:
y – The floor of each element in x, with float dtype.
This is a scalar if x is a scalar.
>>> a=np.array([-1.7,-1.5,-0.2,0.2,1.5,1.7,2.0])>>> np.floor(a)array([-2., -2., -1., 0., 1., 1., 2.])>>> #if you use parameter out, x and out must be ndarray.>>> a=np.array(1)>>> np.floor(np.array(3.5),a)array(3.)>>> aarray(3.)
Return the largest integer smaller or equal to the division of the inputs.
It is equivalent to the Python // operator and pairs with the Python % (remainder),
function so that a = a % b + b * (a // b) up to roundoff.
out (ndarray) – 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.
Returns:
out (ndarray or scalar) – This is a scalar if both x1 and x2 are scalars.
.. note:: – This operator now supports automatic type promotion. The resulting type will be determined
according to the following rules:
If both inputs are of floating number types, the output is the more precise type.
If only one of the inputs is floating number type, the result is that type.
If both inputs are of integer types (including boolean), the output is the more
Returns element-wise maximum of the input arrays with broadcasting. (Ignores NaNs)
Parameters:
x1 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
x2 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
Returns:
out – The maximum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
Returns element-wise minimum of the input arrays with broadcasting. (Ignores NaNs)
Parameters:
x1 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
x2 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
Returns:
out – The minimum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
out (ndarray) – 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.
Returns:
out – This is a scalar if both x1 and x2 are scalars.
dtype (data-type, optional) – If dtype is None, the output array data type must be inferred from fill_value.
If it’s an int, the output array dtype must be the default integer dtype;
If it’s a float, then the output array dtype must be the default floating-point data type;
If it’s a bool then the output array must have boolean dtype. Default: None.
order ({'C'}, optional) – Whether to store multidimensional data in C- or Fortran-contiguous
(row- or column-wise) order in memory. Currently only supports C order.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
out – Array of fill_value with the given shape, dtype, and order.
If fill_value is an ndarray, out will have the same device as fill_value
regardless of the provided device.
Return a full array with the same shape and type as a given array.
Parameters:
a (ndarray) – The shape and data-type of a define these same attributes of
the returned array.
fill_value (scalar) – Fill value.
dtype (data-type, optional) – Overrides the data type of the result.
Temporarily do not support boolean type.
order ({'C'}, optional) – Whether to store multidimensional data in C- or Fortran-contiguous
(row- or column-wise) order in memory. Currently only supports C order.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
out – Array of fill_value with the same shape and type as a.
Returns the greatest common divisor of |x1| and |x2|
Parameters:
x1 (ndarrays or scalar values) – The arrays for computing greatest common divisor. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape of
one or the other).
x2 (ndarrays or scalar values) – The arrays for computing greatest common divisor. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape of
one or the other).
out (ndarray or 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 array
is returned.
Returns:
y – The greatest common divisor of the absolute value of the inputs
This is a scalar if both x1 and x2 are scalars.
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
Return the truth value of (x1 >= x2) element-wise.
Parameters:
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
The hamming window is a taper formed by using a weighted cosine.
Parameters:
M (int) – Number of points in the output window. If zero or less, an
empty array is returned.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – The window, with the maximum value normalized to one (the value
one appears only if M is odd).
When npx.is_np_default_dtype() returns False, default dtype is float32;
When npx.is_np_default_dtype() returns True, default dtype is float64.
Note that you need select numpy.float32 or float64 in this operator.
The Hamming was named for R. W. Hamming, an associate of J. W. Tukey
and is described in Blackman and Tukey. It was recommended for
smoothing the truncated autocovariance function in the time domain.
Most references to the Hamming window come from the signal processing
literature, where it is used as one of many windowing functions for
smoothing values. It is also known as an apodization (which means
“removing the foot”, i.e. smoothing discontinuities at the beginning
and end of the sampled signal) or tapering function.
The Hanning window is a taper formed by using a weighted cosine.
Parameters:
M (int) – Number of points in the output window. If zero or less, an
empty array is returned.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – The window, with the maximum value normalized to one (the value
one appears only if M is odd).
When npx.is_np_default_dtype() returns False, default dtype is float32;
When npx.is_np_default_dtype() returns True, default dtype is float64.
Note that you need select numpy.float32 or float64 in this operator.
The Hanning was named for Julius von Hann, an Austrian meteorologist.
It is also known as the Cosine Bell. Some authors prefer that it be
called a Hann window, to help avoid confusion with the very similar
Hamming window.
Most references to the Hanning window come from the signal processing
literature, where it is used as one of many windowing functions for
smoothing values. It is also known as an apodization (which means
“removing the foot”, i.e. smoothing discontinuities at the beginning
and end of the sampled signal) or tapering function.
a (ndarray) – Input data. The histogram is computed over the flattened array.
bins (int or NDArray) – If bins is an int, it defines the number of equal-width
bins in the given range (10, by default). If bins is a
sequence, it defines a monotonically increasing array of bin edges,
including the rightmost edge, allowing for non-uniform bin widths.
.. versionadded:: 1.11.0
If bins is a string, it defines the method used to calculate the
optimal bin width, as defined by histogram_bin_edges.
range ((float, float)) – The lower and upper range of the bins. Required when bins is an integer.
Values outside the range are ignored. The first element of the range must
be less than or equal to the second.
normed (bool, optional) – Not supported yet, coming soon.
weights (array_like, optional) – Not supported yet, coming soon.
density (bool, optional) – Not supported yet, coming soon.
Split an array into multiple sub-arrays horizontally (column-wise).
This is equivalent to split with axis=0 if ary has one
dimension, and otherwise that with axis=1.
Parameters:
ary (ndarray) – Array to be divided into sub-arrays.
indices_or_sections (int, list of ints or tuple of ints.) –
If indices_or_sections is an integer, N, the array will be divided
into N equal arrays along axis. If such a split is not possible,
an error is raised.
If indices_or_sections is a list of sorted integers, the entries
indicate where along axis the array is split.
If an index exceeds the dimension of the array along axis,
it will raises errors. so index must less than or euqal to
the dimension of the array along axis.
If ary has one dimension, ‘axis’ = 0.
>>> x = np.arange(4)
array([0., 1., 2., 3.])
>>> np.hsplit(x, 2)
[array([0., 1.]), array([2., 3.])]
If you want to produce an empty sub-array, you can see an example.
>>> np.hsplit(x, [2, 2])
[array([0., 1.]), array([], dtype=float32), array([2., 3.])]
Stack arrays in sequence horizontally (column wise).
This is equivalent to concatenation along the second axis,
except for 1-D arrays where it concatenates along the first axis.
Rebuilds arrays divided by hsplit.
This function makes most sense for arrays with up to 3 dimensions.
For instance, for pixel-data with a height (first axis), width (second axis),
and r/g/b channels (third axis). The functions concatenate,
stack and block provide more general stacking and concatenation operations.
Parameters:
tup (sequence of ndarrays) – The arrays must have the same shape along all but the second axis, except 1-D arrays which can be any length.
Returns:
stacked – The array formed by stacking the given arrays.
Given the “legs” of a right triangle, return its hypotenuse.
Equivalent to sqrt(x1**2+x2**2), element-wise. If x1 or
x2 is scalar_like (i.e., unambiguously cast-able to a scalar type),
it is broadcast for use with each element of the other argument.
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
Returns:
z – The hypotenuse of the triangle(s).
This is a scalar if both x1 and x2 are scalars.
The identity array is a square array with ones on
the main diagonal.
Parameters:
n (int) – Number of rows (and columns) in n x n output.
dtype (data-type, optional) – Data-type of the output.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – n x n array with its main diagonal set to one,
and all other elements 0.
The output shape is obtained by prepending the number of dimensions
in front of the tuple of dimensions, i.e. if dimensions is a tuple
(r0,...,rN-1) of length N, the output shape is
(N,r0,...,rN-1).
The subarrays grid[k] contains the N-D array of indices along the
k-th axis. Explicitly:
Inner product of two arrays.
Ordinary inner product of vectors for 1-D arrays (without complex
conjugation), in higher dimensions a sum product over the last axes.
Parameters:
a (ndarray) – If a and b are nonscalar, their last dimensions must match.
b (ndarray) – If a and b are nonscalar, their last dimensions must match.
For vectors (1-D arrays) it computes the ordinary inner-product::
np.inner(a, b) = sum(a[:]*b[:])
More generally, if ndim(a) = r > 0 and ndim(b) = s > 0::
np.inner(a, b) = np.tensordot(a, b, axes=(-1,-1))
or explicitly::
np.inner(a, b)[i0,…,ir-1,j0,…,js-1]
= sum(a[i0,…,ir-1,:]*b[j0,…,js-1,:])
In addition a or b may be scalars, in which case::
np.inner(a,b) = a*b
Examples
Ordinary inner product for vectors:
>>> a = np.array([1,2,3])
>>> b = np.array([0,1,0])
>>> np.inner(a, b)
2
A multidimensional example:
>>> a = np.arange(24).reshape((2,3,4))
>>> b = np.arange(4)
>>> np.inner(a, b)
array([[ 14, 38, 62],
obj (int, slice or ndarray of int64) – Object that defines the index or indices before which values is
inserted.
Support for multiple insertions when obj is a single scalar or a
sequence with one element (only support int32 and int64 element).
values (ndarray) – Values to insert into arr.
If the type of values is different from that of arr, values is converted
to the type of arr.
axis (int, optional) – Axis along which to insert values. If axis is None then arr
is flattened first.
Returns:
out – A copy of arr with values inserted. Note that insert
does not occur in-place: a new array is returned. If
axis is None, out is a flattened array.
One-dimensional linear interpolation.
Returns the one-dimensional piecewise linear interpolant to a function
with given values at discrete data-points.
Parameters:
x (ndarray) – The x-coordinates of the interpolated values.
xp (1-D array of floats) – The x-coordinates of the data points, must be increasing if argument
period is not specified. Otherwise, xp is internally sorted after
normalizing the periodic boundaries with xp=xp%period.
fp (1-D array of floats) – The y-coordinates of the data points, same length as xp.
left (optional float corresponding to fp) – Value to return for x < xp[0], default is fp[0].
right (optional float corresponding to fp) – Value to return for x > xp[-1], default is fp[-1].
period (None or float, optional) – A period for the x-coordinates. This parameter allows the proper
interpolation of angular x-coordinates. Parameters left and right
are ignored if period is specified.
.. versionadded:: 1.10.0
Compute bit-wise inversion, or bit-wise NOT, element-wise.
Computes the bit-wise NOT of the underlying binary representation of
the integers in the input arrays. This ufunc implements the C/Python
operator ~.
Parameters:
x (array_like) – Only integer and boolean types are handled.
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – True where x is negative infinity, false otherwise.
This is a scalar if x is a scalar.
Not a Number, positive infinity and negative infinity are considered to be non-finite.
NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754).
This means that Not a Number is not equivalent to infinity.
Also that positive infinity is not equivalent to negative infinity.
But infinity is equivalent to positive infinity. Errors result if the second argument
is also supplied when x is a scalar input, or if first and second arguments have different shapes.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – True where x is positive or negative infinity, false otherwise.
This is a scalar if x is a scalar.
NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754).
This means that Not a Number is not equivalent to infinity.
This function differs from the original numpy.isnan in
the following aspects:
- Does not support complex number for now
- Input type does not support Python native iterables(list, tuple, …).
- out param: cannot perform auto broadcasting. out ndarray’s shape must be the same as the expected output.
- out param: cannot perform auto type cast. out ndarray’s dtype must be the same as the expected output.
- out param does not support scalar input case.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – True where x is NaN, false otherwise.
This is a scalar if x is a scalar.
NumPy uses the IEEE Standard for Binary Floating-Point for Arithmetic (IEEE 754).
This function differs from the original numpy.isinf in
the following aspects:
- Does not support complex number for now
- Input type does not support Python native iterables(list, tuple, …).
- out param: cannot perform auto broadcasting. out ndarray’s shape must be the same as the expected output.
- out param: cannot perform auto type cast. out ndarray’s dtype must be the same as the expected output.
- out param does not support scalar input case.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – True where x is negative infinity, false otherwise.
This is a scalar if x is a scalar.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – True where x is positive infinity, false otherwise.
This is a scalar if x is a scalar.
The function assumes that the number of dimensions of a and b
are the same, if necessary prepending the smallest with ones.
If a.shape = (r0,r1,..,rN) and b.shape = (s0,s1,…,sN),
the Kronecker product has shape (r0*s0, r1*s1, …, rN*SN).
The elements are products of elements from a and b, organized
explicitly by:
Returns the lowest common multiple of |x1| and |x2|
Parameters:
x1 (ndarrays or scalar values) – The arrays for computing lowest common multiple. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape of
one or the other).
x2 (ndarrays or scalar values) – The arrays for computing lowest common multiple. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape of
one or the other).
out (ndarray or 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 array
is returned.
Returns:
y – The lowest common multiple of the absolute value of the inputs
This is a scalar if both x1 and x2 are scalars.
x2 (ndarray or scalar, int) – Array of twos exponents.
out (ndarray, optional) – A location into which the result is stored. If provided, it must have
a shape that the inputs broadcast to. If not, a freshly-allocated array is returned.
Returns:
y – The result of x1*2**x2.
This is a scalar if both x1 and x2 are scalars.
Complex dtypes are not supported, they will raise a TypeError.
Different from numpy, we allow x2 to be float besides int.
ldexp is useful as the inverse of frexp, if used by itself it is
more clear to simply use the expression x1*2**x2.
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
Return the truth value of (x1 <= x2) element-wise.
Parameters:
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
Return evenly spaced numbers over a specified interval.
Returns num evenly spaced samples, calculated over the interval [start, stop].
The endpoint of the interval can optionally be excluded.
Parameters:
start (int or float) – The starting value of the sequence.
stop (int or float) – The end value of the sequence, unless endpoint is set to False. In
that case, the sequence consists of all but the last of num + 1
evenly spaced samples, so that stop is excluded. Note that the step
size changes when endpoint is False.
num (int, optional) – Number of samples to generate. Default is 50. Must be non-negative.
endpoint (bool, optional) – If True, stop is the last sample. Otherwise, it is not included.
Default is True.
retstep (bool, optional) – If True, return (samples, step), where step is the spacing between samples.
dtype (dtype, optional) – The type of the output array. If dtype is not given, infer the data
type from the other input arguments.
axis (int, optional) – The axis in the result to store the samples. Relevant only if start or
stop are array-like. By default (0), the samples will be along a new
axis inserted at the beginning. Use -1 to get an axis at the end.
Returns:
samples (ndarray) – There are num equally spaced samples in the closed interval
[start, stop] or the half-open interval [start, stop)
(depending on whether endpoint is True or False).
step (float, optional) – Only returned if retstep is True
Size of spacing between samples.
Natural logarithm, element-wise.
The natural logarithm log is the inverse of the exponential function,
so that log(exp(x)) = x. The natural logarithm is logarithm in base
e.
Parameters:
x (ndarray) – Input value. Elements must be of real value.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The natural logarithm of x, element-wise.
This is a scalar if x is a scalar.
Currently only supports data of real values and inf as input. Returns data of real value, inf, -inf and
nan according to the input.
This function differs from the original numpy.log in
the following aspects:
- Does not support complex number for now
- Input type does not support Python native iterables(list, tuple, …).
- out param: cannot perform auto broadcasting. out ndarray’s shape must be the same as the expected output.
- out param: cannot perform auto type cast. out ndarray’s dtype must be the same as the expected output.
- out param does not support scalar input case.
Examples
>>> a=np.array([1,np.exp(1),np.exp(2),0],dtype=np.float64)>>> np.log(a)array([ 0., 1., 2., -inf], dtype=float64)>>> # Using default float32 dtype may lead to slightly different behavior:>>> a=np.array([1,np.exp(1),np.exp(2),0],dtype=np.float32)>>> np.log(a)array([ 0., 0.99999994, 2., -inf])>>> np.log(1)0.0
out (ndarray or None) – A location into which t’absolute’, he 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. The dtype of the
output is the same as that of the input if the input is an ndarray.
Returns:
y – The logarithm to the base 10 of x, element-wise. NaNs are
returned where x is negative. This is a scalar if x is a scalar.
out (ndarray or None) – A location into which the result is stored. If provided, it
must have a shape that the inputs fill into. If not provided
or None, a freshly-allocated array is returned. The dtype of the
output and input must be the same.
Returns:
y – Natural logarithm of 1 + x, element-wise. This is a scalar
if x is a scalar.
For real-valued input, log1p is accurate also for x so small
that 1 + x == 1 in floating-point accuracy.
Logarithm is a multivalued function: for each x there is an infinite
number of z such that exp(z) = 1 + x. The convention is to return
the z whose imaginary part lies in [-pi, pi].
For real-valued input data types, log1p always returns real output.
For each value that cannot be expressed as a real number or infinity,
it yields nan and sets the invalid floating point error flag.
cannot support complex-valued input.
out (ndarray or None) – A location into which the result is stored.
If provided, it must have the same shape and type as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The logarithm base two of x, element-wise.
This is a scalar if x is a scalar.
This function differs from the original numpy.log2 in
the following way(s):
- only ndarray or scalar is accpted as valid input, tuple of ndarray is not supported
- broadcasting to out of different shape is currently not supported
- when input is plain python numerics, the result will not be stored in the out param
Logarithm of the sum of exponentiations of the inputs.
Calculates log(exp(x1) + exp(x2)). This function is useful in statistics where
the calculated probabilities of events may be so small as to exceed the range of
normal floating point numbers. In such cases the logarithm of the calculate
probability is stored. This function allows adding probabilities stored
in such a fashion.
x2 (ndarray or scalar, int) – Array of twos exponents.
out (ndarray, optional) – A location into which the result is stored. If provided, it must have
a shape that the inputs broadcast to. If not, a freshly-allocated array is returned.
Returns:
y – Logarithm of exp(x1) + exp(x2). This is a scalar if both x1 and x2 are scalars.
Compute the truth value of x1 AND x2 element-wise.
Parameters:
x1 (array_like) – Logical AND is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
x2 (array_like) – Logical AND is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
Returns:
y – Boolean result of the logical AND operation applied to the elements
of x1 and x2; the shape is determined by broadcasting.
This is a scalar if both x1 and x2 are scalars.
x1 (array_like) – Logical OR is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
x2 (array_like) – Logical OR is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
Returns:
y – Boolean result of the logical OR operation applied to the elements
of x1 and x2; the shape is determined by broadcasting.
This is a scalar if both x1 and x2 are scalars.
Compute the truth value of x1 XOR x2 element-wise.
Parameters:
x1 (array_like) – Logical XOR is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
x2 (array_like) – Logical XOR is applied to the elements of x1 and x2.
If x1.shape!=x2.shape, they must be broadcastable to a common
shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
Returns:
y – Boolean result of the logical XOR operation applied to the elements
of x1 and x2; the shape is determined by broadcasting.
This is a scalar if both x1 and x2 are scalars.
In linear space, the sequence starts at base**start
(base to the power of start) and ends with base**stop
(see endpoint below).
Non-scalar start and stop are now supported.
Parameters:
start (int or float) – base**start is the starting value of the sequence.
stop (int or float) – base**stop is the final value of the sequence, unless endpoint
is False. In that case, num+1 values are spaced over the
interval in log-space, of which all but the last (a sequence of
length num) are returned.
num (integer, optional) – Number of samples to generate. Default is 50.
endpoint (boolean, optional) – If true, stop is the last sample. Otherwise, it is not included.
Default is True.
base (float, optional) – The base of the log space. The step size between the elements in
ln(samples)/ln(base) (or log_base(samples)) is uniform.
Default is 10.0.
dtype (dtype) – The type of the output array. If dtype is not given, infer the data
type from the other input arguments.
axis (int, optional) – The axis in the result to store the samples. Relevant only if start
or stop are array-like. By default (0), the samples will be along a
new axis inserted at the beginning. Now, axis only support axis = 0.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
samples – num samples, equally spaced on a log scale.
Similar to linspace, with the step size specified instead of the number of samples. Note that, when used with a float endpoint, the endpoint may or may not be included.
out (ndarray, optional) – A location into which the result is stored.
If provided, it must have a shape that matches the signature (n,k),(k,m)->(n,m).
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The matrix product of the inputs.
This is a scalar only when both x1, x2 are 1-d vectors.
The behavior depends on the arguments in the following way.
If both arguments are 2-D they are multiplied like conventional matrices.
If either argument is N-D, N > 2, it is treated as a stack of matrices
residing in the last two indexes and broadcast accordingly.
If the first argument is 1-D, it is promoted to a matrix by prepending
a 1 to its dimensions. After matrix multiplication the prepended 1 is removed.
If the second argument is 1-D, it is promoted to a matrix by appending a 1
to its dimensions. After matrix multiplication the appended 1 is removed.
matmul differs from dot in two important ways:
Multiplication by scalars is not allowed, use multiply instead.
Stacks of matrices are broadcast together as if the matrices were elements,
respecting the signature (n,k),(k,m)->(n,m):
>>> a = np.ones([9, 5, 7, 4])
>>> c = np.ones([9, 5, 4, 3])
>>> np.dot(a, c).shape
(9, 5, 7, 9, 5, 3)
>>> np.matmul(a, c).shape
(9, 5, 7, 3)
>>> # n is 7, k is 4, m is 3
Examples
For 2-D arrays it is the matrix product:
>>> a = np.array([[1, 0],
… [0, 1]])
>>> b = np.array([[4, 1],
… [2, 2]])
>>> np.matmul(a, b)
array([[4., 1.],
[2., 2.]])
For 2-D mixed with 1-D, the result is the usual.
>>> a = np.array([[1, 0],
… [0, 1]])
>>> b = np.array([1, 2])
>>> np.matmul(a, b)
array([1., 2.])
>>> np.matmul(b, a)
array([1., 2.])
Broadcasting is conventional for stacks of arrays
>>> a = np.arange(2 * 2 * 4).reshape((2, 2, 4))
>>> b = np.arange(2 * 2 * 4).reshape((2, 4, 2))
>>> np.matmul(a, b).shape
(2, 2, 2)
>>> np.matmul(a, b)[0, 1, 1]
array(98.)
>>> sum(a[0, 1, :] * b[0, :, 1])
array(98.)
Scalar multiplication raises an error.
>>> np.matmul([1, 2], 3)
Traceback (most recent call last):
…
mxnet.base.MXNetError: … : Multiplication by scalars is not allowed.
axis (int, optional) – Axis along which to operate. By default, flattened input is used.
out (ndarray, optional) – Alternative output array in which to place the result. Must
be of the same shape and buffer length as the expected output.
See doc.ufuncs (Section “Output arguments”) for more details.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the original arr.
Returns:
max – Maximum of a. If axis is None, the result is an array of dimension 1.
If axis is given, the result is an array of dimension
a.ndim-1.
NaN in the orginal numpy is denoted as nan and will be ignored.
Don’t use max for element-wise comparison of 2 arrays; when
a.shape[0] is 2, maximum(a[0],a[1]) is faster than
max(a,axis=0).
Examples
>>> a=np.arange(4).reshape((2,2))>>> aarray([[0., 1.], [2., 3.]])>>> np.max(a)# Maximum of the flattened arrayarray(3.)>>> np.max(a,axis=0)# Maxima along the first axisarray([2., 3.])>>> np.max(a,axis=1)# Maxima along the second axisarray([1., 3.])
Returns element-wise maximum of the input arrays with broadcasting.
Parameters:
x1 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
x2 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
Returns:
out – The maximum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
Compute the arithmetic mean along the specified axis.
Returns the average of the array elements.
The average is taken over the flattened array by default, otherwise over the specified axis.
Parameters:
a (ndarray) – ndarray containing numbers whose mean is desired.
axis (None or int or tuple of ints, optional) – Axis or axes along which the means are computed. The default is to compute the mean of the flattened array.
If this is a tuple of ints, a mean is performed over multiple axes,
instead of a single axis or all the axes as before.
dtype (data-type, optional) – Type to use in computing the mean.
For integer inputs, the default is your current default dtype (i.e. When npx.is_np_default_dtype() returns
False, default dtype is float32; When npx.is_np_default_dtype() returns True, default dtype is float64.);
For floating point inputs, it is the same as the input dtype.
out (ndarray, optional) – Alternate output array in which to place the result. The default is None; if provided,
it must have the same shape and type as the expected output
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in the result
as dimensions with size one. With this option, the result will broadcast correctly
against the input array.
If the default value is passed, then keepdims will not be passed through to the mean
method of sub-classes of ndarray, however any non-default value will be. If the sub-class
method does not implement keepdims any exceptions will be raised.
Returns:
m – If out=None, returns a new array containing the mean values,
otherwise a reference to the output array is returned.
This function differs from the original numpy.mean in
the following way(s):
- only ndarray is accepted as valid input, python iterables or scalar is not supported
- default data type for integer input is float32 or float64, which depends on your current default dtype.
When npx.is_np_default_dtype() returns False, default dtype is float32;
When npx.is_np_default_dtype() returns True, default dtype is float64.
Compute the median along the specified axis.
Returns the median of the array elements.
Parameters:
a (array_like) – Input array or object that can be converted to an array.
axis ({int, sequence of int, None}, optional) – Axis or axes along which the medians are computed. The default
is to compute the median along a flattened version of the array.
A sequence of axes is supported since version 1.9.0.
out (ndarray, optional) – Alternative output array in which to place the result. It must
have the same shape and buffer length as the expected output,
but the type (of the output) will be cast if necessary.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the original arr.
Returns:
median – A new array holding the result. If the input contains integers
or floats smaller than float32, then the output data-type is
np.float32. Otherwise, the data-type of the output is the
same as that of the input. If out is specified, that array is
returned instead.
axis (int, optional) – Axis along which to operate. By default, flattened input is used.
out (ndarray, optional) – Alternative output array in which to place the result. Must
be of the same shape and buffer length as the expected output.
See doc.ufuncs (Section “Output arguments”) for more details.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the original arr.
Returns:
min – Minimum of a. If axis is None, the result is an array of dimension 1.
If axis is given, the result is an array of dimension
a.ndim-1.
Element-wise minimum of two arrays, ignoring any nan.
Notes
NaN in the orginal numpy is denoted as nan and will be ignored.
Don’t use min for element-wise comparison of 2 arrays; when
a.shape[0] is 2, minimum(a[0],a[1]) is faster than
min(a,axis=0).
Examples
>>> a=np.arange(4).reshape((2,2))>>> aarray([[0., 1.], [2., 3.]])>>> np.min(a)# Minimum of the flattened arrayarray(0.)>>> np.min(a,axis=0)# Minima along the first axisarray([0., 1.])>>> np.min(a,axis=1)# Minima along the second axisarray([0., 2.])>>> b=np.arange(5,dtype=np.float32)>>> b[2]=np.nan>>> np.min(b)array(0.) # nan will be ignored
Returns element-wise minimum of the input arrays with broadcasting.
Parameters:
x1 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
x2 (scalar or mxnet.numpy.ndarray) – The arrays holding the elements to be compared. They must have the same shape,
or shapes that can be broadcast to a single shape.
Returns:
out – The minimum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
out (ndarray) – 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.
Returns:
out – This is a scalar if both x1 and x2 are scalars.
x1 (ndarrays or scalar values) – The arrays to be multiplied. If x1.shape != x2.shape, they must be broadcastable to
a common shape (which may be the shape of one or the other).
x2 (ndarrays or scalar values) – The arrays to be multiplied. If x1.shape != x2.shape, they must be broadcastable to
a common shape (which may be the shape of one or the other).
out (ndarray) – 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.
Returns:
out – The multiplication of x1 and x2, element-wise. This is a scalar if both x1 and x2
are scalars.
Replace NaN with zero and infinity with large finite numbers (default
behaviour) or with the numbers defined by the user using the nan,
posinf and/or neginf keywords.
If x is inexact, NaN is replaced by zero or by the user defined value in
nan keyword, infinity is replaced by the largest finite floating point
values representable by x.dtype or by the user defined value in
posinf keyword and -infinity is replaced by the most negative finite
floating point values representable by x.dtype or by the user defined
value in neginf keyword.
For complex dtypes, the above is applied to each of the real and
imaginary components of x separately.
If x is not inexact, then no replacements are made.
copy (bool, optional) – Whether to create a copy of x (True) or to replace values
in-place (False). The in-place operation only occurs if
casting to an array does not require a copy.
Default is True.
nan (int, float, optional) – Value to be used to fill NaN values. If no value is passed
then NaN values will be replaced with 0.0.
posinf (int, float, optional) – Value to be used to fill positive infinity values. If no value is
passed then positive infinity values will be replaced with a very
large number.
Value to be used to fill negative infinity values. If no value is
passed then negative infinity values will be replaced with a very
small (or negative) number.
Added in version 1.13.
Returns:
out – x, with the non-finite values replaced. If copy is False, this may
be x itself.
Return the indices of the elements that are non-zero.
Returns a tuple of arrays, one for each dimension of a,
containing the indices of the non-zero elements in that
dimension. The values in a are always returned in
row-major, C-style order.
To group the indices by element, rather than dimension, use argwhere,
which returns a row for each non-zero element.
While the nonzero values can be obtained with a[nonzero(a)], it is
recommended to use x[x.astype(bool)] or x[x!=0] instead, which
will correctly handle 0-d arrays.
A common use for nonzero is to find the indices of an array, where
a condition is True. Given an array a, the condition a > 3 is a
boolean array and since False is interpreted as 0, np.nonzero(a > 3)
yields the indices of the a where the condition is true.
x1 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
x2 (ndarrays or scalars) – Input arrays. If x1.shape!=x2.shape, they must be broadcastable to
a common shape (which becomes the shape of the output).
out (ndarray, None, or tuple of ndarray 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 array is returned.
Returns:
out – Output array of type bool, element-wise comparison of x1 and x2.
This is a scalar if both x1 and x2 are scalars.
Return a new array of given shape and type, filled with ones.
This function currently only supports storing multi-dimensional data
in row-major (C-style).
Parameters:
shape (int or tuple of int) – The shape of the empty array.
dtype (str or numpy.dtype, optional) – An optional value type.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
Note that this behavior is different from NumPy’s ones function where
float64 is the default value.
order ({'C'}, optional, default: 'C') – How to store multi-dimensional data in memory, currently only row-major
(C-style) is supported.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – Array of ones with the given shape, dtype, and device.
Return an array of ones with the same shape and type as a given array.
Parameters:
a (ndarray) – The shape and data-type of a define these same attributes of
the returned array.
dtype (data-type, optional) – Overrides the data type of the result.
Temporarily do not support boolean type.
order ({'C'}, optional) – Whether to store multidimensional data in C- or Fortran-contiguous
(row- or column-wise) order in memory. Currently only supports C order.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
out – Array of ones with the same shape and type as a.
Compute the outer product of two vectors.
Given two vectors, a=[a0,a1,...,aM] and
b=[b0,b1,...,bN],
the outer product [1]_ is::
[[a0*b0 a0*b1 … a0*bN ]
[a1*b0 .
[ … .
[aM*b0 aM*bN ]]
Parameters:
a ((M,) ndarray) – First input vector. Input is flattened if
not already 1-dimensional.
b ((N,) ndarray) – Second input vector. Input is flattened if
not already 1-dimensional.
pad_width ({sequence, array_like, int}) – Number of values padded to the edges of each axis.
((before_1, after_1), … (before_N, after_N)) unique pad widths
for each axis.
((before, after),) yields same before and after pad for each axis.
(pad,) or int is a shortcut for before = after = pad width for all
axes.
q (ndarray) – Percentile or sequence of percentiles to compute.
axis ({int, tuple of int, None}, optional) – Axis or axes along which the percentiles are computed. The default is to
compute the percentile(s) along a flattened version of the array.
out (ndarray, optional) – Alternative output array in which to place the result. It must have the same
shape and buffer length as the expected output, but the type (of the output)
will be cast if necessary.
overwrite_input (bool, optional (Not supported yet)) – If True, then allow the input array a to be modified by intermediate calculations,
to save memory. In this case, the contents of the input a after this function
completes is undefined.
interpolation ({'linear', 'lower', 'higher', 'midpoint', 'nearest'}) – This optional parameter specifies the interpolation method to use when the
desired percentile lies between two data points i < j:
‘linear’: i + (j - i) * fraction, where fraction is the fractional part of the
index surrounded by i and j.
‘lower’: i.
‘higher’: j.
‘nearest’: i or j, whichever is nearest.
‘midpoint’: (i + j) / 2.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in the result as
dimensions with size one. With this option, the result will broadcast
correctly against the original array a.
Evaluate a polynomial at specific values.
If p is of length N, this function returns the value:
p[0]*x**(N-1) + p[1]*x**(N-2) + … + p[N-2]*x + p[N-1]
If x is a sequence, then p(x) is returned for each element of x.
If x is another polynomial then the composite polynomial p(x(t)) is returned.
Parameters:
p (ndarray) – 1D array of polynomial coefficients (including coefficients equal to zero)
from highest degree to the constant term.
x (ndarray) – An array of numbers, at which to evaluate p.
This function differs from the original numpy.polyval in
the following way(s):
- Does not support poly1d.
- X should be ndarray type even if it contains only one element.
out (ndarray) – 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.
Returns:
out – The bases in x1 raised to the exponents in x2.
This is a scalar if both x1 and x2 are scalars.
Return the product of array elements over a given axis.
Parameters:
a (array_like) – Input data.
axis (None or int or tuple of ints, optional) – Axis or axes along which a product is performed. The default,
axis=None, will calculate the product of all the elements in the
input array. If axis is negative it counts from the last to the
first axis.
.. versionadded:: 1.7.0
If axis is a tuple of ints, a product is performed on all of the
axes specified in the tuple instead of a single axis or all the
axes as before.
dtype (dtype, optional) – The type of the returned array, as well as of the accumulator in
which the elements are multiplied. The dtype of a is used by
default unless a has an integer dtype of less precision than the
default platform integer. In that case, if a is signed then the
platform integer is used while if a is unsigned then an unsigned
integer of the same precision as the platform integer is used.
out (ndarray, optional) – Alternative output array in which to place the result. It must have
the same shape as the expected output, but the type of the output
values will be cast if necessary.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in the
result as dimensions with size one. With this option, the result
will broadcast correctly against the input array.
If the default value is passed, then keepdims will not be
passed through to the prod method of sub-classes of
ndarray, however any non-default value will be. If the
sub-class’ method does not implement keepdims any
exceptions will be raised.
initial (scalar, optional) – The starting value for this product. See ~numpy.ufunc.reduce for details.
where (not supported)
Returns:
product_along_axis – An array shaped as a but with the specified axis removed.
Returns a reference to out if specified.
Return type:
ndarray, see dtype parameter above.
Examples
By default, calculate the product of all elements:
>>> np.prod([1.,2.])
2.0
Even when the input array is two-dimensional:
>>> np.prod([[1.,2.],[3.,4.]])
24.0
But we can also specify the axis over which to multiply:
>>> np.prod([[1.,2.],[3.,4.]], axis=1)
array([ 2., 12.])
Or select specific elements to include:
>>> np.prod([1., np.nan, 3.], where=[True, False, True])
3.0
If the type of x is unsigned, then the output type is
the unsigned platform integer:
>>> x = np.array([1, 2, 3], dtype=np.uint8)
>>> np.prod(x).dtype == np.uint
True
If x is of a signed integer type, then the output type
is the default platform integer:
>>> x = np.array([1, 2, 3], dtype=np.int8)
>>> np.prod(x).dtype == int
True
You can also start the product with a value other than one:
>>> np.prod([1, 2], initial=5)
10
mxnet.ndarray.numpy.quantile(a, q, axis=None, out=None, overwrite_input=None, interpolation='linear', keepdims=False)¶
Compute the q-th quantile of the data along the specified axis.
New in version 1.15.0.
Parameters:
a (ndarray) – Input array or object that can be converted to an array.
q (ndarray) – Quantile or sequence of quantiles to compute, which must be between 0 and 1 inclusive.
axis ({int, tuple of int, None}, optional) – Axis or axes along which the quantiles are computed.
The default is to compute the quantile(s) along a flattened version of the array.
out (ndarray, optional) – Alternative output array in which to place the result.
It must have the same shape and buffer length as the expected output,
but the type (of the output) will be cast if necessary.
This optional parameter specifies the interpolation method to use
when the desired quantile lies between two data points i < j:
linear: i + (j - i) * fraction, where fraction is the fractional part of the index surrounded by i and j.
lower: i.
higher: j.
nearest: i or j, whichever is nearest.
midpoint: (i + j) / 2.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left in the result as dimensions with size one.
With this option, the result will broadcast correctly against the original array a.
Returns:
quantile – If q is a single quantile and axis=None, then the result is a scalar.
If multiple quantiles are given, first axis of the result corresponds to the quantiles.
The other axes are the axes that remain after the reduction of a.
If out is specified, that array is returned instead.
Given a vector V of length N, the q-th quantile of V is the value q of the way from the minimum
to the maximum in a sorted copy of V. The values and distances of the two nearest neighbors
as well as the interpolation parameter will determine the quantile if the normalized ranking
does not match the location of q exactly. This function is the same as the median if q=0.5,
the same as the minimum if q=0.0 and the same as the maximum if q=1.0.
This function differs from the original numpy.quantile in
the following aspects:
- q must be ndarray type even if it is a scalar
- do not support overwrite_input
out (ndarray or None) – A location into which the result is stored.
If provided, it must have the same shape and type as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The corresponding radian values. This is a scalar if x is a scalar.
This function differs from the original numpy.radians in
the following way(s):
- only ndarray or scalar is accpted as valid input, tuple of ndarray is not supported
- broadcasting to out of different shape is currently not supported
- when input is plain python numerics, the result will not be stored in the out param
Return a contiguous flattened array.
A 1-D array, containing the elements of the input, is returned. A copy is
made only if needed.
Parameters:
x (ndarray) – Input array. The elements in x are read in row-major, C-style order and
packed as a 1-D array.
order (C, optional) – Only support row-major, C-style order.
Returns:
y – y is an array of the same subtype as x, with shape (x.size,).
Note that matrices are special cased for backward compatibility, if x
is a matrix, then y is a 1-D ndarray.
Return the reciprocal of the argument, element-wise.
Calculates 1/x.
Parameters:
x (ndarray or scalar) – The values whose reciprocals are required.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – Output array is same shape and type as x. This is a scalar if x is a scalar.
This function is not designed to work with integers.
For integer arguments with absolute value larger than 1 the result is
always zero because of the way Python handles integer division. For
integer zero the result is an overflow.
The output ndarray has the same device as the input ndarray.
This function differs from the original numpy.reciprocal in
the following aspects:
- Only support ndarray and scalar now.
- where argument is not supported.
out (ndarray) – 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.
Returns:
out – This is a scalar if both x1 and x2 are scalars.
newshape (int or tuple of ints) – The new shape should be compatible with the original shape. If
an integer, then the result will be a 1-D array of that length.
One shape dimension can be -1. In this case, the value is
inferred from the length of the array and remaining dimensions.
order ({'C'}, optional) – Read the elements of a using this index order, and place the
elements into the reshaped array using this index order. ‘C’
means to read / write the elements using C-like index order,
with the last axis index changing fastest, back to the first
axis index changing slowest. Other order types such as ‘F’/’A’
may be added in the future.
Returns:
reshaped_array – It will be always a copy of the original array. This behavior is different
from the official NumPy reshape operator where views of the original array may be
generated.
Return a new array with the specified shape.
If the new array is larger than the original array, then the new
array is filled with repeated copies of a. Note that this behavior
is different from a.resize(new_shape) which fills with zeros instead
of repeated copies of a.
new_shape (int or tuple of int) – Shape of resized array.
Returns:
reshaped_array – The new array is formed from the data in the old array, repeated
if necessary to fill out the required number of elements. The
data are repeated in the order that they are stored in memory.
Warning: This functionality does not consider axes separately,
i.e. it does not apply interpolation/extrapolation.
It fills the return array with the required number of elements, taken
from a as they are laid out in memory, disregarding strides and axes.
(This is in case the new shape is smaller. For larger, see above.)
This functionality is therefore not suitable to resize images,
or data where each axis represents a separate and distinct entity.
out (ndarray or None) – A location into which the result is stored.
If provided, it must have the same shape and type as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
out – Output array is same shape and type as x. This is a scalar if x is a scalar.
This function differs from the original numpy.rint in
the following way(s):
- only ndarray or scalar is accpted as valid input, tuple of ndarray is not supported
- broadcasting to out of different shape is currently not supported
- when input is plain python numerics, the result will not be stored in the out param
shift (int or tuple of ints) – The number of places by which elements are shifted. If a tuple,
then axis must be a tuple of the same size, and each of the
given axes is shifted by the corresponding number. If an int
while axis is a tuple of ints, then the same value is used for
all given axes.
axis (int or tuple of ints, optional) – Axis or axes along which elements are shifted. By default, the
array is flattened before shifting, after which the original
shape is restored.
Stack arrays in sequence vertically (row wise).
This is equivalent to concatenation along the first axis after 1-D arrays
of shape (N,) have been reshaped to (1,N). Rebuilds arrays divided by
vsplit.
This function makes most sense for arrays with up to 3 dimensions. For
instance, for pixel-data with a height (first axis), width (second axis),
and r/g/b channels (third axis). The functions concatenate and stack
provide more general stacking and concatenation operations.
Parameters:
tup (sequence of ndarrays) – The arrays must have the same shape along all but the first axis.
1-D arrays must have the same length.
Returns:
stacked – The array formed by stacking the given arrays, will be at least 2-D.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – The sign of x.
This is a scalar if x is a scalar.
x (ndarray or scalar) – Angle, in radians (\(2 \pi\) rad equals 360 degrees).
out (ndarray or None) – 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. The dtype of the
output is the same as that of the input if the input is an ndarray.
Returns:
y – The sine of each element of x. This is a scalar if x is a scalar.
out (ndarray or None) – 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. The dtype of the
output is the same as that of the input if the input is an ndarray.
Returns:
y – The corresponding hyperbolic sine values. This is a scalar if x is a scalar.
>>> np.sinh(0)0.0>>> # Example of providing the optional output parameter>>> out1=np.array([0],dtype='f')>>> out2=np.sinh(np.array([0.1]),out1)>>> out2isout1True
axis (int or None, optional) – Axis along which to sort. The default is -1 (the last axis). If None,
the flattened array is used.
descending (bool, optional) – sort order. If True, the returned indices sort x in descending order (by value).
If False, the returned indices sort x in ascending order (by value).Default: False.
stable (bool, optional) – sort stability. If True, the returned indices must maintain the relative order
of x values which compare as equal. If False, the returned indices may or may not
maintain the relative order of x values which compare as equal. Default: True.
Returns:
sorted_array – Array of the same type and shape as a.
This operator does not support different sorting algorithms.
Examples
>>> a=np.array([[1,4],[3,1]])>>> np.sort(a)# sort along the last axisarray([[1, 4], [1, 3]])>>> np.sort(a,axis=None)# sort the flattened arrayarray([1, 1, 3, 4])>>> np.sort(a,axis=0)# sort along the first axisarray([[1, 1], [3, 4]])
ary (ndarray) – Array to be divided into sub-arrays.
indices_or_sections (int or 1-D python tuple, list or set.) –
If indices_or_sections is an integer, N, the array will be divided
into N equal arrays along axis. If such a split is not possible,
an error is raised.
If indices_or_sections is a 1-D array of sorted integers, the entries
indicate where along axis the array is split. For example,
[2,3] would, for axis=0, result in
ary[:2]
ary[2:3]
ary[3:]
If an index exceeds the dimension of the array along axis,
an empty sub-array is returned correspondingly.
axis (int, optional) – The axis along which to split, default is 0.
Return the non-negative square-root of an array, element-wise.
Parameters:
x (ndarray or scalar) – The values whose square-roots are required.
out (ndarray, or 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 array is returned.
Returns:
y – An array of the same shape as x, containing the positive
square-root of each element in x. This is a scalar if x is a scalar.
x (ndarray or scalar) – The values whose squares are required.
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape as the input.
If not provided or None, a freshly-allocated array is returned.
Returns:
y – Output array is same shape and type as x. This is a scalar if x is a scalar.
The output ndarray has the same device as the input ndarray.
This function differs from the original numpy.square in
the following aspects:
- Only support ndarray and scalar now.
- where argument is not supported.
- Complex input is not supported.
Insert, remove, and combine dimensions, and resize existing ones
Examples
>>> x=np.array([[[0],[1],[2]]])>>> x.shape(1, 3, 1)>>> np.squeeze(x).shape(3,)>>> np.squeeze(x,axis=0).shape(3, 1)>>> np.squeeze(x,axis=1).shapeTraceback (most recent call last):...ValueError: cannot select an axis to squeeze out which has size not equal to one>>> np.squeeze(x,axis=2).shape(1, 3)
The axis parameter specifies the index of the new axis in the dimensions of the result.
For example, if axis=0 it will be the first dimension and if axis=-1 it will be the last dimension.
Parameters:
arrays (sequence of ndarray) – Each array must have the same shape.
axis (int, optional) – The axis in the result array along which the input arrays are stacked.
out (ndarray, optional) – If provided, the destination to place the result. The shape must be correct,
matching that of what stack would have returned if no out argument were specified.
Returns:
stacked – The stacked array has one more dimension than the input arrays.
Compute the standard deviation along the specified axis.
Returns the standard deviation, a measure of the spread of a distribution,
of the array elements. The standard deviation is computed for the
flattened array by default, otherwise over the specified axis.
Parameters:
a (ndarray) – Calculate the standard deviation of these values.
axis (None or int or tuple of ints, optional) – Axis or axes along which the standard deviation is computed. The
default is to compute the standard deviation of the flattened array.
.. versionadded:: 1.7.0
If this is a tuple of ints, a standard deviation is performed over
multiple axes, instead of a single axis or all the axes as before.
dtype (dtype, optional) – Type to use in computing the standard deviation. For arrays of
integer type the default is float64, for arrays of float types it is
the same as the array type.
out (ndarray, optional) – Alternative output array in which to place the result. It must have
the same shape as the expected output but the type (of the calculated
values) will be cast if necessary.
ddof (int, optional) – Means Delta Degrees of Freedom. The divisor used in calculations
is N-ddof, where N represents the number of elements.
By default ddof is zero.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the input array.
If the default value is passed, then keepdims will not be
passed through to the std method of sub-classes of
ndarray, however any non-default value will be. If the
sub-class’ method does not implement keepdims any
exceptions will be raised.
Returns:
standard_deviation – If out is None, return a new array containing the standard deviation,
otherwise return a reference to the output array.
x1 (ndarrays or scalar values) – The arrays to be subtracted from each other. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape
of one or the other).
x2 (ndarrays or scalar values) – The arrays to be subtracted from each other. If x1.shape != x2.shape,
they must be broadcastable to a common shape (which may be the shape
of one or the other).
out (ndarray) – 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.
Returns:
subtract – The difference of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.
axis (None or int, optional) – Axis or axes along which a sum is performed. The default,
axis=None, will sum all of the elements of the input array. If
axis is negative it counts from the last to the first axis.
dtype (dtype, optional) – The type of the returned array and of the accumulator in which the
elements are summed. The default type is float32.
If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the input array.
If the default value is passed, then keepdims will not be
passed through to the sum method of sub-classes of
ndarray, however any non-default value will be. If the
sub-classes sum method does not implement keepdims any
exceptions will be raised.
initial (Currently only supports None as input, optional) – Starting value for the sum.
Currently not implemented. Please use None as input or skip this argument.
out (ndarray or None, optional) – Alternative output array in which to place the result. It must have
the same shape and dtype as the expected output.
Returns:
sum_along_axis – An ndarray with the same shape as a, with the specified
axis removed. If an output array is specified, a reference to
out is returned.
When axis is not None, this function does the same thing as “fancy”
indexing (indexing arrays using arrays); however, it can be easier to use
if you need elements along a given axis. A call such as
np.take(arr,indices,axis=3) is equivalent to
arr[:,:,:,indices,...].
Explained without fancy indexing, this is equivalent to the following use
of ndindex, which sets each of ii, jj, and kk to a tuple of
indices:
indices (ndarray) – The indices of the values to extract. Also allow scalars for indices.
axis (int, optional) – The axis over which to select values. By default, the flattened
input array is used.
out (ndarray, optional) – If provided, the result will be placed in this array. It should
be of the appropriate shape and dtype.
mode ({'clip', 'wrap'}, optional) –
Specifies how out-of-bounds indices will behave.
’clip’ – clip to the range (default)
’wrap’ – wrap around
’clip’ mode means that all indices that are too large are replaced
by the index that addresses the last element along that axis. Note
that this disables indexing with negative numbers.
outndarray, None, or tuple of ndarray 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 array is returned. A tuple (possible only as a keyword argument)
must have length equal to the number of outputs.
wherendarray, optional
Values of True indicate to calculate the ufunc at that position,
values of False indicate to leave the value in the output alone.
out (ndarray or None) – A location into which the result is stored. If provided, it
must have a shape that the inputs fill into. If not provided
or None, a freshly-allocated array is returned. The dtype of the
output and input must be the same.
If out is provided, the function writes the result into it,
and returns a reference to out. (See Examples)
- input x does not support complex computation (like imaginary number)
>>> np.tanh(np.pi*1j)
TypeError: type <type ‘complex’> not supported
Examples
>>> np.tanh(np.array[0,np.pi]))array([0. , 0.9962721])>>> np.tanh(np.pi)0.99627207622075>>> # Example of providing the optional output parameter illustrating>>> # that what is returned is a reference to said parameter>>> out1=np.array(1)>>> out2=np.tanh(np.array(0.1),out1)>>> out2isout1True
Compute tensor dot product along specified axes for arrays >= 1-D.
Given two tensors (arrays of dimension greater than or equal to one),
a and b, and an ndarray object containing two ndarray
objects, (a_axes,b_axes), sum the products of a’s and b’s
elements (components) over the axes specified by a_axes and
b_axes. The third argument can be a single non-negative
integer_like scalar, N; if it is such, then the last N
dimensions of a and the first N dimensions of b are summed
over.
If an int N, sum over the last N axes of a and the first N axes
of b in order. The sizes of the corresponding axes must match.
* (2,) ndarray
Or, a list of axes to be summed over, first sequence applying to a,
second to b. Both elements ndarray must be of the same length.
When axes is integer_like, the sequence for evaluation will be: first
the -Nth axis in a and 0th axis in b, and the -1th axis in a and
Nth axis in b last.
When there is more than one axis to sum over - and they are not the last
(first) axes of a (b) - the argument axes should consist of
two sequences of the same length, with the first axis to sum over given
first in both sequences, the second axis second, and so forth.
Construct an array by repeating A the number of times given by reps.
If reps has length d, the result will have dimension of
max(d,A.ndim).
If A.ndim<d, A is promoted to be d-dimensional by prepending new
axes. So a shape (3,) array is promoted to (1, 3) for 2-D replication,
or shape (1, 1, 3) for 3-D replication. If this is not the desired
behavior, promote A to d-dimensions manually before calling this
function.
If A.ndim>d, reps is promoted to A.ndim by pre-pending 1’s to it.
Thus for an A of shape (2, 3, 4, 5), a reps of (2, 2) is treated as
(1, 1, 2, 2).
Parameters:
A (ndarray or scalar) – An input array or a scalar to repeat.
reps (a single integer or tuple of integers) – The number of repetitions of A along each axis.
Return the sum along diagonals of the array.
If a is 2-D, the sum along its diagonal with the given offset
is returned, i.e., the sum of elements a[i,i+offset] for all i.
If a has more than two dimensions, then the axes specified by axis1 and
axis2 are used to determine the 2-D sub-arrays whose traces are returned.
The shape of the resulting array is the same as that of a with axis1
and axis2 removed.
Parameters:
a (ndarray) – Input array, from which the diagonals are taken.
offset (int, optional) – Offset of the diagonal from the main diagonal. Can be both positive
and negative. Defaults to 0.
axis1 (int, optional) – Axes to be used as the first and second axis of the 2-D sub-arrays
from which the diagonals should be taken. Defaults are the first two
axes of a.
axis2 (int, optional) – Axes to be used as the first and second axis of the 2-D sub-arrays
from which the diagonals should be taken. Defaults are the first two
axes of a.
out (ndarray, optional) – Array into which the output is placed. It must be of the right shape
and right type to hold the output.
Returns:
sum_along_diagonals – If a is 2-D, the sum along the diagonal is returned. If a has
larger dimensions, then an array of sums along diagonals is returned.
M (int, optional) – Number of columns in the array.
By default, M is taken equal to N.
k (int, optional) – The sub-diagonal at and below which the array is filled.
k = 0 is the main diagonal, while k < 0 is below it,
and k > 0 is above. The default is 0.
dtype (dtype, optional) – Data type of the returned array. The default is float.
Returns:
tri – Array with its lower triangle filled with ones and zero elsewhere;
in other words T[i,j]==1 for i<=j+k, 0 otherwise.
Compute two different sets of indices to access 4x4 arrays, one for the
lower triangular part starting at the main diagonal, and one starting two
diagonals further right:
The column dimension of the arrays for which the returned
arrays will be valid.
By default m is taken equal to n.
Returns:
inds – The indices for the triangle. The returned tuple contains two arrays,
each with the indices along one dimension of the array. Can be used
to slice a ndarray of shape(n, n).
Compute two different sets of indices to access 4x4 arrays, one for the
upper triangular part starting at the main diagonal, and one starting two
diagonals further right:
Returns a true division of the inputs, element-wise.
Instead of the Python traditional ‘floor division’, this returns a true
division. True division adjusts the output type to present the best
answer, regardless of input types.
out (ndarray) – 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.
Returns:
out – This is a scalar if both x1 and x2 are scalars.
This operator now supports automatic type promotion. The resulting type will be determined
according to the following rules:
If both inputs are of floating number types, the output is the more precise type.
If only one of the inputs is floating number type, the result is that type.
If both inputs are of integer types (including boolean), the output is of default dtype.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
Return the truncated value of the input, element-wise.
The truncated value of the scalar x is the nearest integer i which
is closer to zero than x is. In short, the fractional part of the
signed number x is discarded.
Returns the sorted unique elements of an array. There are three optional
outputs in addition to the unique elements:
the indices of the input array that give the unique values
the indices of the unique array that reconstruct the input array
the number of times each unique value comes up in the input array
Parameters:
ar (ndarray) – Input array. Unless axis is specified, this will be flattened if it
is not already 1-D.
return_index (bool, optional) – If True, also return the indices of ar (along the specified axis,
if provided, or in the flattened array) that result in the unique array.
return_inverse (bool, optional) – If True, also return the indices of the unique array (for the specified
axis, if provided) that can be used to reconstruct ar.
return_counts (bool, optional) – If True, also return the number of times each unique item appears
in ar.
axis (int or None, optional) – The axis to operate on. If None, ar will be flattened. If an integer,
the subarrays indexed by the given axis will be flattened and treated
as the elements of a 1-D array with the dimension of the given axis,
see the notes for more details. The default is None.
Returns:
unique (ndarray) – The sorted unique values.
unique_indices (ndarray, optional) – The indices of the first occurrences of the unique values in the
original array. Only provided if return_index is True.
unique_inverse (ndarray, optional) – The indices to reconstruct the original array from the
unique array. Only provided if return_inverse is True.
unique_counts (ndarray, optional) – The number of times each of the unique values comes up in the
original array. Only provided if return_counts is True.
Notes
When an axis is specified the subarrays indexed by the axis are sorted.
This is done by making the specified axis the first dimension of the array
and then flattening the subarrays in C order. The flattened subarrays are
then viewed as a structured type with each element given a label, with the
effect that we end up with a 1-D array of structured types that can be
treated in the same way as any other 1-D array. The result is that the
flattened subarrays are sorted in lexicographic order starting with the
first element.
This function differs from the original numpy.unique in
the following aspects:
Only support ndarray as input.
Object arrays or structured arrays are not supported.
An integer array whose elements are indices into the flattened version of an array of dimensions shape.
Before version 1.6.0, this function accepted just one index value.
shapetuple of ints
The shape of the array to use for unraveling indices.
Compute the variance along the specified axis.
Returns the variance of the array elements, a measure of the spread of a
distribution. The variance is computed for the flattened array by
default, otherwise over the specified axis.
Parameters:
a (ndarray) – Array containing numbers whose variance is desired. If a is not an
array, a conversion is attempted.
axis (None or int or tuple of ints, optional) – Axis or axes along which the variance is computed. The default is to
compute the variance of the flattened array.
.. versionadded:: 1.7.0
If this is a tuple of ints, a variance is performed over multiple axes,
instead of a single axis or all the axes as before.
dtype (data-type, optional) – Type to use in computing the variance.
For arrays of integer type the default is float32 or ‘float64’,
When npx.is_np_default_dtype() returns False, default dtype is float32,
When npx.is_np_default_dtype() returns True, default dtype is float64;
For arrays of float types it is the same as the array type.
out (ndarray, optional) – Alternate output array in which to place the result. It must have
the same shape as the expected output, but the type is cast if
necessary.
ddof (int, optional) – “Delta Degrees of Freedom”: the divisor used in the calculation is
N-ddof, where N represents the number of elements. By
default ddof is zero.
keepdims (bool, optional) – If this is set to True, the axes which are reduced are left
in the result as dimensions with size one. With this option,
the result will broadcast correctly against the input array.
If the default value is passed, then keepdims will not be
passed through to the var method of sub-classes of
ndarray, however any non-default value will be. If the
sub-class’ method does not implement keepdims any
exceptions will be raised.
Returns:
variance – If out=None, returns a new array containing the variance;
otherwise, a reference to the output array is returned.
Return the dot product of two vectors.
Note that vdot handles multidimensional arrays differently than dot:
it does not perform a matrix product, but flattens input arguments
to 1-D vectors first. Consequently, it should only be used for vectors.
Split an array into multiple sub-arrays vertically (row-wise).
vsplit is equivalent to split with axis=0 (default): the array is always split
along the first axis regardless of the array dimension.
Parameters:
ary (ndarray) – Array to be divided into sub-arrays.
indices_or_sections (int or 1 - D Python tuple, list or set.) –
If indices_or_sections is an integer, N, the array will be divided into N equal arrays
along axis 0. If such a split is not possible, an error is raised.
If indices_or_sections is a 1-D array of sorted integers, the entries indicate where
along axis 0 the array is split. For example, [2,3] would result in
ary[:2]
ary[2:3]
ary[3:]
If an index exceeds the dimension of the array along axis 0, an error will be thrown.
This is equivalent to concatenation along the first axis after 1-D arrays
of shape (N,) have been reshaped to (1,N). Rebuilds arrays divided by
vsplit.
This function makes most sense for arrays with up to 3 dimensions. For
instance, for pixel-data with a height (first axis), width (second axis),
and r/g/b channels (third axis). The functions concatenate and stack
provide more general stacking and concatenation operations.
Parameters:
tup (sequence of ndarrays) – The arrays must have the same shape along all but the first axis.
1-D arrays must have the same length.
Returns:
stacked – The array formed by stacking the given arrays, will be at least 2-D.
Return elements chosen from x or y depending on condition.
Note
When only condition is provided, this function is a shorthand for
np.asarray(condition).nonzero(). The rest of this documentation
covers only the case where all three arguments are provided.
Parameters:
condition (ndarray) – Where True, yield x, otherwise yield y.
x (ndarray) – Values from which to choose. x, y and condition need to be
broadcastable to some shape. x and y must have the same dtype.
y (ndarray) – Values from which to choose. x, y and condition need to be
broadcastable to some shape. x and y must have the same dtype.
Returns:
out – An array with elements from x where condition is True, and elements
from y elsewhere.
Return a new array of given shape and type, filled with zeros.
This function currently only supports storing multi-dimensional data
in row-major (C-style).
Parameters:
shape (int or tuple of int) – The shape of the empty array.
dtype (str or numpy.dtype, optional) – An optional value type.
- When npx.is_np_default_dtype() returns False, default dtype is float32;
- When npx.is_np_default_dtype() returns True, default dtype is float64.
Note that this behavior is different from NumPy’s zeros function where float64
is the default value, here we can set ‘float32’ or ‘float64’ as your default dtype,
because float32 is considered as the default data type in deep learning.
order ({'C'}, optional, default: 'C') – How to store multi-dimensional data in memory, currently only row-major
(C-style) is supported.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
Returns:
out – Array of zeros with the given shape, dtype, and device.
Return an array of zeros with the same shape and type as a given array.
Parameters:
a (ndarray) – The shape and data-type of a define these same attributes of
the returned array.
dtype (data-type, optional) – Overrides the data type of the result.
Temporarily do not support boolean type.
order ({'C'}, optional) – Whether to store multidimensional data in C- or Fortran-contiguous
(row- or column-wise) order in memory. Currently only supports C order.
device (Device, optional) – Device context on which the memory is allocated. Default is
mxnet.device.current_device().
out (ndarray or None, optional) – A location into which the result is stored.
If provided, it must have the same shape and dtype as input ndarray.
If not provided or None, a freshly-allocated array is returned.
Returns:
out – Array of zeros with the same shape and type as a.