Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Sobol initialization question

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

Petros_Mamales

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-23-2013
01:56 PM

11 Views

Sobol initialization question

In the documentation provided in this web page :

http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/vslnotes/8_4_9_SOBOL.htm

it is stated that unless one declares in params[2] that they want to overwrite the first dimension (or 0th for c/c++ programmers), they need

s-1 primitive polynomials and s-1 directional vecvtors.

"The number of polynomials (and the number of rows in the table) depends on the initialization mode for the first dimension. In the default initialization mode (see [Brat88] for details) it is enough to pass into the library dimen -1 primitive polynomials (correspondingly, the number of rows in the table of initial direction numbers also equals dimen -1). To override default initialization for the first dimension, set VSL_QRNG_OVERRIDE_1ST_DIM_INIT indicator in params[2]:"

However, in the example provided in the folder vslc of the recent release of mkl 11, inthe file %mklroot%\\examples\vslc\source\soboluserdirnums.c

one notices that although no indication is provided in params[2] for overriding the 1st dimension, dimension ( instead of dimension-1) rows of direction vectors are passed in .

Which one of the two is the correct one ? Apparently the first (c-0th) row is all 1's , which is the default for the direction vectors if not overwritten - please correct me if I am wrong.

In the event someone wanted to overwrite the first dimension what would be the polynomial (c-0th) that they should input in params? 1 ?

Thank you very much in advance,

P-

3 Replies

Highlighted
##

Chao_Y_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-24-2013
10:42 PM

11 Views

Hello,

Some comments from function experts:

Expected behavior of the Sobol initialization is described in the documentation, and the example mentioned below follows this description.

Overriding 1st dimension is possible when user provides initial direction numbers and/or polynomials VSL_USER_INIT_DIRECTION_NUMBERS | VSL_USER_PRIMITIVE_POLYMS.

The library initializes direction numbers for 1st dim with ones, if 1st dimension is not overridden; and computes direction numbers for 1st dim from user-provided initial direction number/polynomials, otherwise. Sizes of arrays which contain initial parameters are set accordingly, dim or dim-1

If the users calculates table of direction numbers on their side, they can provides them by specifying VSL_USER_DIRECTION_NUMBERS mode. Overriding 1st dimension is not applicable in this case, thus, size of the table is dim x 32

Thanks,

Chao

Highlighted
##

Petros_Mamales

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-26-2013
12:02 PM

11 Views

Hi Chao Y,

Thank you for the response - for some reason I just saw it now although had been checking ..

There is still something unclear though:

when you write:

"Overriding 1st dimension is not applicable in this case, thus, size of the table is dim x 32"

seems contradictory to me. Do you mean to say thatnotoverriding the first dimension is not an option ? O/wise how can I provide with a table of dimx32?

Thank you again,

P-

Highlighted
##

Petros_Mamales

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-26-2013
02:11 PM

11 Views

Hi Chao Y,

Apologies, I was misunderstanding something constantly. The idea is that when one uses (not initial) direction numbers, the polynomials degrees etc are ,of course, useless .

Thank you for your help,

P-

ps: and I a understand now your writting to mean that this option is not there and I should provide with the first dimension direction number.

For more complete information about compiler optimizations, see our Optimization Notice.