EigenDecompositionResult#

class cuquantum.densitymat.EigenDecompositionResult(
evals: ndarray | ndarray,
evecs: Sequence[State],
residual_norms: ndarray,
)[source]#

A data class for capturing the results of an EigenDecomposition.compute() call.

This class encapsulates all outputs from the eigenvalue/eigenstate computation, including convergence information and residual norms for analysis of solution quality.

evals#

The computed eigenvalues as a 1D array. For batched computations, this will be a 2D array with shape [num_eigvals, batch_size]. Elements are ordered according to the which parameter used in the solver initialization.

Type:

numpy.ndarray | cupy.ndarray

evecs#

The computed eigenstates as a sequence of State objects. Each state corresponds to one (or batch of) eigenvalue(s) and contains the eigenstate data. For batched computations, each State object contains all batch elements for that particular eigenstate.

Type:

Sequence[cuquantum.densitymat.state.State]

residual_norms#

Achieved solver residuals with shape [num_eigvals, batch_size], always returned as a NumPy array. For full-state eigen-decomposition, each value is the global eigenpair residual ||A*x - lambda*x||. For ground-state DMRG, it is the achieved local Krylov residual from the final local update, not the global MPS eigenpair residual. For shift-invert DMRG, it is the maximum achieved absolute post-insertion (and, for a 2-site update, post-truncation) local normal-equation residual over the final complete fitting sweep of the final outer iteration; it does not certify outer convergence.

Type:

numpy.ndarray