最近开始写毕业论文了,怎样得到矢量的,能在LaTeX里显示的量子电路图困扰了我很久。之前我在这篇文章里介绍了在projectQ里面运行电路,同时生成电路LaTeX代码的方法。这样做生成的代码有些复杂,运行时间长;且如果后期想根据自己的需要微调的话,比较麻烦。
这篇文章介绍一下我发现的另一个package,叫做Qcircuit,相对来说好用了许多。这个package很好上手,它的教程也写得很详细,所以具体的语法我就不再赘述了,可以在这里找到:链接。
下面给出我用这个工具画的n-qubit的量子傅里叶变换电路,最终效果如下:
需要在\begin{document}之前加上这个package:
\usepackage[options]{qcircuit}
作图的代码是:
\begin{figure}[h!]
\centerline{
\Qcircuit @C=0.8em @R=0.75em {
\lstick{\ket{j_{1}}} & \gate{H} & \gate{R_{2}} & \gate{R_{3}} & \qw & \cdots& & \gate{R_n} & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \rstick{\ket{y_1}} \qw \\
\lstick{\ket{j_{2}}} & \qw & \ctrl{-1} & \qw & \qw & \qw& \qw & \qw & \gate{H} & \gate{R_2} & \qw & \cdots & & \gate{R_{n-1}} & \qw & \qw & \qw & \qw & \qw & \qw & \rstick{\ket{y_2}} \qw \\
\lstick{\ket{j_{3}}} & \qw & \qw & \ctrl{-2} & \qw & \qw & \qw & \qw & \qw & \ctrl{-1} & \qw& \qw & \qw & \qw & \gate{H} & \qw & \cdots & & \gate{R_{n-2}} & \qw & \rstick{\ket{y_3}} \qw \\
\lstick{\vdots } & & & & & \ddots & & & & & & \ddots & & & & & \ddots & & & & \rstick{\vdots } \\
\lstick{\ket{j_{n}}} & \qw & \qw & \qw & \qw & \qw & \qw & \ctrl{-4} & \qw & \qw & \qw & \qw & \qw & \ctrl{-3} & \qw & \qw & \qw & \qw & \ctrl{-2} & \gate{H} & \rstick{\ket{y_{n}}} \qw
}
}
\caption{Quantum circuit for QFT algorithm}
\label{QFT_circuit}
\end{figure}
这段代码看着麻烦,其实非常好理解,比自己手动画图简单了不少。