cupyx.scipy.sparse.linalg.eigsh#
- cupyx.scipy.sparse.linalg.eigsh(a, k=6, *, which='LM', v0=None, ncv=None, maxiter=None, tol=0, return_eigenvectors=True)[source]#
Find
k
eigenvalues and eigenvectors of the real symmetric square matrix or complex Hermitian matrixA
.Solves
Ax = wx
, the standard eigenvalue problem forw
eigenvalues with corresponding eigenvectorsx
.- Parameters:
a (ndarray, spmatrix or LinearOperator) – A symmetric square matrix with dimension
(n, n)
.a
mustcupy.ndarray
,cupyx.scipy.sparse.spmatrix
orcupyx.scipy.sparse.linalg.LinearOperator
.k (int) – The number of eigenvalues and eigenvectors to compute. Must be
1 <= k < n
.which (str) – ‘LM’ or ‘LA’ or ‘SA’. ‘LM’: finds
k
largest (in magnitude) eigenvalues. ‘LA’: findsk
largest (algebraic) eigenvalues. ‘SA’: findsk
smallest (algebraic) eigenvalues.v0 (ndarray) – Starting vector for iteration. If
None
, a random unit vector is used.ncv (int) – The number of Lanczos vectors generated. Must be
k + 1 < ncv < n
. IfNone
, default value is used.maxiter (int) – Maximum number of Lanczos update iterations. If
None
, default value is used.tol (float) – Tolerance for residuals
||Ax - wx||
. If0
, machine precision is used.return_eigenvectors (bool) – If
True
, returns eigenvectors in addition to eigenvalues.
- Returns:
If
return_eigenvectors is True
, it returnsw
andx
wherew
is eigenvalues andx
is eigenvectors. Otherwise, it returns onlyw
.- Return type:
See also
Note
This function uses the thick-restart Lanczos methods (https://sdm.lbl.gov/~kewu/ps/trlan.html).