31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
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
|