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
keigenvalues and eigenvectors of the real symmetric square matrix or complex Hermitian matrixA.Solves
Ax = wx, the standard eigenvalue problem forweigenvalues with corresponding eigenvectorsx.- Parameters:
a (ndarray, spmatrix or LinearOperator) – A symmetric square matrix with dimension
(n, n).amustcupy.ndarray,cupyx.scipy.sparse.spmatrixorcupyx.scipy.sparse.linalg.LinearOperator.k (int) – The number of eigenvalues and eigenvectors to compute. Must be
1 <= k < n.which (str) – ‘LM’ or ‘LA’. ‘LM’: finds
klargest (in magnitude) eigenvalues. ‘LA’: findsklargest (algebraic) eigenvalues. ‘SA’: findsksmallest (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 returnswandxwherewis eigenvalues andxis 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).