tensordot¶
- tensordot(x1: array, x2: array, /, *, axes: int | Tuple[Sequence[int], Sequence[int]] = 2) array¶
Returns a tensor contraction of
x1andx2over specific axes.- Parameters:
x1 (array) – first input array. Should have a numeric data type.
x2 (array) –
second input array. Should have a numeric data type. Corresponding contracted axes of
x1andx2must be equal.Note
Contracted axes (dimensions) must not be broadcasted.
axes (Union[int, Tuple[Sequence[int], Sequence[int]]]) –
number of axes (dimensions) to contract or explicit sequences of axes (dimensions) for
x1andx2, respectively.If
axesis anintequal toN, then contraction must be performed over the lastNaxes ofx1and the firstNaxes ofx2in order. The size of each corresponding axis (dimension) must match. Must be nonnegative.If
Nequals0, the result is the tensor (outer) product.If
Nequals1, the result is the tensor dot product.If
Nequals2, the result is the tensor double contraction (default).
If
axesis a tuple of two sequences(x1_axes, x2_axes), the first sequence must apply tox1and the second sequence tox2. Both sequences must have the same length. Each axis (dimension)x1_axes[i]forx1must have the same size as the respective axis (dimension)x2_axes[i]forx2. Each sequence must consist of unique (nonnegative) integers that specify valid axes for each respective array.
- Returns:
out (array) – an array containing the tensor contraction whose shape consists of the non-contracted axes (dimensions) of the first array
x1, followed by the non-contracted axes (dimensions) of the second arrayx2. The returned array must have a data type determined by Type Promotion Rules.