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

int_geom generates a vector of pseudorandom integers from the discrete geometric distribution with probability of success at a trial.

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


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_geom.

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 geometric distribution representing the probability of success at a single trial.

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_geom.

If , is not referenced and may be None.

xNone or int, ndarray, shape

The pseudorandom numbers from the specified geometric distribution.

(errno )

On entry, .

Constraint: , , or .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

is so small that would have to be larger than the largest representable integer. Use instead.

(errno )

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_geom generates integers from a discrete geometric distribution, where the probability of (a first success after trials) 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_geom with the same parameter value can then use this reference vector to generate further variates. If the search table is not used (as recommended for small values of ) then a direct transformation of uniform variates is used.

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_geom.


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