Often instead we seek the ground-state or low-lying excited states. In this case we may use iterativediagonalization solvers on the Krylov-subspace, such as developed by . The python library has an implementation of this in its scipy.sparse.linalg.LinearOperator module. The SciPy function solely asks for how to compute the matrix-vector product, e.g. Ψ ′ = HΨ, this may be done without explicitly constructing H with all its zeros. So H CI is saved as a dense diagonal vector (the diagonal part of the Hamiltonian above) and a sparse-matrix (given by the Slater-Condon rules, defined above). The resulting matrix-vector product is then (essentially a sparse-matrixdense-vector product):