使用 quantikz 在一组电线上绘制测量值

使用 quantikz 在一组电线上绘制测量值

我想使用该quantikz包绘制这个电路(Bernstein-Vazirani 算法)。

在此处输入图片描述

我无法像图中这样在一组电线上画出测量值。这是我的尝试:

\begin{center}

\begin{quantikz}
\lstick{\ket{0}} & \gate[4]{H^{\otimes n}} & \qw             &  \gate[5]{U_f}&\qw & \gate[4]{H^{\otimes n}} &  \qw\rstick[wires=4]{} &\\
\lstick{\ket{0}} & \qw                     & \qw             &       \qw     &\qw              &                         &\qw&\\
\lstick{$\vdots$}&                         &\lstick{$\vdots$}&               &\lstick{$\vdots$}&                    & & \meter{}\\
\lstick{\ket{0}} &\qw                      &\qw              &     \qw       & \qw             &     \qw      & \qw & \\
\lstick{\ket{-}} &  \qw                    & \qw             &   \qw         &  \qw            &       \qw        &\qw &\\
\end{quantikz}
\end{center}

这就导致了:

在此处输入图片描述

关于如何绘制测量值并去除我尝试中显示的多余电线,您有什么想法吗?

答案1

您应该使用该选项nwires并说明不应该连接电线的行(另请参阅这个答案)至于meter,你可以直接使用节点样式:

\documentclass[border=1mm]{standalone}
\usepackage{quantikz}

\begin{document}

\begin{quantikz}
\lstick{\ket{0}} & \gate[4, nwires=3]{H^{\otimes n}} & \qw        & \gate[5, nwires=3]{U_f} & \qw        & \gate[4, nwires=3]{H^{\otimes n}} & \qw \rstick[wires=4]{} \\[-10pt]
\lstick{\ket{0}} & \qw        & \qw        & \qw        & \qw        & \qw        & \qw \\[-10pt]
\lstick{$\vdots$} &           & \lstick{$\vdots$} &           & \lstick{$\vdots$} &           &           & |[meter]| \\[-10pt]
\lstick{\ket{0}} & \qw        & \qw        & \qw        & \qw        & \qw        & \qw \\[-10pt]
\lstick{\ket{-}} & \qw        & \qw        & \qw        & \qw        & \qw        & \qw 
\end{quantikz}

\end{document}

在此处输入图片描述

您可能需要做一些额外的垂直调整。

相关内容