TOPP-HATT is fast, but there's a few options for things that could be done to speed up TOPP-HATT, this issue is going to be the place where these ideas sit.
Weights > 1
After we've reduced the hamiltonian, we can have two terms which become identical, for example with selection [0,1,2] and parent index P, the two terms reduce to the same:
[1,2,3,4] -> [3,4,P,P]
[0,2,3,4] -> [3,4,P,P]
We currently keep both of them around, because we need to keep track of the total Pauli-weight of all the operators in the original hamiltonian. We could maybe see some performance gain if we combined these terms, so that we only calculate the weight of a unique terms, each term could have a weight multiplier (starting at 1) which is equal to the number of times it apperars in the reduced hamiltonian. This would also let us sort by the terms with the highest weight, potentially finding the minimum weight faster.
TOPP-HATT is fast, but there's a few options for things that could be done to speed up TOPP-HATT, this issue is going to be the place where these ideas sit.
Weights > 1
After we've reduced the hamiltonian, we can have two terms which become identical, for example with selection
[0,1,2]and parent indexP, the two terms reduce to the same:[1,2,3,4] -> [3,4,P,P][0,2,3,4] -> [3,4,P,P]We currently keep both of them around, because we need to keep track of the total Pauli-weight of all the operators in the original hamiltonian. We could maybe see some performance gain if we combined these terms, so that we only calculate the weight of a unique terms, each term could have a weight multiplier (starting at 1) which is equal to the number of times it apperars in the reduced hamiltonian. This would also let us sort by the terms with the highest weight, potentially finding the minimum weight faster.