<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cuda-Q on QSysArch - Quantum Computer System Architecture</title><link>https://qsysarch.com/ja/categories/cuda-q/</link><description>Recent content in Cuda-Q on QSysArch - Quantum Computer System Architecture</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Wed, 08 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://qsysarch.com/ja/categories/cuda-q/index.xml" rel="self" type="application/rss+xml"/><item><title>量子誤り訂正：量子ビットの寿命</title><link>https://qsysarch.com/ja/posts/quantum-error-correction-the-life-of-a-qubit/</link><pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate><guid>https://qsysarch.com/ja/posts/quantum-error-correction-the-life-of-a-qubit/</guid><description>&lt;p&gt;量子誤り訂正（QEC）は、今日の量子コンピューティングにおいて最も活発な研究分野の一つです。QECの目的は、量子ビットに格納された繊細な量子情報を、ノイズやデコヒーレンスから保護することです。&lt;/p&gt;&#10;&lt;p&gt;量子ビットの信頼性の尺度はエラー確率に基づいており、今日の物理量子ビットは、10,000回のゲート操作につき約1回のエラー（10⁻⁴回）というオーダーのエラー率を達成できます。しかし、完全に効率的であるためには、ゲートエラー率は少なくとも10億回に1回（10⁻⁹回）、あるいは1兆回に1回（10⁻¹²回）に達する必要があります。&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/quantum-error-correction/qubit-gate-error-probability.webp#center" alt="" style="width: 100%; max-width: 600px;"/&gt;&lt;/p&gt;&#10;&lt;p&gt;このメモは、実装の観点から量子誤り訂正（QEC）を理解するための、簡潔で分かりやすいガイドを提供することを目的としています。最初のセクションでは、論理量子ビットを作成するために必要なさまざまな誤り訂正計算方法の概要を説明します。2番目のセクションでは、論理的に訂正された量子ビットに対するゲート操作の実装の可能性を検討します。そして最後のセクションでは、&lt;a href="https://nvidia.github.io/cudaqx/components/qec/introduction.html" class="external-link" target="_blank" rel="noopener"&gt;CUDA-QEC&lt;/a&gt;フレームワークと、量子誤り訂正システムを作成するためのプログラムによるアプローチを紹介します。&lt;/p&gt;&#10;&lt;h1 id="qecは何をどのように解決しようとしているのか"&gt;&#10; QECは何を、どのように解決しようとしているのか？&#10; &lt;a class="heading-link" href="#qec%e3%81%af%e4%bd%95%e3%82%92%e3%81%a9%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e8%a7%a3%e6%b1%ba%e3%81%97%e3%82%88%e3%81%86%e3%81%a8%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e3%81%ae%e3%81%8b"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;QECの課題は、一見すると単純です。まずエラーが発生したことを検知し、次にそれを修正するだけです。ただし、これは量子ビットの量子状態を測定したり崩壊させたりすることなく行う必要があります。ここで、エンタングルした補助量子ビットの概念が登場します。&lt;/p&gt;&#10;&lt;p&gt;QECは、単一の量子ビットに情報を格納する代わりに、1つの論理量子ビットを複数の物理量子ビットにエンコードします。これらの物理量子ビットは、データ量子ビットと補助量子ビット（測定量子ビットとも呼ばれる）の2つのカテゴリに分けられます。量子ビットのグループは「エンタングルメント」状態を形成し、データ量子ビットの状態を崩壊させることなく補助量子ビットを読み出すことが可能になります。下の図では、赤い線が物理量子ビットへのいくつかの可能な論理量子ビットのマッピングを示しています。&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/quantum-error-correction/logical-qubit-physical-mapping.webp#center" alt="" style="width: 100%; max-width: 600px;"/&gt;&lt;/p&gt;&#10;&lt;h2 id="行動様式"&gt;&#10; 行動様式&#10; &lt;a class="heading-link" href="#%e8%a1%8c%e5%8b%95%e6%a7%98%e5%bc%8f"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;論理量子ビットを誤り訂正したいと仮定しましょう。論理量子ビットは複数の物理量子ビットに符号化されています。エラーが発生すると、物理量子ビットの1つが反転する可能性があります。反転はビット反転（X）の形、位相反転（Z）の形、またはその両方（Y）の形のいずれかで起こります。&lt;/p&gt;&#10;&lt;p&gt;フリップをチェックするために、QECは周期的な*&lt;a href="https://www.quera.com/glossary/syndrome-extraction" class="external-link" target="_blank" rel="noopener"&gt;シンドローム測定&lt;/a&gt;*を実行します。これは、データ量子ビットと相互作用する特定の補助量子ビットを測定するものです。まず補助量子ビットをデータ量子ビットとエンタングルさせ、次に読み出しを行います。エンタングルメントは、読み出しを実行するのに十分な短い期間だけ行われます。Googleの場合、このエンタングルメントはCZ（コントロールZ）ゲートを使用して実現され、CZゲート自体もエンタングルメントを利用しています。&lt;/p&gt;&#10;&lt;p&gt;&#10;&lt;img class="glightbox" src="https://qsysarch.com/images/quantum-error-correction/one-surface-code-cycle.webp" alt="補助量子ビット測定&amp;gt;" /&gt; (画像出典: &lt;a href="https://arxiv.org/pdf/2207.06431" class="external-link" target="_blank" rel="noopener"&gt;Google Quantum AI - 表面コード論理量子ビットの実装&lt;/a&gt;)&lt;/p&gt;&#10;&lt;p&gt;症候群が特定されると、補正を実行できます。このために、古典的なアルゴリズムによって発生した可能性のあるエラーが特定されます。システムは、関連する補正（X、Y、またはZゲート）を適用します。Googleの場合、位相ずれ（T2?）エラーを軽減するために、追加の動的デカップリング（DD）が使用されます。&lt;/p&gt;&#10;&lt;h2 id="量子コード"&gt;&#10; 量子コード&#10; &lt;a class="heading-link" href="#%e9%87%8f%e5%ad%90%e3%82%b3%e3%83%bc%e3%83%89"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;データと測定用の量子ビットは非局所的に分散されており、1つまたは2つの量子ビットにエラーが発生してもグループの一貫性が損なわれません。この分散は「量子コード」と呼ばれます。実際のシステムでは、より大規模で高度なコードが使用されます。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://errorcorrectionzoo.org/c/shor_nine" class="external-link" target="_blank" rel="noopener"&gt;Shorコード&lt;/a&gt; (9量子ビット): ビット反転エラーと位相反転エラーの両方を訂正します。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://errorcorrectionzoo.org/c/steane" class="external-link" target="_blank" rel="noopener"&gt;Steaneコード&lt;/a&gt; (7量子ビット): 初の完全量子誤り訂正コード。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://errorcorrectionzoo.org/c/surface" class="external-link" target="_blank" rel="noopener"&gt;表面符号&lt;/a&gt; (\(2n^2-1\) 量子ビット) — 量子ビットを2次元グリッド上に配置します。表面符号距離\(n\)は、同時に訂正できるエラーの数を表します。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;実際には、各測定量子ビットは、古典アルゴリズムの判定ロジックに使用される安定化演算子を射影的に測定する役割を担っています。安定化符号は、古典的な誤り訂正における線形符号の量子版であり、パリティチェックを用いてノイズビットの誤りを検出します。&lt;/p&gt;&#10;&lt;h1 id="論理量子ビット上で量子アルゴリズムを実行する方法は"&gt;&#10; 論理量子ビット上で量子アルゴリズムを実行する方法は？&#10; &lt;a class="heading-link" href="#%e8%ab%96%e7%90%86%e9%87%8f%e5%ad%90%e3%83%93%e3%83%83%e3%83%88%e4%b8%8a%e3%81%a7%e9%87%8f%e5%ad%90%e3%82%a2%e3%83%ab%e3%82%b4%e3%83%aa%e3%82%ba%e3%83%a0%e3%82%92%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%e3%81%af"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h1&gt;&#10;&lt;p&gt;物理量子ビット上で量子アルゴリズムを実行するということは、物理量子ビット上で&lt;a href="https://qsysarch.com/posts/executing-a-quantum-algorithm/" &gt;ゲート&lt;/a&gt;を操作することを意味します。では、論理量子ビットを扱う場合はどうでしょうか？これは単純な質問のように思えるかもしれませんが、答えはそれほど単純ではなく、論理量子ビットゲートへのアプローチ方法は複数あります。まずは単一量子ビットゲートから始め、その後、複数量子ビットゲートの課題に取り組みましょう。&lt;/p&gt;&#10;&lt;h2 id="論理量子ビットへの単一量子ビットゲートの適用"&gt;&#10; 論理量子ビットへの単一量子ビットゲートの適用&#10; &lt;a class="heading-link" href="#%e8%ab%96%e7%90%86%e9%87%8f%e5%ad%90%e3%83%93%e3%83%83%e3%83%88%e3%81%b8%e3%81%ae%e5%8d%98%e4%b8%80%e9%87%8f%e5%ad%90%e3%83%93%e3%83%83%e3%83%88%e3%82%b2%e3%83%bc%e3%83%88%e3%81%ae%e9%81%a9%e7%94%a8"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;論理ゲートの実装の種類：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.riverlane.com/news/speeding-up-amo-qubits-with-fast-transversal-logic" class="external-link" target="_blank" rel="noopener"&gt;横断ゲート&lt;/a&gt;: 横断ゲートは、各物理キュービットに対して独立して作用します。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;論理量子ビットゲートは、n個の物理量子ビットそれぞれに同じゲートを適用することと同等です。例えば、7量子ビットのスティーン符号では、論理アダマールゲートは、7個の物理量子ビットそれぞれに物理的なHゲートを適用することによって実現されます。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://arxiv.org/abs/2404.13202" class="external-link" target="_blank" rel="noopener"&gt;格子手術&lt;/a&gt; / &lt;a href="https://arxiv.org/abs/1311.0277" class="external-link" target="_blank" rel="noopener"&gt;トポロジカルコード&lt;/a&gt; &lt;img src='https://qsysarch.com/images/quantum-error-correction/surface-code-and-various-logical-entagling-gate-scheme.webp' style="width:520px;max-width:100%;float:right;padding-left:20px;"&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;表面符号では、論理量子ビットは物理量子ビットの大きなパッチとして符号化される。論理演算は、パッチの結合と分割、あるいは欠陥の編み込みによって実現され、これによって符号のトポロジーが変化する。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href='https://arxiv.org/pdf/2505.15907'&gt;arxiv.2505.15907&lt;/a&gt;に掲載されている右側の画像は、格子手術操作が、2つのコードパッチを端に沿って結合することによって実行される様子を示しています。この操作は、耐障害性を実現するためにO(d)ラウンドを必要とします。&lt;/p&gt;&#10;&lt;h2 id="論理量子ビットへのマルチ量子ビットゲートの適用"&gt;&#10; 論理量子ビットへのマルチ量子ビットゲートの適用&#10; &lt;a class="heading-link" href="#%e8%ab%96%e7%90%86%e9%87%8f%e5%ad%90%e3%83%93%e3%83%83%e3%83%88%e3%81%b8%e3%81%ae%e3%83%9e%e3%83%ab%e3%83%81%e9%87%8f%e5%ad%90%e3%83%93%e3%83%83%e3%83%88%e3%82%b2%e3%83%bc%e3%83%88%e3%81%ae%e9%81%a9%e7%94%a8"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="見出しへのリンク"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;見出しへのリンク&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;*&lt;a&gt;横断型マルチ量子ビットゲート&lt;/a&gt;：多くの量子コード（例：Steane、Bacon–Shor）では、論理CNOTを横断的に実行できます：\( CNOT_L​=\sum_{i=1}^n ​CNOT(a_i​,b_i​) \)&lt;/p&gt;</description></item></channel></rss>