pytaco.dot
- pytaco.dot(t1, t2, out_format=mode_format(compressed), dtype=None)
The dot product of two tensors.
This implements the same spec as NumPy but allows for sparse taco tensors as operands.
If both t1 and t2 are 1-D then this is an inner product.
If either operand is a scalar, this is equivalent to element-wise multiply.
Equivalent to matrix multiplication if both tensors are 2-D
If t1 is N-D and t2 is 1-D,t is a sum product over the last axis of t1 and t2
if t1 is an N-D array and t2 is an M-D array (where M>=2), it is a sum product over the last axis of t1 and the second-to-last axis of t2:
We could write this using index expressions for two 3-D tensors as:
T[i, j, k, m] = t1[i, j, l] * t2[k, l, m]
In the above, T = dot(t1, t2)
- Parameters
- t1, t2: tensors, array_like
The arguments to dot. The side of the last dimension of t1 must be equal to the size of the second to last dimension of t2.
- out_format: format, mode_format, optional
If a
format
is specified, the result tensor is stored in the format out_format.If a
mode_format
is specified, the result the result tensor has a with all of the dimensions stored in themode_format
passed in.
- dtype: Datatype
The datatype of the output tensor.
- Returns
- res: tensor
The dot product of the input tensors.
Examples
>>> import pytaco as pt >>> pt.dot(3, 4)[0] 12.0 >>> a = [[1, 0], [0, 1]] >>> b = [[4, 1], [2, 2]] >>> pt.dot(a, b).to_array() array([[4, 1], [2, 2]], dtype=int64)