LaTeX量子電路作圖工具Qcircuit

最近開始寫畢業論文了,怎樣得到矢量的,能在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}

這段代碼看着麻煩,其實非常好理解,比自己手動畫圖簡單了不少。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章