scikits.cuda.integrate.trapz2d

scikits.cuda.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 scikits.misc._global_cublas_handle is used.

Returns:

result : float

Definite double integral as approximated by the trapezoidal rule.

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