14 Jan 2021

torchquad

torchquad is a dedicated Python module for numerical integration in arbitrary dimensions.

The main problem with higher-dimensional numerical integration is that the computation simply becomes too costly if n is large, as the number of evaluation points increases exponentiallythis problem is known as the curse of dimensionality. This curse especially affects grid-based methods, but is to some degree also present for Monte Carlo methods, which also require larger numbers of points for convergence in higher dimensions.

Currently there are no public frameworks available for the problem of numerical integration in higher dimensions on the graphics processing unit (GPU). Central processing unit (CPU)-based methods exist, but are far from as efficient as GPU-based ones would be. The torchquad module fills this gap by utilizing GPUs for efficient numerical integration with PyTorch, and is already being used in projects internally at the European Space Agency.

torchquad has now been released in version 0.1, but is constantly under development.

The torchquad module can be installed in some commonly used platforms using pip and conda package managers. For a more thorough introduction please refer to the Example notebook. Please check out our Evaluation notebook for a comparison with standard (CPU-based) tools for numerical integration.

Links

Hamburger icon
Menu
Advanced Concepts Team