cunumeric.dot#
- cunumeric.dot(a, b, out=None)#
Dot product of two arrays. Specifically,
If both a and b are 1-D arrays, it is inner product of vectors (without complex conjugation).
If both a and b are 2-D arrays, it is matrix multiplication, but using
a @ b
is preferred.If either a or b is 0-D (scalar), it is equivalent to
multiply()
and usingcunumeric.multiply(a, b)
ora * b
is preferred.If a is an N-D array and b is a 1-D array, it is a sum product over the last axis of a and b.
If a is an N-D array and b is an M-D array (where
M>=2
), it is a sum product over the last axis of a and the second-to-last axis of b:dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
- Parameters
a (array_like) – First argument.
b (array_like) – Second argument.
out (ndarray, optional) – Output argument. This must have the exact shape that would be returned if it was not present. If its dtype is not what would be expected from this operation, then the result will be (unsafely) cast to out.
- Returns
output – Returns the dot product of a and b. If out is given, then it is returned.
- Return type
Notes
The cuNumeric implementation is a little more liberal than NumPy in terms of allowed broadcasting, e.g.
dot(ones((3,1)), ones((4,5)))
is allowed.Except for the inner-product case, only floating-point types are supported.
See also
- Availability
Multiple GPUs, Multiple CPUs