2026-07-02 時点レベル 3

QASMとQIR

OpenQASMは人間が読める量子回路の「アセンブリ言語」であり、QIRは量子と古典のロジックを一緒に運ぶLLVMベースの中間表現です — 2026年現在、量子ソフトウェアスタックの2つの収束標準です。

どういう意味か

量子フレームワーク — Qiskit、Cirq、Pytket、Q#、PennyLane、Braket — はすべて同じ回路を異なる方言で書きます。だからエコシステムには共通の書き言葉が必要です。QASM(Quantum Assembly Language)は人間が読める回路のテキスト形式、つまり「量子のアセンブリ言語」です。しかし最も普及しているOpenQASM 2.0は、リアルタイムの測定に基づく分岐(動的回路)を表現できず、各フレームワークが独自拡張を付け足して形式が断片化しました。OpenQASM 3は古典制御フローを追加してこれを修正します。QIR(Quantum Intermediate Representation)は一段深く進みます:コンパイラの中間表現(IR)の考え方を適用し、言語フロントエンドとハードウェアバックエンドを分離します。LLVM上に構築され、古典と量子のロジックを1つのプログラムに収められます — ハイブリッド計算に必要な橋です。Microsoftが設立したQIR Allianceが開発し、2026年現在NVIDIA・Quantinuum・Rigetti・IQM・ORNLが採用中です。MLIRはさらに一般化します:「方言(dialect)」により、1つのプログラムに古典制御・量子回路・パルスレベルの記述まで収め、ハードウェアに向けて段階的に下げていきます(progressive lowering)。ただし実際には、多くのベンダーはまだJSONのような単純な回路形式しか受け付けません — 標準の採用は論文より遅れています。

日常のたとえ

あなたの量子フレームワーク — Qiskit、Cirq、Pytket、Q#、PennyLane、Braket、どれも同じベル対を異なる方言で書きます — には共通の書き言葉が必要です。QASMこそ人間が読める「量子のアセンブリ言語」です。しかし最も普及しているOpenQASM 2.0はリアルタイムのif分岐(動的回路)を表現できず、各フレームワークが独自拡張を付け足してエコシステムが断片化しました。OpenQASM 3がこれを修正します。QIRは一段深く進みます:多くの言語と多くの機械の間の翻訳ハブのように(LLVM上に構築されたコンパイラIRの考え方)、古典と量子のロジックを1つのプログラムに一緒に運びます — ハイブリッド計算に必要な橋です。MLIRは「方言(dialect)」でさらに一般化し、古典制御・回路・パルスを1つのプログラムに収めて段階的に下げます。
アセンブリ(assembly)はラテン語のassimulare「かき集める」に由来します — 機械語の一歩手前の「組み立て言語」。QASMはQuantum + ASM(アセンブリ)です。IRはIntermediate Representation、漢字で中間表現 — 「言語と機械の間の橋」です。

よくある誤解

  • QASMは回路のテキスト形式であり、人間が大きなプログラムを書くためのプログラミング言語ではありません — SDKが生成します。
  • OpenQASM 2.0は回路途中の測定に基づく制御フローを表現できません — エコシステムを断片化させた実際の限界です。2026年現在、OpenQASM 3とQIRが収束標準です。
  • 多くのベンダーはまだQIR・MLIRではなく単純な回路形式(JSONなど)しか受け付けません — 標準の採用は論文より遅れています。

要点

  • QASMは人間が読める回路テキスト — SDKが生成し交換する「量子アセンブリ言語」です。
  • OpenQASM 3は古典制御フローを追加し、リアルタイムの測定に基づく分岐(動的回路)をついに標準で表現できるようにします。
  • QIRはハイブリッドの量子+古典ロジックを運ぶLLVMベースの中間表現です。QIR Alliance(Microsoft設立、2026年現在NVIDIA・Quantinuum・Rigetti・IQM・ORNLが採用中)が開発しています。
  • MLIRの「方言(dialect)」は、古典制御・量子回路・パルスが1つのプログラムに共存し、ハードウェアへ段階的に下がることを可能にします。

理解度チェック

OpenQASM 2.0のどの限界が、量子ソフトウェアのエコシステムをベンダー独自拡張へと断片化させましたか?

  1. A.2量子ビットゲートを記述できなかった
  2. B.リアルタイムの測定に基づく制御フロー(動的回路)を表現できなかった
  3. C.IBMハードウェアでしか動かなかった
  4. D.ライセンス料が必要だった
答えを見る

答え: B. リアルタイムの測定に基づく制御フロー(動的回路)を表現できなかった

理由: OpenQASM 2.0は回路途中の測定結果によるリアルタイム分岐を表現できず、各フレームワークが独自拡張を付け足して形式が断片化しました。OpenQASM 3は古典制御フローを追加してこれを修正します。

QIRがハイブリッド量子古典計算の橋として特に適している理由は何ですか?

  1. A.Pythonで書かれているから
  2. B.回路をグラフィカルに描画するから
  3. C.LLVM上に構築され、古典と量子のロジックを1つのプログラムに収め、フロントエンドとバックエンドを分離するから
  4. D.回路を最少ゲート数に圧縮するから
答えを見る

答え: C. LLVM上に構築され、古典と量子のロジックを1つのプログラムに収め、フロントエンドとバックエンドを分離するから

理由: QIRはコンパイラの中間表現の考え方を量子に適用したものです:LLVMベースで古典と量子のロジックを一緒に表現し、言語とハードウェアを分離します — ハイブリッド計算に必要な橋です。

前提となる概念

OpenQASM 3 spec is stable literature, but adoption landscape (QIR Alliance members, vendor format support, MLIR dialects) evolves; text phrases these as-of-2026.

実践で学ぶ

この概念は46レベルのカリキュラムの一部です。インタラクティブなシミュレーターと、回答を表示前に検証するチューター Lumen と一緒に学べます。レベル1–5は無料です。