def _esys_calc(self, evals_count): hamiltonian_mat = self.hamiltonian() evals, evecs = sp.linalg.eigh(hamiltonian_mat, eigvals=(0, evals_count - 1), eigvals_only=False) evals, evecs = order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count): hamiltonian_mat = self.hamiltonian() evals, evecs = sparse.linalg.eigsh(hamiltonian_mat, k=evals_count, return_eigenvectors=True, which='SA') # TODO consider normalization of zeropi wavefunctions # evecs /= np.sqrt(self.grid.grid_spacing()) evals, evecs = spec_utils.order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count: int) -> Tuple[ndarray, ndarray]: hamiltonian_mat = self.hamiltonian() evals, evecs = sp.linalg.eigh(hamiltonian_mat, eigvals_only=False, eigvals=(0, evals_count - 1)) evals, evecs = order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count: int, hamiltonian_mat: csc_matrix = None) -> Tuple[ndarray, ndarray]: if hamiltonian_mat is None: hamiltonian_mat = self.hamiltonian() evals, evecs = sparse.linalg.eigsh(hamiltonian_mat, k=evals_count, sigma=0.0, which='LM', return_eigenvectors=True) evals, evecs = spec_utils.order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count, hamiltonian_mat=None): if hamiltonian_mat is None: hamiltonian_mat = self.hamiltonian() evals, evecs = sparse.linalg.eigsh(hamiltonian_mat, k=evals_count, return_eigenvectors=True, which='SA') evals, evecs = order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count) -> Tuple[ndarray, ndarray]: hamiltonian_mat = self.hamiltonian() evals, evecs = sparse.linalg.eigsh( hamiltonian_mat, k=evals_count, return_eigenvectors=True, sigma=0.0, which="LM", v0=settings.RANDOM_ARRAY[:self.hilbertdim()], ) evals, evecs = spec_utils.order_eigensystem(evals, evecs) return evals, evecs
def _esys_calc(self, evals_count: int) -> Tuple[ndarray, ndarray]: hamiltonian_mat = self.hamiltonian() evals, evecs = sparse.linalg.eigsh( hamiltonian_mat, k=evals_count, sigma=0.0, which="LM", return_eigenvectors=True, ) # TODO consider normalization of zeropi wavefunctions # evecs /= np.sqrt(self.grid.grid_spacing()) evals, evecs = spec_utils.order_eigensystem(evals, evecs) return evals, evecs
def eigensys(self, evals_count: int = 2) -> Tuple[ndarray, ndarray]: hamiltonian_mat = self.hamiltonian() evals, evecs = sp.linalg.eigh(hamiltonian_mat, eigvals_only=False) evals, evecs = order_eigensystem(evals, evecs) return evals, evecs