CQCL / pytket-cutensornet

cuTensorNet Python API extensions for pytket quantum SDK
Apache License 2.0
8 stars 1 forks source link

TTN replace KL (NetworkX) with KaHyPar #69

Closed PabloAndresCQ closed 5 months ago

PabloAndresCQ commented 5 months ago

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.