skcuda.cublas.cublasZscal

skcuda.cublas.cublasZscal(handle, n, alpha, x, incx)[source]

Scale a double precision complex vector by a double precision complex scalar.

Replaces a double precision complex vector x with alpha * x.

Parameters:
  • handle (int) – CUBLAS context.
  • n (int) – Number of elements in input vectors.
  • alpha (numpy.complex128) – Scalar multiplier.
  • x (ctypes.c_void_p) – Pointer to double precision complex input/output vector.
  • incx (int) – Storage spacing between elements of x.

Examples

>>> import pycuda.autoinit
>>> import pycuda.gpuarray as gpuarray
>>> import numpy as np
>>> x = (np.random.rand(5)+1j*np.random.rand(5)).astype(np.complex128)
>>> x_gpu = gpuarray.to_gpu(x)
>>> alpha = np.complex128(np.random.rand()+1j*np.random.rand())
>>> h = cublasCreate()
>>> cublasZscal(h, x.size, alpha, x_gpu.gpudata, 1)
>>> cublasDestroy(h)
>>> np.allclose(x_gpu.get(), alpha*x)
True

References

cublas<t>scal