Wie erstelle ich diese beiden Bilder in LaTeX, die schwer zu erkennen sind, sich aber links auf Ihrem Bildschirm befinden, direkt unter der Überschrift „Abbildungen und Tabellen“?Hier. Kann mir jemand Code für Qcircuit LaTeX geben?
Die Bilder sind:
Und
Hier ist ein MWE:
\documentclass{article}
\input{Qcircuit}
\begin{document}
\Qcircuit @C=1em @R=1em { \lstick{\ket{x}} & \qw \ar@{.}[]+<3.5em,1em>; [d]+<3.5em,-1em>
& \ctrl{1} &
\qw & \rstick{\ket{x}} \qw \\
\lstick{\ket{y}} & \gate{H} &
\gate{\pi} & \gate{H} & \rstick{\ket{y \oplus x}} \qw }
\end{document}
Antwort1
Jan hat mich direkt kontaktiert und ich habe diese Frage für ihn beantwortet, aber ich werde die Antwort hier posten, falls jemand etwas Ähnliches braucht.
Der LaTeX-Quellcode und die daraus resultierenden PDF-Dateien für diese beiden Schaltkreise sind unten aufgeführt:
Verschachtelung horizontal gestapelter Tore:
\documentclass{standalone}
\usepackage{rotating}
\input{Qcircuit}
\newcommand{\puremultigate}[2]{*+<1em,.9em>{\hphantom{#2}} \POS [0,0]="i",[0,0].[#1,0]="e",!C *{#2},"e"+UR;"e"+UL **\dir{-};"e"+DL **\dir{-};"e"+DR **\dir{-};"e"+UR **\dir{-},"i"}
\begin{document}
\begin{tabular}{c}
\vspace{-.6em}\\
\Qcircuit @R=.2em @C=.5em @!R {
& & & & & & & & & & & & & \puremultigate{5}{\rotatebox{-90}{\small Measurement}} \\
& & \qw & \qw & \multigate{3}{U} & \qw & \qw & \multigate{3}{\fbox{$U_1$\rule[-1em]{0em}{2.7em}}\ \,\fbox{$U_2$\rule[-1em]{0em}{2.7em}}} & \qw & \qw & \multigate{3}{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
& \lstick{\raisebox{-1.5em}{$\rho$}} & \qw & \qw & \ghost{U} & \qw & \qw & \ghost{\fbox{$U_1$\rule[-1em]{0em}{2.7em}}\ \,\fbox{$U_2$\rule[-1em]{0em}{2.7em}}} & \qw & \qw & \ghost{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
& & & \raisebox{.3em}{\vdots} & \pureghost{U} & \push{\rule{3em}{0em}} & & \pureghost{\fbox{$U_1$\rule[-1em]{0em}{2.7em}}\ \,\fbox{$U_2$\rule[-1em]{0em}{2.7em}}} & \push{\rule{.5em}{0em}} & & \pureghost{U^\dagger} & \push{\rule{1.5em}{0em}} & & \pureghost{\rotatebox{-90}{\small Measurement}} & & \\
& & \qw & \qw & \ghost{U} & \qw & \qw & \ghost{\fbox{$U_1$\rule[-1em]{0em}{2.7em}}\ \,\fbox{$U_2$\rule[-1em]{0em}{2.7em}}} & \qw & \qw & \ghost{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
\push{\rule{.6em}{0em}} & & & & & & & & & & & & & &
}
\vspace{1.2em}\\
\end{tabular}
\end{document}
Verschachtelung vertikal gestapelter Tore:
\documentclass{standalone}
\usepackage{rotating}
\input{Qcircuit}
\newcommand{\puremultigate}[2]{*+<1em,.9em>{\hphantom{#2}} \POS [0,0]="i",[0,0].[#1,0]="e",!C *{#2},"e"+UR;"e"+UL **\dir{-};"e"+DL **\dir{-};"e"+DR **\dir{-};"e"+UR **\dir{-},"i"}
\begin{document}
\begin{tabular}{c}
\vspace{-.6em}\\
\Qcircuit @R=.2em @C=.5em @!R {
& & & & & & & & & & & & & \puremultigate{5}{\rotatebox{-90}{\small Measurement}} \\
& & \qw & \qw & \multigate{3}{U} & \qw & \qw & \multigate{3}{\parbox{2em}{\fbox{$U_1$}\vspace{.2em}\\\fbox{$U_2$}}} & \qw & \qw & \multigate{3}{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
& \lstick{\raisebox{-1.5em}{$\rho$}} & \qw & \qw & \ghost{U} & \qw & \qw & \ghost{\parbox{2em}{\fbox{$U_1$}\vspace{.2em}\\\fbox{$U_2$}}} & \qw & \qw & \ghost{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
& & & \raisebox{.3em}{\vdots} & \pureghost{U} & \push{\rule{3em}{0em}} & & \pureghost{\parbox{2em}{\fbox{$U_1$}\vspace{.2em}\\\fbox{$U_2$}}} & \push{\rule{.5em}{0em}} & & \pureghost{U^\dagger} & \push{\rule{1.5em}{0em}} & & \pureghost{\rotatebox{-90}{\small Measurement}} & & \\
& & \qw & \qw & \ghost{U} & \qw & \qw & \ghost{\parbox{2em}{\fbox{$U_1$}\vspace{.2em}\\\fbox{$U_2$}}} & \qw & \qw & \ghost{U^\dagger} & \qw & \qw & \ghost{\rotatebox{-90}{\small Measurement}} & \qw & \qw \\
\push{\rule{.6em}{0em}} & & & & & & & & & & & & & &
}
\vspace{1.2em}\\
\end{tabular}
\end{document}
Qcircuit hat keine spezielle Funktionalität für verschachtelte Gatter, aber um einen verschachtelten Gattereffekt zu erzielen, können einfach Kästen, die die inneren Gatter darstellen, in einen Standardbefehl \multigate eingefügt werden.
Damit das Messtor richtig aussieht, musste ich einen neuen \multigate-Befehl definieren, \puremultigate, der keinen führenden Draht erzwingt. Dazu habe ich die Standarddefinition von \multigate aus Qcircuit.tex genommen und den letzten \qw-Befehl daraus gelöscht.