scqubits.core.diag.esys_cupy_sparse#

scqubits.core.diag.esys_cupy_sparse(matrix, evals_count, **kwargs)[source]#

Diagonalization based on cupy’s (sparse) eigsh function. Both evals and evecs are returned.

Requires that the cupy library is installed.

Parameters:
  • matrix (Union[ndarray, csc_matrix, Qobj]) – ndarray or qutip.Qobj to be diagonalized

  • evals_count (int) – how many eigenvalues/vectors should be returned

  • kwargs – 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