colour.algebra.random Module¶
Random Numbers Utilities¶
Defines random numbers generator objects:
-
colour.algebra.random.
random_triplet_generator
(size, limits=array([[0, 1], [0, 1], [0, 1]]), random_state=<mtrand.RandomState object>)[source]¶ Returns a generator yielding random triplets.
Parameters: - size (integer) – Generator size.
- limits (array_like, (3, 2)) – Random values limits on each triplet axis.
- random_state (RandomState) – Mersenne Twister pseudo-random number generator.
Returns: Random triplets generator.
Return type: generator
Notes
- The doctest is assuming that
np.random.RandomState()
definition will return the same sequence no matter which OS or Python version is used. There is however no formal promise about the prng sequence reproducibility of either Python or Numpy implementations: Laurent. (2012). Reproducibility of python pseudo-random numbers across systems and versions? Retrieved January 20, 2015, from http://stackoverflow.com/questions/8786084/reproducibility-of-python-pseudo-random-numbers-across-systems-and-versions
Examples
>>> from pprint import pprint >>> prng = np.random.RandomState(4) >>> pprint( ... tuple(random_triplet_generator(10, random_state=prng))) (array([ 0.9670298..., 0.5472322..., 0.9726843...]), array([ 0.7148159..., 0.6977288..., 0.2160895...]), array([ 0.9762744..., 0.0062302..., 0.2529823...]), array([ 0.4347915..., 0.7793829..., 0.1976850...]), array([ 0.8629932..., 0.9834006..., 0.1638422...]), array([ 0.5973339..., 0.0089861..., 0.3865712...]), array([ 0.0441600..., 0.9566529..., 0.4361466...]), array([ 0.9489773..., 0.7863059..., 0.8662893...]), array([ 0.1731654..., 0.0749485..., 0.6007427...]), array([ 0.1679721..., 0.7333801..., 0.4084438...]))