I'm working my way through the ASPLOS paper "CutQC: Using Small Quantum Computers for Large Quantum Circuit Evaluations". At the heart of the paper is, of course, the technique of circuit cutting. A first derivation in the paper was already explained here. However, I am lost after that.

Does anybody have a (pointer to a) clear, understandable example of quantum circuit cutting, preferably starting from a single qubit and expanding to a larger circuit after that?

  • $\begingroup$ Figure 4 gives an example of circuit cutting. Besides that, your question doesn't seem to be specific enough. Also, there is an example of 1 qbit cutting. $\endgroup$
    – MonteNero
    Commented Jan 5, 2023 at 3:06
  • $\begingroup$ I don't understand it and even reached out to the author Wei for clarification. For example, do I trace out qubits 0 and 1 in the paper example before measuring qubit 2? Do I run the circuit multiple times? How exactly am I reconstructing the final state. It is just not clear and I was not able to reproduce the examples. I'd need a full numerical example with all the detailed steps. I'm certain others would benefit from this as well. $\endgroup$
    – rhundt
    Commented Jan 5, 2023 at 3:21
  • $\begingroup$ I understand your frustration. Some papers are just hard to digest. The best course of action is to formulate a focused question, while you do that, you will understand the point where the confusion arises. If this doesn't help, then try to find a similar paper on a similar topic and see if the level of difficulty and authors' communication skills allow you to get the circuit cutting ideas. $\endgroup$
    – MonteNero
    Commented Jan 5, 2023 at 17:28

2 Answers 2


Circuit Knitting Toolbox is a Qiskit extension for entanglement forging, circuit cutting, and classical embedding.

One of its modules is cutqc which implements the wire cutting technique and automatic cut finding method described in the mentioned paper. It can be helpful to go through the code and the tutorials.


So I will use the figure 4 from the paper (CutQC: Using Small Quantum Computers for Large Quantum Circuit Evaluations) as the example, as it is too much to draw out a brand new circuit.

arxiv:2012.02333 figure 4

So you have subcir1 and subcirc2. You will run the subcirc1, three times.

  1. The first time will be as is, with no additional gates and get the probability vector. This circuit run corresponds with the Z and I measurement basis runs.
  2. This time, add an H gate to the third qubit of subcirc1. This is to measure in the X basis.
  3. The third time, you will add a Sdg and H gate to measure in the Y basis.

You will run subcirc2 4 times. Each time, you will initialize the subcirc2 with |0$\rangle$, |1$\rangle$, |+$\rangle$ and |i$\rangle$ state. So now you have all the runs of the circuit complete. You should have 7 different probability state vectors complete.

For the first circuit, we only care about the first and second qubit. Not the third. So for a particular state, in the paper they use the example of |01010$\rangle$, the least significant two digits come from subcirc1 and the next three come from subcirc2.

So, in the term P$_{1,1}$, they add the probability of the two states that are relevant for the desired output state. P$_{1,1}$ corresponds with [Tr(AI) + Tr(AZ)] part of term A$_1$ from equation 2. They then multiply this by the P$_{2,1}$ term, which is the probability of the subcirc2, when initialized with |0$\rangle$ on its first qubit. You get the probability of state 010. These two terms can then be multiplied together, and then divided by 2, to get the probability of the state of |01010$\rangle$. This can then be repeated for each of the other states of the full circuit, to get the total probability of the full circuit.

Comment if there was anything specific that was confusing with my explanation or that I am missing.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.