Replacing the use of NetworkX KL partition algorithm (which is kind of bad) with KaHyPar partitioning. This partitioning is used to decide the way qubits are assigned to the different subtrees of the TTN, so that qubits that interact more are placed closer together.
I have checked the performance of this against the version currently in feature/ttn using Henrik's circuits. In essence, the results are always better both in time and final fidelity and sometimes the difference is quite noticeable. For instance, a circuit run in similar time (13 and 12 seconds) but the fidelity was improved from 0.34 to 0.59. On another circuit, the fidelity was similar (~10^-5) while timing went down from 71s to 54s. In a bunch of circuits the difference was almost unnoticeable.
Replacing the use of NetworkX KL partition algorithm (which is kind of bad) with KaHyPar partitioning. This partitioning is used to decide the way qubits are assigned to the different subtrees of the TTN, so that qubits that interact more are placed closer together.
I have checked the performance of this against the version currently in feature/ttn using Henrik's circuits. In essence, the results are always better both in time and final fidelity and sometimes the difference is quite noticeable. For instance, a circuit run in similar time (13 and 12 seconds) but the fidelity was improved from 0.34 to 0.59. On another circuit, the fidelity was similar (~10^-5) while timing went down from 71s to 54s. In a bunch of circuits the difference was almost unnoticeable.