使用 QCircuit 为量子比特线着色

使用 QCircuit 为量子比特线着色

我想颜色使用 QCircuit 绘制的量子电路图中的一些量子比特线,如下图所示:

在此处输入图片描述

可以用 Qcircuit 来实现吗?作为后续,是否可以进行其他修改,例如将线条变为虚线、粗体等?

生成无色图像的代码是:

\Qcircuit @C=1em @R=1em {
   \lstick{|\psi\rangle} & \qw & \gate{R_x(\theta)} & \ctrl{1} & \meter \\
   \lstick{|0\rangle} & \qw {/} & \qw & \gate{U} & \qw & \rstick{|\phi\rangle}
}

答案1

阅读网络上的不同评论后,我在这个链接中发现了一个类似的具体问题 https://github.com/CQuIC/qcircuit/wiki/FAQ

在澄清的最后,有一个具体的问题及其答案:

我怎样给电路的各部分着色? [...]LaTeX 将线路和门轮廓视为单个对象,因此您无法单独着色。整个电路或任何文本参数都可以按正常方式着色

另请查看与此相关的链接Qcircuit https://www.researchgate.net/publication/327592129_Tutorial_on_the_Quantikz_Package,你可以看到所有的电线都是彩色的仅有的颜色为黑色。

这表明您不能用自己选择的颜色来给电线上色。最后,了解第一幅线被染成红色的图像的来源(使用完整的 LaTeX MWE)将会很有趣。

答案2

我或许可以部分回答这个问题。如果您在文档的序言中添加了以下行\xyoption{color},那么您就可以创建 Qcircuit 元素的自定义。

一个简单的例子可以让你朝着解决方案迈进一步,那就是添加

\newcommand{\qwred}[1][-1]{\ar @[red]@{-} [0,#1]}

到你的序言中。然后在电路中使用\qwred而不是\qw,它将变成红色。关键部分是在@[red]上面添加 ,你可以使用它来更改许多 Qcircuit 元素(查看 qcircuit.sty 以了解命令应该是什么样子) \newcommand。我简单地从 qcircuit.sty 中获取命令并添加它,从而创建了一条新的红线。

然而,随着门的增加,情况也变得更加复杂。命令如下qcircuit.sty

\newcommand{\gate}[1]{*+<.6em>{#1} \POS ="i","i"+UR;"i"+UL **\dir{-};"i"+DL **\dir{-};"i"+DR **\dir{-};"i"+UR **\dir{-},"i" \qw}

如果你在前言中包含这个命令,并将\qw命令更改为\qwred(在你创建\qwred命令之后),就像

\newcommand{\gatered}[1]{*+<.6em>{#1} \POS ="i","i"+UR;"i"+UL **\dir{-};"i"+DL **\dir{-};"i"+DR **\dir{-};"i"+UR **\dir{-},"i" \qwred}

那么这将允许类似你在问题中所展示的内容。

这并不优雅,并且需要你摆弄你想要创建的电路的每个元素,但这是我所知道的唯一方法。

相关内容