UCL-CCS / symmer

An efficient Python-based framework for implementing qubit subspace methods, reducing the resource requirements for near-term quantum simulations.
MIT License
38 stars 9 forks source link

Benchmark against other quantum computing packages #21

Open TimWeaving opened 2 years ago

TimWeaving commented 2 years ago

Assess our performance against various quantum computing packages such as Qiskit, Cirq, Stim (the holy grail) etc.

TimWeaving commented 2 years ago

44 includes benchmarking against Qiskit and OpenFermion. Note that Qiskit performs best in the squaring test, whereas symmer takes it for multiplication on the right by a single Pauli. Symmer is superior to OpenFermion for performing Pauli rotations - haven't yet found a Qiskit implementation of this to assess.

TimWeaving commented 2 years ago

Parallelization of Pauli multiplication was assessed in #44 also, though it was not found to provide any performance benefit due to the overhead of spawning many simultaneous processes. The final cleanup was optimized by switching out the lexsort operation for a 'void view' numpy implementation.

TimWeaving commented 2 years ago

Benchmarks have already been completed on my modest laptop (see the README), although still worth running a larger scale benchmark on a supercomputer one of these days.