rand — SciPy v1.15.2 Manual (original) (raw)

scipy.sparse.

scipy.sparse.rand(m, n, density=0.01, format='coo', dtype=None, rng=None)[source]#

Generate a sparse matrix of the given shape and density with uniformly distributed values.

Warning

This function returns a sparse matrix – not a sparse array. You are encouraged to use random_array to take advantage of the sparse array functionality.

Parameters:

m, nint

shape of the matrix

densityreal, optional

density of the generated matrix: density equal to one means a full matrix, density of 0 means a matrix with no non-zero items.

formatstr, optional

sparse matrix format.

dtypedtype, optional

type of the returned matrix values.

rng{None, int, numpy.random.Generator}, optional

If rng is passed by keyword, types other than numpy.random.Generator are passed to numpy.random.default_rng to instantiate a Generator. If rng is already a Generator instance, then the provided instance is used. Specify rng for repeatable function behavior.

If this argument is passed by position or random_state is passed by keyword, legacy behavior for the argument random_state applies:

Changed in version 1.15.0: As part of the SPEC-007transition from use of numpy.random.RandomState tonumpy.random.Generator, this keyword was changed from random_state to rng. For an interim period, both keywords will continue to work, although only one may be specified at a time. After the interim period, function calls using the_random_state_ keyword will emit warnings. The behavior of both random_state and_rng_ are outlined above, but only the rng keyword should be used in new code.

Returns:

ressparse matrix

See also

random

Similar function allowing a custom random data sampler

random_array

Similar to random() but returns a sparse array

Notes

Only float types are supported for now.

Examples

from scipy.sparse import rand matrix = rand(3, 4, density=0.25, format="csr", rng=42) matrix <Compressed Sparse Row sparse matrix of dtype 'float64' with 3 stored elements and shape (3, 4)> matrix.toarray() array([[0.05641158, 0. , 0. , 0.65088847], # random [0. , 0. , 0. , 0.14286682], [0. , 0. , 0. , 0. ]])