nlcpy.random.Generator.permutation

Generator.permutation(self, x)

Randomly permutes a sequence, or returns a permuted range.

If x is a multi-dimensional array, it is only shuffled along it first index.

Parameters
xint or array_like

If x is an integer, randomly permute vp.arange(x). If x is an array, make a copy and shuffle the elements randomly.

Returns
outndarray

Permuted sequence or array range.

Examples

>>> import nlcpy as vp
>>> rng = vp.random.default_rng()
>>> rng.permutation(10)   
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6]) # random
>>> rng.permutation([1, 4, 9, 12, 15])   
array([15,  1,  9,  4, 12]) # random
>>> arr = vp.arange(9).reshape((3, 3))
>>> rng.permutation(arr)   
array([[6, 7, 8], # random
       [0, 1, 2],
       [3, 4, 5]])