这里已经有几个问题询问用于生成适合合并到 TeX 文档中的量子力学和量子计算图的包和工具,但所有这些都相当旧,并且通常指向更旧的工具和包。
生成最新、最容易使用的工具有哪些
- 量子电路图,以及
- Bloch Sheres 和其他量子表示?
除了现有问题的狭隘焦点(TeX 包或 TikZ 等)之外,我还对可以生成适合合并到 TeX 出版物中的输出(例如 PDF)的任何东西更感兴趣。
答案1
虽然这个问题很老了,但我会回答它,因为它是你搜索“bloch sphere latex”的第一个结果之一。
有包'布洛克球体',您可以使用 进行安装sudo tlmgr install blochsphere
。存储库(和文档)可以在在 Github 上。
以下是一个例子:
代码如下
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[radius=1.5 cm,tilt=15,rotation=-20]
\drawBallGrid[style={opacity=0.1}]{30}{30}
\drawGreatCircle[style={dashed}]{-60}{0}{0}
\drawGreatCircle[style={dashed}]{60}{0}{0}
\drawRotationLeft[scale=1.3,style={red}]{-60}{0}{0}{15}
\drawRotationRight[scale=1.3,style={red}]{60}{0}{0}{15}
\node at (-0.8,1.9) {\textcolor{red}{\tiny $J_{12}(t)$}};
\node at (1.1,1.8) {\textcolor{red}{\tiny $J_{23}(t)$}};
\labelLatLon{up}{90}{0};
\labelLatLon{down}{-90}{90};
\node[above] at (up) {{\tiny $\left|1\right>$ }};
\node[below] at (down) {{\tiny $\left|0\right>$}};
\labelLatLon[labelmark=false]{d}{15}{90};
\node at (d) {\color{gray}\fontsize{0.15cm}{1em}\selectfont $60^\circ$};
\labelLatLon[labelmark=false]{d2}{5}{78};
\node at (d2) {\color{gray}\fontsize{0.15cm}{1em}\selectfont $60^\circ$};
\end{blochsphere}
\end{document}
主要补充:如何轻松绘画量子电路以特克斯
我找不到一个好的包(从技术上讲,你可以使用qasm2circ,但我不太喜欢它,而且电路,我还没有测试过),但我认为在“pics”的帮助下,用普通的 Tex 来完成它是相当容易的。
例子:
% !TeX encoding = UTF-8
% !TeX spellcheck = de_DE
\documentclass[11pt,border=2mm]{standalone}
\usepackage{tikz}
\usepackage{nicefrac}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
scale=1,
pics/measure/.style 2 args={code={\draw[fill=white] (0,-#2/2) rectangle (#1,#2/2);\draw (1,-0.25) arc (0:180:0.4);\draw[->] (0.5,-0.25) -- (1,0.25);}},
pics/dot/.style={code={\fill[black] (0,0) circle (0.1);}},
pics/odot/.style={code={\fill[draw=black, fill=white] (0,0) circle (0.1); \draw (-0.1,0) -- (+0.1,0) (0,-0.1) -- (0,+0.1);}},
pics/qubit/.style 2 args={code={\draw[black, thick, fill=#1] (-0.3,0) node[anchor=center] {#2} circle (0.3);}},
]
%change these values:
\pgfmathsetmacro{\linedist}{-0.7}
\pgfmathsetmacro{\ep}{5}
\pgfmathsetmacro{\ms}{0.5cm}
\draw[] (0,0) pic[anchor=east] {qubit={blue!50}{X}}
-- ++(0.5, 0) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- (4, 0) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- (\ep-0.6, 0) pic[anchor=center,scale=0.51] {measure={1.2}{1}};
\draw[] (0,\linedist) pic[anchor=east] {qubit={red!80!black!70}{A}}
-- ++(0.5, 0) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- (4, 1*\linedist) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- (\ep,\linedist) {};
\draw[] (0,2*\linedist) pic[anchor=east] {qubit={red!80!black!70}{B}}
-- ++(0.5, 0) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- ++(2.5, 0) node[anchor=center, fill=white, draw=black, minimum size=\ms]{$R_\mathrm{\varphi}^{\nicefrac{\pi}{2}}$}
-- (4, 2*\linedist) node[anchor=center, fill=white, draw=black, minimum size=\ms]{H}
-- (\ep,2*\linedist) {};
\draw (1.5,0) pic[] {dot} -- ++ (0,2*\linedist){} pic[] {dot};
\draw (2.0,0) pic[] {dot} -- ++ (0,1*\linedist){} pic[] {odot};
\end{tikzpicture}
\end{document}
答案2
对于量子电路图,请参阅此文章:有什么好的软件包可以排版量子电路吗?
对于 Bloch 球体,Tikz 应该是一个不错的选择。如果您必须多次重复相同的草图,定义 Tikz 宏可能是一个不错的选择。