summaryrefslogtreecommitdiff
path: root/numpy/core/multiarray.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/multiarray.py')
-rw-r--r--numpy/core/multiarray.py65
1 files changed, 41 insertions, 24 deletions
diff --git a/numpy/core/multiarray.py b/numpy/core/multiarray.py
index f311fad8d..3205f4ecd 100644
--- a/numpy/core/multiarray.py
+++ b/numpy/core/multiarray.py
@@ -26,11 +26,12 @@ __all__ = [
'MAY_SHARE_BOUNDS', 'MAY_SHARE_EXACT', 'NEEDS_INIT', 'NEEDS_PYAPI',
'RAISE', 'USE_GETITEM', 'USE_SETITEM', 'WRAP', '_fastCopyAndTranspose',
'_flagdict', '_insert', '_reconstruct', '_vec_string', '_monotonicity',
- 'add_docstring', 'arange', 'array', 'bincount', 'broadcast',
+ 'add_docstring', 'arange', 'array', 'asarray', 'asanyarray',
+ 'ascontiguousarray', 'asfortranarray', 'bincount', 'broadcast',
'busday_count', 'busday_offset', 'busdaycalendar', 'can_cast',
'compare_chararrays', 'concatenate', 'copyto', 'correlate', 'correlate2',
'count_nonzero', 'c_einsum', 'datetime_as_string', 'datetime_data',
- 'digitize', 'dot', 'dragon4_positional', 'dragon4_scientific', 'dtype',
+ 'dot', 'dragon4_positional', 'dragon4_scientific', 'dtype',
'empty', 'empty_like', 'error', 'flagsobj', 'flatiter', 'format_longfloat',
'frombuffer', 'fromfile', 'fromiter', 'fromstring', 'inner',
'interp', 'interp_complex', 'is_busday', 'lexsort',
@@ -49,6 +50,10 @@ scalar.__module__ = 'numpy.core.multiarray'
arange.__module__ = 'numpy'
array.__module__ = 'numpy'
+asarray.__module__ = 'numpy'
+asanyarray.__module__ = 'numpy'
+ascontiguousarray.__module__ = 'numpy'
+asfortranarray.__module__ = 'numpy'
datetime_data.__module__ = 'numpy'
empty.__module__ = 'numpy'
frombuffer.__module__ = 'numpy'
@@ -244,7 +249,7 @@ def concatenate(arrays, axis=None, out=None, *, dtype=None, casting=None):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.inner)
def inner(a, b):
"""
- inner(a, b)
+ inner(a, b, /)
Inner product of two arrays.
@@ -259,12 +264,16 @@ def inner(a, b):
Returns
-------
out : ndarray
- `out.shape = a.shape[:-1] + b.shape[:-1]`
+ If `a` and `b` are both
+ scalars or both 1-D arrays then a scalar is returned; otherwise
+ an array is returned.
+ ``out.shape = (*a.shape[:-1], *b.shape[:-1])``
Raises
------
ValueError
- If the last dimension of `a` and `b` has different size.
+ If both `a` and `b` are nonscalar and their last dimensions have
+ different sizes.
See Also
--------
@@ -284,8 +293,8 @@ def inner(a, b):
or explicitly::
- np.inner(a, b)[i0,...,ir-1,j0,...,js-1]
- = sum(a[i0,...,ir-1,:]*b[j0,...,js-1,:])
+ np.inner(a, b)[i0,...,ir-2,j0,...,js-2]
+ = sum(a[i0,...,ir-2,:]*b[j0,...,js-2,:])
In addition `a` or `b` may be scalars, in which case::
@@ -300,14 +309,25 @@ def inner(a, b):
>>> np.inner(a, b)
2
- A multidimensional example:
+ Some multidimensional examples:
>>> a = np.arange(24).reshape((2,3,4))
>>> b = np.arange(4)
- >>> np.inner(a, b)
+ >>> c = np.inner(a, b)
+ >>> c.shape
+ (2, 3)
+ >>> c
array([[ 14, 38, 62],
[ 86, 110, 134]])
+ >>> a = np.arange(2).reshape((1,1,2))
+ >>> b = np.arange(6).reshape((3,2))
+ >>> c = np.inner(a, b)
+ >>> c.shape
+ (1, 1, 3)
+ >>> c
+ array([[[1, 3, 5]]])
+
An example where `b` is a scalar:
>>> np.inner(np.eye(2), 7)
@@ -321,7 +341,7 @@ def inner(a, b):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.where)
def where(condition, x=None, y=None):
"""
- where(condition, [x, y])
+ where(condition, [x, y], /)
Return elements chosen from `x` or `y` depending on `condition`.
@@ -593,7 +613,7 @@ def can_cast(from_, to, casting=None):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.min_scalar_type)
def min_scalar_type(a):
"""
- min_scalar_type(a)
+ min_scalar_type(a, /)
For scalar ``a``, returns the data type with the smallest size
and smallest scalar kind which can hold its value. For non-scalar
@@ -805,7 +825,7 @@ def dot(a, b, out=None):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.vdot)
def vdot(a, b):
"""
- vdot(a, b)
+ vdot(a, b, /)
Return the dot product of two vectors.
@@ -863,7 +883,7 @@ def vdot(a, b):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.bincount)
def bincount(x, weights=None, minlength=None):
"""
- bincount(x, weights=None, minlength=0)
+ bincount(x, /, weights=None, minlength=0)
Count number of occurrences of each value in array of non-negative ints.
@@ -999,7 +1019,7 @@ def ravel_multi_index(multi_index, dims, mode=None, order=None):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.unravel_index)
-def unravel_index(indices, shape=None, order=None, dims=None):
+def unravel_index(indices, shape=None, order=None):
"""
unravel_index(indices, shape, order='C')
@@ -1045,9 +1065,6 @@ def unravel_index(indices, shape=None, order=None, dims=None):
(3, 1, 4, 1)
"""
- if dims is not None:
- warnings.warn("'shape' argument should be used instead of 'dims'",
- DeprecationWarning, stacklevel=3)
return (indices,)
@@ -1134,7 +1151,7 @@ def putmask(a, mask, values):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.packbits)
def packbits(a, axis=None, bitorder='big'):
"""
- packbits(a, axis=None, bitorder='big')
+ packbits(a, /, axis=None, bitorder='big')
Packs the elements of a binary-valued array into bits in a uint8 array.
@@ -1192,7 +1209,7 @@ def packbits(a, axis=None, bitorder='big'):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.unpackbits)
def unpackbits(a, axis=None, count=None, bitorder='big'):
"""
- unpackbits(a, axis=None, count=None, bitorder='big')
+ unpackbits(a, /, axis=None, count=None, bitorder='big')
Unpacks elements of a uint8 array into a binary-valued output array.
@@ -1276,7 +1293,7 @@ def unpackbits(a, axis=None, count=None, bitorder='big'):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.shares_memory)
def shares_memory(a, b, max_work=None):
"""
- shares_memory(a, b, max_work=None)
+ shares_memory(a, b, /, max_work=None)
Determine if two arrays share memory.
@@ -1351,7 +1368,7 @@ def shares_memory(a, b, max_work=None):
@array_function_from_c_func_and_dispatcher(_multiarray_umath.may_share_memory)
def may_share_memory(a, b, max_work=None):
"""
- may_share_memory(a, b, max_work=None)
+ may_share_memory(a, b, /, max_work=None)
Determine if two arrays might share memory
@@ -1429,7 +1446,7 @@ def is_busday(dates, weekmask=None, holidays=None, busdaycal=None, out=None):
See Also
--------
- busdaycalendar: An object that specifies a custom set of valid days.
+ busdaycalendar : An object that specifies a custom set of valid days.
busday_offset : Applies an offset counted in valid days.
busday_count : Counts how many valid days are in a half-open date range.
@@ -1504,7 +1521,7 @@ def busday_offset(dates, offsets, roll=None, weekmask=None, holidays=None,
See Also
--------
- busdaycalendar: An object that specifies a custom set of valid days.
+ busdaycalendar : An object that specifies a custom set of valid days.
is_busday : Returns a boolean array indicating valid days.
busday_count : Counts how many valid days are in a half-open date range.
@@ -1586,7 +1603,7 @@ def busday_count(begindates, enddates, weekmask=None, holidays=None,
See Also
--------
- busdaycalendar: An object that specifies a custom set of valid days.
+ busdaycalendar : An object that specifies a custom set of valid days.
is_busday : Returns a boolean array indicating valid days.
busday_offset : Applies an offset counted in valid days.