Remove SparseHamiltonian, add sign_mask to SparseOperator #443
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request removes the
SparseHamiltonian
class and its related functionality from the codebase. It also introduces a new functionsparse_operator_hamiltonian
and updates methods to use this new function. Additionally, it optimizes the application of operators by precomputing sign masks.Removal of
SparseHamiltonian
:sparse_hamiltonian_api.cc
file and its references fromforte/CMakeLists.txt
[1] [2] [3].export_SparseHamiltonian
function fromforte_python_module.cc
andforte_python_module.h
[1] [2].Introduction of
sparse_operator_hamiltonian
:SparseHamiltonian
withsparse_operator_hamiltonian
ingeneral_cc.py
[1] [2] [3].sparse_operator_hamiltonian
[1] [2].Operator Application Optimization:
apply_operator_impl_naive
andapply_operator_impl_grouped
to use precomputed sign masks fromSQOperatorString
[1] [2] [3] [4] [5] [6] [7] [8].SQOperatorString
to compute and store sign masks during initialization [1] [2] [3] [4].Enhancements to Sparse Operators:
apply_to_state
method toSparseOperator
andSparseOperatorList
[1] [2].## DescriptionA brief description of the goals accomplished by this PR
User Notes
Checklist
output.ref
file