mode_dot#
- ivy.mode_dot(x, /, matrix_or_vector, mode, transpose=False, *, out=None)[source]#
N-mode product of a tensor and a matrix or vector at the specified mode.
- Parameters:
x (
Union
[Array
,NativeArray
]) – tensor of shape(i_1, ..., i_k, ..., i_N)
matrix_or_vector (
Union
[Array
,NativeArray
]) – 1D or 2D array of shape(J, i_k)
or(i_k, )
matrix or vectors to which to n-mode multiply the tensormode (
int
) – int in the range(1, N)transpose (
Optional
[bool
], default:False
) – If True, the matrix is transposed. For complex tensors, the conjugate transpose is used.out (
Optional
[Array
], default:None
) – optional output array, for writing the result to. It must have a shape that the result can broadcast to.
- Return type:
- Returns:
ivy.Array – mode-mode product of tensor by matrix_or_vector * of shape \((i_1, ..., i_{k-1}, J, i_{k+1}, ..., i_N)\)
if matrix_or_vector is a matrix
of shape \((i_1, ..., i_{k-1}, i_{k+1}, ..., i_N)\) if matrix_or_vector is a vector
- Array.mode_dot(self, /, matrix_or_vector, mode, transpose=False, *, out=None)[source]#
ivy.Array instance method variant of ivy.mode_dot. This method simply wraps the function, and so the docstring for ivy.mode_dot also applies to this method with minimal changes.
- Parameters:
self (
Union
[Array
,NativeArray
]) – tensor of shape(i_1, ..., i_k, ..., i_N)
matrix_or_vector (
Union
[Array
,NativeArray
]) – 1D or 2D array of shape(J, i_k)
or(i_k, )
matrix or vectors to which to n-mode multiply the tensormode (
int
) – int in the range(1, N)transpose (
Optional
[bool
], default:False
) – If True, the matrix is transposed. For complex tensors, the conjugate transpose is used.out (
Optional
[Array
], default:None
) – optional output array, for writing the result to. It must have a shape that the result can broadcast to.
- Return type:
Array
- Returns:
ivy.Array – mode-mode product of tensor by matrix_or_vector * of shape \((i_1, ..., i_{k-1}, J, i_{k+1}, ..., i_N)\) if matrix_or_vector is a matrix * of shape \((i_1, ..., i_{k-1}, i_{k+1}, ..., i_N)\) if matrix_or_vector is a vector
- Container.mode_dot(self, /, matrix_or_vector, mode, transpose=False, *, key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False, out=None)[source]#
ivy.Container instance method variant of ivy.mode_dot. This method simply wraps the function, and so the docstring for ivy.mode_dot also applies to this method with minimal changes.
- Parameters:
x – tensor of shape
(i_1, ..., i_k, ..., i_N)
matrix_or_vector (
Union
[Array
,NativeArray
,Container
]) – 1D or 2D array of shape(J, i_k)
or(i_k, )
matrix or vectors to which to n-mode multiply the tensormode (
Union
[int
,Container
]) – int in the range(1, N)transpose (
Optional
[Union
[bool
,Container
]], default:False
) – If True, the matrix is transposed. For complex tensors, the conjugate transpose is used.out (
Optional
[Container
], default:None
) – optional output array, for writing the result to. It must have a shape that the result can broadcast to.
- Returns:
ivy.Container – mode-mode product of tensor by matrix_or_vector * of shape \((i_1, ..., i_{k-1}, J, i_{k+1}, ..., i_N)\) if matrix_or_vector is a matrix * of shape \((i_1, ..., i_{k-1}, i_{k+1}, ..., i_N)\) if matrix_or_vector is a vector