Skip to content

Commit

Permalink
Fix typos
Browse files Browse the repository at this point in the history
  • Loading branch information
WrathfulSpatula committed Oct 16, 2021
1 parent 4d59b88 commit 2c4d8d4
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions docs/performance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,15 @@ For "Sycamore" circuits, argued by other authors to establish "quantum supremacy

.. image:: performance/sycamore.png

However, we can furnish examples of circuits where Qrack has a commanding natural edge over naive "Schrödinger method," but also state-of-the-art in optimizing transpilation, (which could be additionally "layered" over Qrack itself.
However, we can furnish examples of circuits where Qrack has a commanding natural edge over naive "Schrödinger method," but also state-of-the-art in optimizing transpilation, (which could be additionally "layered" over Qrack itself).

.. image:: performance/single_qubits.png

The above graph is a test of (non-Clifford) single qubit gates, to depth of 20 on each qubit in simulator width, in parallel across the full width of a simulator instance. Qrack is transparently able to handle this circuit via "Schmidt decomposition," as single separable qubit subsystems, (similar to tensor network "matrix product states,") completing the test in linear time, over qubit widths. Surprisingly, Qiskit transpilation makes no great difference in execution time, in this case, despite successfully reducing depth of 20 qubits to depth of 1. (We could guess, Qiskit might handle this via conventional "gate fusion" techniques, even without transpilation.) However, even reducing circuit depth to 1 for each qubit in the width, Qiskit still suffers an exponential complexity disadvantage, since it still relies on fully connected "Schrödinger method" at base.
The above graph is a test of (non-Clifford) single qubit gates, to depth of 20 on each qubit in simulator width, in parallel across the full width of a simulator instance. Qrack is transparently able to handle this circuit via "Schmidt decomposition," as single separable qubit subsystems, (similar to tensor network "matrix product states,") completing the test in linear time, over qubit widths. Surprisingly, Qiskit transpilation makes no great difference in execution time, in this case, despite successfully reducing depth of 20 qubits to depth of 1. We could guess, Qiskit might handle this via conventional "gate fusion" techniques, even without transpilation. However, even reducing circuit depth to 1 for each qubit in the width, Qiskit still suffers an exponential complexity disadvantage, since it still relies on fully connected "Schrödinger method" at base.

.. image:: performance/random_ccx.png

Our last case for consideration is CCNOT (or CCX) gate input qubit combinations selected at random (with elimination) from an implicitly fully-connected topology, across the width of the simulator, repeated for 20 layers of depth, (initialized with a random permutation basis eigenstate, so as to produce a non-trivial change in the state of the qubits). Remember, CCNOT is specifically non-Clifford, but it is also sufficient in itself to serve as a single gate basis for the entirety of "classical" computation, "universally." So, we see that Qrack is capable of simulating a quantum computer that is emulating a "classical" computer, perhaps trivially. Rather, while we have no direct need to simulate the case of a quantum computer emulating classical computation, it is not granted that any other major quantum computer simulator is able to recognize and handle this case, "transparently," with full and automatic interoperability while all parts of the simulator APIS, without quite a bit of "cleverness" upon the part of the end-user, and user code labor. Again, Qiskit transpilation, not depicted, will reduce circuit depth, but rather signficantly increase simulator execution time, in this case.
Our last case for consideration is CCNOT (or CCX) gate input qubit combinations selected at random (with elimination) from an implicitly fully-connected topology, across the width of the simulator, repeated for 20 layers of depth, initialized with a random permutation basis eigenstate, so as to produce a non-trivial change in the state of the qubits. Remember, CCNOT is specifically non-Clifford, but it is also sufficient in itself to serve as a single gate basis for the entirety of "classical" computation, "universally." So, we see that Qrack is capable of simulating a quantum computer that is emulating a "classical" computer, perhaps trivially. Rather, while we have no direct need to simulate the case of a quantum computer emulating classical computation, it is not granted that any other major quantum computer simulator is able to recognize and handle this case, "transparently," with full and automatic interoperability with all parts of the simulator API, without quite a bit of "cleverness" upon the part of the end-user, and user code labor. Again, Qiskit transpilation, not depicted, will reduce circuit depth, but rather signficantly increase simulator execution time, in this case.

Discussion
**********
Expand Down

0 comments on commit 2c4d8d4

Please sign in to comment.