naginterfaces.library.rand.int_log(mode, n, a, statecomm, comm=None)[source]

int_log generates a vector of pseudorandom integers from the discrete logarithmic distribution with parameter .

For full information please refer to the NAG Library document for g05tf


A code for selecting the operation to be performed by the function.

Set up reference vector only.

Generate variates using reference vector set up in a prior call to int_log.

Set up reference vector and generate variates.

Generate variates without using the reference vector.


, the number of pseudorandom numbers to be generated.


, the parameter of the logarithmic distribution.

statecommdict, RNG communication object, modified in place

RNG communication structure.

This argument must have been initialized by a prior call to init_repeat() or init_nonrepeat().

commNone or dict, communication object, optional, modified in place

Communication structure for the reference vector.

If , this argument must have been initialized by a prior call to int_log.

If , is not referenced and may be None.

xNone or int, ndarray, shape

The pseudorandom numbers from the specified logarithmic distribution.

(errno )

On entry, .

Constraint: , , or .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

The value of is not the same as when [‘r’] was set up in a previous call.

Previous value of and .

(errno )

On entry, some of the elements of the array [‘r’] have been corrupted or have not been initialized.

(errno )

On entry, [‘state’] vector has been corrupted or not initialized.


int_log generates integers from a discrete logarithmic distribution, where the probability of is


The variates can be generated with or without using a search table and index. If a search table is used then it is stored with the index in a reference vector and subsequent calls to int_log with the same parameter value can then use this reference vector to generate further variates.

One of the initialization functions init_repeat() (for a repeatable sequence if computed sequentially) or init_nonrepeat() (for a non-repeatable sequence) must be called prior to the first call to int_log.


Knuth, D E, 1981, The Art of Computer Programming (Volume 2), (2nd Edition), Addison–Wesley