Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Sobol Scrambling

Sheridan-Methven__Ol
999 Views

Is there the facility to perform Sobol scrambling in the Intel MKL (or other libraries) in C? The following answer shows how to generate Sobol sequences:

https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/574616#comment-1835500

 

 

0 Kudos
5 Replies
Gennady_F_Intel
Moderator
999 Views

the similar topic was already discussed into this thread - https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/309144

0 Kudos
Sheridan-Methven__Ol
999 Views

Gennady F. (Intel) wrote:

the similar topic was already discussed into this thread - https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/309144

 

Thanks for highlighting this, although it's not clear what the outcome was and if Scrambling was ever implemented. If so then I am still struggling to find the interface. 

0 Kudos
Andrey_N_Intel
Employee
999 Views

Hi Oliver,

What type of the scrambling technique do you keep in mind? While no scrambling techniques are supported in Intel MKL version of Sobol QRNG, its API supports user-defined direction numbers. I wonder, if you can scramble the table of the direction numbers on your side and register this table in the library prior generation of the Sobol sequence? Please, clarify.

Andrey

 

0 Kudos
Sheridan-Methven__Ol
999 Views

Digital scrambling is the first that comes to mind, but I think there is also permutation methods, and a few others, although I am less familiar with those. I expect digital scrambling should be very fast with a reasonable implementation. 

0 Kudos
Gennady_F_Intel
Moderator
999 Views

Hi Olivier,

Support of the scrambled Sobol sequences such as one presented in https://rd.springer.com/chapter/10.1007/3-540-36487-0_8 can logically be decomposed into two steps: 

- modification of the table of the direction numbers according to the algorithm. It can be done on the side of the application. Modified table can be provided into the Intel MKL version of Sobol via dedicated API

- modification of the initial vector of the generator according to the algorithm. It can be done on the side of the application as well. However, the present version of the library does not have capability to provide this vector into Sobol.

Please let us know, if it answers your question.  Also, clarify, if support if this feature in Intel MKL is important for your applications

 

0 Kudos
Reply