utilities
Utilities to Support Random Operations and Generating Vectors and Matrices
- quantecon.random.utilities.draw(cdf, size=None)[source]
Generate a random sample according to the cumulative distribution given by cdf. Jit-complied by Numba in nopython mode.
- Parameters:
- cdfarray_like(float, ndim=1)
Array containing the cumulative distribution.
- sizescalar(int), optional(default=None)
Size of the sample. If an integer is supplied, an ndarray of size independent draws is returned; otherwise, a single draw is returned as a scalar.
- Returns:
- scalar(int) or ndarray(int, ndim=1)
Examples
>>> cdf = np.cumsum([0.4, 0.6]) >>> qe.random.draw(cdf) 1 >>> qe.random.draw(cdf, 10) array([1, 0, 1, 0, 1, 0, 0, 0, 1, 0])
- quantecon.random.utilities.probvec(m, k, random_state=None, parallel=True)[source]
Return m randomly sampled probability vectors of dimension k.
- Parameters:
- mscalar(int)
Number of probability vectors.
- kscalar(int)
Dimension of each probability vectors.
- random_stateint or np.random.RandomState/Generator, optional
Random seed (integer) or np.random.RandomState or Generator instance to set the initial state of the random number generator for reproducibility. If None, a randomly initialized RandomState is used.
- parallelbool(default=True)
Whether to use multi-core CPU (parallel=True) or single-threaded CPU (parallel=False). (Internally the code is executed through Numba.guvectorize.)
- Returns:
- xndarray(float, ndim=2)
Array of shape (m, k) containing probability vectors as rows.
Examples
>>> qe.random.probvec(2, 3, random_state=1234) array([[ 0.19151945, 0.43058932, 0.37789123], [ 0.43772774, 0.34763084, 0.21464142]])
- quantecon.random.utilities.sample_without_replacement(n, k, num_trials=None, random_state=None)[source]
Randomly choose k integers without replacement from 0, …, n-1.
- Parameters:
- nscalar(int)
Number of integers, 0, …, n-1, to sample from.
- kscalar(int)
Number of integers to sample.
- num_trialsscalar(int), optional(default=None)
Number of trials.
- random_stateint or np.random.RandomState/Generator, optional
Random seed (integer) or np.random.RandomState or Generator instance to set the initial state of the random number generator for reproducibility. If None, a randomly initialized RandomState is used.
- Returns:
- resultndarray(int, ndim=1 or 2)
Array of shape (k,) if num_trials is None, or of shape (num_trials, k) otherwise, (each row of) which contains k unique random elements chosen from 0, …, n-1.
Examples
>>> qe.random.sample_without_replacement(5, 3, random_state=1234) array([0, 2, 1]) >>> qe.random.sample_without_replacement(5, 3, num_trials=4, ... random_state=1234) array([[0, 2, 1], [3, 4, 0], [1, 3, 2], [4, 1, 3]])