Dot product of diagonal and non-diagonal arrays.
Computes the matrix product of a diagonal array represented as a vector and a non-diagonal array.
Parameters: | d_gpu : pycuda.gpuarray.GPUArray
a_gpu : pycuda.gpuarray.GPUArray
trans : char
overwrite : bool
handle : int
|
---|---|
Returns: | r_gpu : pycuda.gpuarray.GPUArray
|
Notes
d_gpu and a_gpu must have the same precision data type. d_gpu may be real and a_gpu may be complex, but not vice-versa.
Examples
>>> import pycuda.autoinit
>>> import pycuda.gpuarray as gpuarray
>>> import numpy as np
>>> import linalg
>>> linalg.init()
>>> d = np.random.rand(4)
>>> a = np.random.rand(4, 4)
>>> d_gpu = gpuarray.to_gpu(d)
>>> a_gpu = gpuarray.to_gpu(a)
>>> r_gpu = linalg.dot_diag(d_gpu, a_gpu)
>>> np.allclose(np.dot(np.diag(d), a), r_gpu.get())
True