10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

量子回路をキレイにお手軽に作図したい

Last updated at Posted at 2021-03-13

この記事について

量子ゲートの記事を投稿する際に、説明のために下記の様な、量子回路をお絵描きしたい。

一方で、

  • 専用のソフトや環境を構築することなくサクッと回路を描きたい
  • 可能であれば、Webサービスでそういったのがあれば、、

そんなポエムの様な記事です。
また、他の量子コンピュータ関係の他の記事は、下記で紹介しています。

量子回路を書く

1)Quirk

まず頭に浮かんだのが、これです。
JavaScriptで実装されたシミュレータでドラッグ&ドロップで量子回路を描ける上に、簡単な計算であれば、このシミュレータ上で動きを確認することもできます。(本当に便利)

ただ、やはり、こういった凝った回路は描くことが出来ません。。

2) StrangeWorks(Qiskit)

次に浮かんだのが、こちらでQiskitの量子回路をStrangeWorksで表示する。
Qiskitそのままでも良いのですが、なんとなくStrangeWorksが頭に浮かんだので。。
一応、

  • 回路は描くことはできるが、複雑なモノはやはり厳しい。
  • Qiskitでプログラムを記述し、回路への配置は自動で行われるので、
    • 良い点でいえば、細かいことを気にしなくて良い
    • 悪い点でいえば、ゲートの位置が細かく調整できない

image.png

3)QCEngine

こちらの本で紹介されている、シミュレータです。

  • Qiskit&StrangeWorksと同じようにコードを描くだけで回路が作図できます。
  • 一方で、回路の表記が若干独特だったり、ブロッホ球が円表示だったり慣れが必要です。

image.png

回路はこんな感じに作図できます。
関数毎にブロックが出来上がるんで、コメントを付けたり補記するのには良さそうですね。

image.png

一旦のまとめ

# ツール 作図に
使うモノ
メリット デメリット
1 Quirk マウス ・マウスでD&Dなので操作が簡単
・回路の装飾もシンプル
・部分的に囲む、コメント等が不可
2 Qiskit & StrangeWorks ソースコード ・配置を気にしなくて良い ・位置の微調整不可
・囲む、コメント等が不可(同上)
3 QCEngine ソースコード ・配置を気にしなくて良い
・関数で処理が表現可能
・表示が独特

でたどり着いたのが

結局キレイに作図したいという点で、$LATEX$のライブラリであるQ-circuitにたどり着きました。。

でも、当初掲げた、お手軽に(環境準備不要)を実現するために、WebでTexが使える

image.png

にたどり着きました。。

  • 複数名での共同編集等が必要であれば、有償アカウントが必要ですが、
  • 1名でメモ書き程度であれば、無償版のアカウントでも対応できるかと思います。

使った感じ

Texの記法、Q-circuitの記法になれる必要がありますが、さすが論文執筆でも使われる組み合わせ
作図もキレイですし、囲む、コメントする等も意のままです。

image.png

Texのコードを参考までに載せておきます(あまりキレイじゃないです)

\documentclass[12pt,border={25pt 5pt 5pt 5pt}]{standalone}
\usepackage{qcircuit}
\usepackage{braket}

\begin{document}

\Qcircuit @C=1.3em @R=.8em {
& & & & & & \mbox{Syndrome Measurement} & & & &
\mbox{Recovery}\\
& \qw & \qw & \ctrl{3} & \qw & \qw & \qw &
\ctrl{5} & \qw & \qw &
\multigate{2}{\ \mathcal{R}\ } & \qw\\
& \qw & \qw & \qw & \ctrl{2} & \ctrl{3} & \qw & \qw & \qw & \qw & \ghost{\ \mathcal{R}\ } \qw &\qw\\
& \qw & \qw & \qw & \qw & \qw & \ctrl{2} & \qw &\ctrl{3} & \qw & \ghost{\ \mathcal{R}\ } \qw &\qw\\
& & \lstick{\ket{0}} & \targ \qw & \targ \qw & \qw & \qw & \qw & \qw & \measure{M_a} &\control \cw \cwx\\
& & \lstick{\ket{0}} & \qw & \qw & \targ \qw &\targ \qw & \qw & \qw & \measure{M_b} &\control \cw \cwx\\
& & \lstick{\ket{0}} & \qw & \qw & \qw & \qw &\targ \qw & \targ \qw & \measure{M_c}
\gategroup{2}{2}{7}{10}{.8em}{--} &
\control \cw \cwx
}

\end{document}

まとめ

サクッと、簡単に作図したいときはやはり、手書きw or Quirkでしょうか。
一方で、やっぱり図はきれいな方が良い!というこだわりを持ちたい時は、

の組み合わせが良さそうです。で、Tex環境とかが手元にあればやはり、普通にTexで描くのが良いのでしょうね。
それを言ってしまったら、この記事は何?とツッコミを受けそうですが、そんなまとめでございました。

何かあれば、コメント等。よろしければLGTMいただければ幸いです。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?