skcuda.integrate.trapz2d

skcuda.integrate.trapz2d(x_gpu, dx=1.0, dy=1.0, handle=None)[source]

2D trapezoidal integration.

Parameters:
  • x_gpu (pycuda.gpuarray.GPUArray) – Input matrix to integrate.
  • dx (float) – X-axis spacing.
  • dy (float) – Y-axis spacing
  • handle (int) – CUBLAS context. If no context is specified, the default handle from skcuda.misc._global_cublas_handle is used.
Returns:

result – Definite double integral as approximated by the trapezoidal rule.

Return type:

float

Examples

>>> import pycuda.autoinit
>>> import pycuda.gpuarray
>>> import numpy as np
>>> import integrate
>>> integrate.init()
>>> x = np.asarray(np.random.rand(10, 10), np.float32)
>>> x_gpu = gpuarray.to_gpu(x)
>>> z = integrate.trapz2d(x_gpu)
>>> np.allclose(np.trapz(np.trapz(x)), z)
True