scqubits.core.diag.esys_primme_sparse¶
- scqubits.core.diag.esys_primme_sparse(matrix, evals_count, **kwargs)[source]¶
Diagonalization based on primme’s (sparse) eigsh function. Both evals and evecs are returned.
Requires that the primme library is installed.
- Parameters:
matrix (
Union[ndarray,csc_matrix,Qobj]) – ndarray or qutip.Qobj to be diagonalizedevals_count (
int) – how many eigenvalues/vectors should be returnedkwargs – optional settings that are passed onto the diagonalization routine
- Return type:
Union[Tuple[ndarray,ndarray],Tuple[ndarray,QutipEigenstates]]- Returns:
a tuple of eigenvalues and eigenvectors. Eigenvectors are Qobjs if matrix is a Qobj instance