Feature
Desired Behavior / Functionality
Low discrepancy sequences could be used as an optional replacement for random number generation for MonteCarlo and VEGAS.
With certain integrands, this could lead to a higher average accuracy.
What Needs to Be Done
- Add a class similar to the RNG class to generate numbers with a low discrepancy sequence instead of a PRNG. An instance of it can be passed as
rng argument to VEGAS and MonteCarlo.
This class could use, for example, PyTorch's and TensorFlow's sobol sequences: https://www.tensorflow.org/api_docs/python/tf/math/sobol_sample, https://pytorch.org/docs/stable/generated/torch.quasirandom.SobolEngine.html
- Add a function to the number generator classes which samples points and use it for MonteCarlo and VEGAS instead of
uniform. In comparison to uniform, the output of this function always corresponds to points in a space, where conceptually a distance function is defined.
- Change
MonteCarlo.get_jit_compiled_integrate so that it works with the number generator class for low discrepancy sequences.
How Can It Be Tested
It can be tested with additional tests in the torchquad/tests folder.
Feature
Desired Behavior / Functionality
Low discrepancy sequences could be used as an optional replacement for random number generation for MonteCarlo and VEGAS.
With certain integrands, this could lead to a higher average accuracy.
What Needs to Be Done
rngargument to VEGAS and MonteCarlo.This class could use, for example, PyTorch's and TensorFlow's sobol sequences: https://www.tensorflow.org/api_docs/python/tf/math/sobol_sample, https://pytorch.org/docs/stable/generated/torch.quasirandom.SobolEngine.html
uniform. In comparison touniform, the output of this function always corresponds to points in a space, where conceptually a distance function is defined.MonteCarlo.get_jit_compiled_integrateso that it works with the number generator class for low discrepancy sequences.How Can It Be Tested
It can be tested with additional tests in the torchquad/tests folder.