arrayfire.random module¶
Random engine class and functions to generate random numbers.
-
class
arrayfire.random.
Random_Engine
(engine_type=<RANDOM_ENGINE.PHILOX_4X32_10: 100>, seed=0, engine=None)[source]¶ Bases:
object
Class to handle random number generator engines.
- Parameters
- engine_typeoptional: RANDOME_ENGINE. default: RANDOM_ENGINE.PHILOX
Specifies the type of random engine to be created. Can be one of:
RANDOM_ENGINE.PHILOX_4X32_10
RANDOM_ENGINE.THREEFRY_2X32_16
RANDOM_ENGINE.MERSENNE_GP11213
RANDOM_ENGINE.PHILOX (same as RANDOM_ENGINE.PHILOX_4X32_10)
RANDOM_ENGINE.THREEFRY (same as RANDOM_ENGINE.THREEFRY_2X32_16)
RANDOM_ENGINE.DEFAULT
Not used if engine is not None
- seedoptional int. default: 0
Specifies the seed for the random engine
Not used if engine is not None
- engineoptional ctypes.c_void_p. default: None.
Used a handle created by the C api to create the Random_Engine.
Methods
get_seed
()Get the seed for the random engine.
get_type
()Get the type of the random engine.
set_seed
(seed)Set the seed for the random engine.
set_type
(engine_type)Set the type of the random engine.
-
arrayfire.random.
get_default_random_engine
()[source]¶ Get the default random engine
- Returns
- The default random engine used by randu and randn
-
arrayfire.random.
get_seed
()[source]¶ Get the seed for the random number generator.
- Returns
- seed: int.
Seed for the random number generator
-
arrayfire.random.
randn
(d0, d1=None, d2=None, d3=None, dtype=<Dtype.f32: 0>, engine=None)[source]¶ Create a multi dimensional array containing values from a normal distribution.
- Parameters
- d0int.
Length of first dimension.
- d1optional: int. default: None.
Length of second dimension.
- d2optional: int. default: None.
Length of third dimension.
- d3optional: int. default: None.
Length of fourth dimension.
- dtypeoptional: af.Dtype. default: af.Dtype.f32.
Data type of the array.
- engineoptional: Random_Engine. default: None.
If engine is None, uses a default engine created by arrayfire.
- Returns
- outaf.Array
Multi dimensional array whose elements are sampled from a normal distribution with mean 0 and sigma of 1. - If d1 is None, out is 1D of size (d0,). - If d1 is not None and d2 is None, out is 2D of size (d0, d1). - If d1 and d2 are not None and d3 is None, out is 3D of size (d0, d1, d2). - If d1, d2, d3 are all not None, out is 4D of size (d0, d1, d2, d3).
-
arrayfire.random.
randu
(d0, d1=None, d2=None, d3=None, dtype=<Dtype.f32: 0>, engine=None)[source]¶ Create a multi dimensional array containing values from a uniform distribution.
- Parameters
- d0int.
Length of first dimension.
- d1optional: int. default: None.
Length of second dimension.
- d2optional: int. default: None.
Length of third dimension.
- d3optional: int. default: None.
Length of fourth dimension.
- dtypeoptional: af.Dtype. default: af.Dtype.f32.
Data type of the array.
- engineoptional: Random_Engine. default: None.
If engine is None, uses a default engine created by arrayfire.
- Returns
- outaf.Array
Multi dimensional array whose elements are sampled uniformly between [0, 1]. - If d1 is None, out is 1D of size (d0,). - If d1 is not None and d2 is None, out is 2D of size (d0, d1). - If d1 and d2 are not None and d3 is None, out is 3D of size (d0, d1, d2). - If d1, d2, d3 are all not None, out is 4D of size (d0, d1, d2, d3).
-
arrayfire.random.
set_default_random_engine_type
(engine_type)[source]¶ Set random engine type for default random engine.
- Parameters
- engine_typeRANDOME_ENGINE.
Specifies the type of random engine to be created. Can be one of:
RANDOM_ENGINE.PHILOX_4X32_10
RANDOM_ENGINE.THREEFRY_2X32_16
RANDOM_ENGINE.MERSENNE_GP11213
RANDOM_ENGINE.PHILOX (same as RANDOM_ENGINE.PHILOX_4X32_10)
RANDOM_ENGINE.THREEFRY (same as RANDOM_ENGINE.THREEFRY_2X32_16)
RANDOM_ENGINE.DEFAULT