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
|