I'm discovering ZX-Calculus, and it seems to be much easier to do computations on circuit that would take much more time with the usual formalism. However, I can't find a nice way to represent measurements (instead of post-selection) and compute the output probabilities. I have the feeling that normalisation and adding variables to a "one-leg" spiders could help, but I'm not yet convinced that it's the good way to go.

And for example, can ZX-calculus deal with "impossible"/not normalisable circuits, like "create a plus state and project it on minus" ?


  • 1
    $\begingroup$ @NieldeBeaudrap No, I had accidentally flagged the wrong post earlier. I rescinded the flag but forgot that it automatically generates that comment. Sorry. $\endgroup$ – Jonathan Trousdale Feb 6 at 0:45

In the ZX calculus, the closest thing to a graph that measures an observable is a graph that post-selects that observable to be in its $+1$ eigenbasis.

If you are attempting to understand a surface code lattice surgery computation in terms of a ZX graph this is kind of annoying. You need to be able to figure out which postselections are just shorthands for unitary effects, and which ones are actual measurements of the inputs. The best way that I know of to do that is to perform Gaussian elimination on the table of things that are post-selected by each individual spider. The eliminated table then tells you the external observables that are postselected. Any observable that is input-only or output-only indicates the presence of a measurement.

enter image description here

| improve this answer | |
  • $\begingroup$ Thanks a lot. So measurements are only the stabilizers that apply only on the output nodes after Gaussian elimination ? So any real unitary should have zero stabilisers that works only on the output ? Interesting… Do you have any references for more details ? And also this does not give any probability distribution. Does that mean that for a given graph I have no better way to compute the outcome distribution than trying to calculate the underlying circuit and then just manually compute the state? Then what's the point of normalisation? Thanks! $\endgroup$ – tobiasBora Feb 2 at 13:33
  • $\begingroup$ @tobiasBora No, the measurements are the stabilizers that apply only to the input. When the number of qubits is preserved, there will be a redundant stabilizer on the output when there is a stabilizer on the input. For stabilizer graphs you don't think in terms of probabilities/amplitudes, you think using the Gottesman-Knill theorem (i.e. in stabilizers). For some complicated graphs there's no substitute for just computing the tensor directly. $\endgroup$ – Craig Gidney Feb 2 at 23:50
  • $\begingroup$ On the input? I'm not sure to understand why. And also, in your graph you wrote on the last line, corresponding to "X . X" on D and E (where one is input one is output, but they are denoted in this table as output): "Output state is stabilized by X.X (there is a measurement present)". What do you mean by this? And if you have any nice reference feel free to share. Thanks! (and too bad for the distribution probability...) $\endgroup$ – tobiasBora Feb 3 at 15:26
  • $\begingroup$ Note that this paper seems to propose an actual graphical way to derive measurement probabilities with the stabilizer fragment of ZX-calculus, which is proven to be complete in this axiomatisation arxiv.org/pdf/1507.03854.pdf $\endgroup$ – tobiasBora Feb 3 at 16:33
  • $\begingroup$ And I've the feeling that this paper pretends to have the same result for the "full" Cliford+T fragment (which is more or less universal), but then I'm not sure to see the link with that answer. $\endgroup$ – tobiasBora Feb 3 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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