Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
vRngMultinomial
Generates multinomially distributed random numbers.
Syntax
status = virngmultinomial( method, stream, n, r, ntrial, k, p );
Include Files
- mkl.fi
 - mkl_vsl.f90
 
Input Parameters
- method
 -  
     
INTEGER, INTENT(IN)
Generation method. The specific value is as follows:
VSL_RNG_METHOD_MULTINOMIAL_MULTPOISSON
 - stream
 -  
     
TYPE (VSL_STREAM_STATE), INTENT(IN)
Pointer to the stream state structure.
 - n
 -  
     
INTEGER, INTENT(IN)
Number of random values to be generated.
 - ntrial
 -  
     
INTEGER(KIND=4), INTENT(IN)
Number of independent trials m.
 - k
 -  
     
INTEGER(KIND=4), INTENT(IN)
Number of possible outcomes.
 - p
 -  
     
REAL(KIND=8), INTENT(IN)
Probability vector of k possible outcomes.
 
Output Parameters
- r
 -  
     
INTEGER(KIND=4), INTENT(OUT)
Array of n random vectors of dimension k.
 
Description
The vRngMultinomial function generates multinomially distributed random numbers with m independent trials and k possible mutually exclusive outcomes, with corresponding probabilities pi, where pi∈R; 0 ≤pi≤ 1, m∈N, k∈N.
The probability distribution is given by:
 
   
Product and Performance Information  |  
       
|---|
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex. Notice revision #20201201  |  
       
Return Values
- VSL_ERROR_OK, VSL_STATUS_OK
 -  
     
Indicates no error (execution was successful).
 - VSL_ERROR_NULL_PTR
 -  
     
stream is a NULL pointer.
 - VSL_RNG_ERROR_BAD_STREAM
 -  
     
stream is not a valid random stream.
 - VSL_RNG_ERROR_BAD_UPDATE
 -  
     
A callback function for an abstract BRNG returns an invalid number of updated entries in a buffer; that is, < 0 or > nmax.
 - VSL_RNG_ERROR_NO_NUMBERS
 -  
     
A callback function for an abstract BRNG returns 0 as the number of updated entries in a buffer.
 - VSL_RNG_ERROR_ARS5_NOT_SUPPORTED
 -  
     
An ARS-5 random number generator is not supported on the CPU running the application.
 - VSL_DISTR_MULTINOMIAL_BAD_PROBABILITY_ARRAY
 -  
     
Bad multinomial distribution probability array.