from .validation import check_random_state def _init_arpack_v0(size, random_state): """Initialize the starting vector for iteration in ARPACK functions. Initialize a ndarray with values sampled from the uniform distribution on [-1, 1]. This initialization model has been chosen to be consistent with the ARPACK one as another initialization can lead to convergence issues. Parameters ---------- size : int The size of the eigenvalue vector to be initialized. random_state : int, RandomState instance or None, default=None The seed of the pseudo random number generator used to generate a uniform distribution. If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by `np.random`. Returns ------- v0 : ndarray of shape (size,) The initialized vector. """ random_state = check_random_state(random_state) v0 = random_state.uniform(-1, 1, size) return v0