Q-circuit v2.0

Many readers are familiar with the LaTeX package called Q-circuit that I coauthored with Bryan Eastin. If you aren’t familiar with it, it is a set of macros that helps make typesetting quantum circuits easy, efficient and (reasonably) intuitive.  The results are quite beautiful, if I do say so myself, as can be seen in the picture to the left.
In the past year Bryan and I began getting emails from Q-circuit users who were experiencing some bugs. It turns out that the issue was usually an incompatibility between Q-circuit v1.2 and Xy-pic v3.8, an update to a package that Q-circuit relies on heavily.
Thanks to the user feedback and some support from the authors of Xy-pic, we were able to stamp out the bugs. (Probably… no guarantees!) Thus I present to you the latest version of Q-circuit!
Download Q-circuit v2.0
There is more info on the Q-circuit website, where you will find the tutorial, some examples, and you can also enjoy the painfully retro green-on-black motif. (Let the haters hate… I like it.) A few additional technical details:

  1. Nothing has been added to the new version.  It is as near as possible to the old version while still functioning with Xy-pic version 3.8.x.
  2. The old version of Q-circuit works better with Xy-pic version 3.7. (When using Xy-pic 3.7, Q-circuit 2.0 makes PDFs with slightly pixelated curves.)
  3. The arXiv is still using Xy-pic 3.7 and they don’t know when they’ll update to 3.8.

Finally, a big thank you to my coauthor Bryan for putting in so much hard work to make Q-circuit a success!

4 Replies to “Q-circuit v2.0”

  1. Hi Steve,
    I wonder if you guys have any plans of “upgrading” the package. I work a lot with graph states/codes and it is a real pain to draw them with pstricks. Do you have any plans of implementing cluster states (or graph states) into the package? For example, one can input the adjacency matrix of the graph and a list of coordinates of each vertex.

    1. Unfortunately we don’t have any plans to include support for graph states at the moment. Your suggestion about simply using the adjacency matrix is a good one, but I can immediately see several difficulties. For example, what is the best way to present the graph? If you are representing a square grid, or a ring, or a star, then there are some natural ways that you would want to represent that. How is the software supposed to detect that and choose the best representation?
      We did add a few simple commands once for Michael Nielsen when he wrote quant-ph/0504097. If you download the source file you can find those commands. Perhaps they will suit your needs.

      1. I wouldn’t do it automatically (even Mathematica cannot do this well all the time). One can just provide a list with the coordinates of each vertex, then the latex package just joins the vertices.

Leave a Reply

Your email address will not be published. Required fields are marked *