量子状態が目標にどれほど近いかを表すとき、「忠実度」という数値がよく使われます。しかし、同じ目標への忠実度が等しくても、状態が同じとは限りません。測り方を変えると、一方では出やすく、もう一方では出にくい結果が見つかることもあります。
この違いを、忠実度とトレース距離という二つの指標で見てみます。量子計算用ソフトウェアQuTiPの定義を手がかりに、1量子ビットの小さな行列だけで計算できる例を使います。
簡単にまとめると?
- 忠実度は、平方根を取る定義と、その二乗を使う定義を区別します。同じ名前でも数値をそのまま比較できるとは限りません。
- 目標への忠実度が同じ二つの状態でも、別の測定で得られる確率や、目標までのトレース距離は変わります。
- 純粋状態同士で使える関係式を、混合状態を含む比較へ広げないことが大切です。
最初に「何を忠実度と呼ぶか」をそろえる
量子状態をまとめて表す道具が、密度行列です。1量子ビットなら2×2の行列で、どの測定からどの結果が得られるかという確率を計算できます。特定の状態ベクトルで表せる純粋状態も、複数の状態を確率的に混ぜた混合状態も扱えます。
二つの密度行列をρとσと書くと、この記事では忠実度を次のFで表します。
F(ρ, σ) = Tr √(√ρ σ √ρ)
Trは行列の対角成分を足す操作です。√ρは、各成分を別々に平方根にするのではなく、行列としての平方根を意味します。ここで使うのは、正しく正規化された、同じ次元・同じ基底で表された密度行列です。
QuTiP 5.1.1の固定版で確認したfidelityは、この平方根を取る側の定義です。一方、F²を忠実度と呼ぶ文献もあります。例えばFが約0.9487ならF²は0.9です。定義が違うだけの二つの数値を見て、「0.9の方が品質が低い」とは判断できません。[1][2]
また、ここで比較するのは量子状態です。量子操作を比べるプロセス忠実度や平均ゲート忠実度とは対象が異なるため、それらの数値との換算には踏み込みません。
目標への重なりが同じ二つの状態
目標を|0〉とし、基底の順序を|0〉、|1〉に固定します。目標の密度行列はσ=[[1, 0], [0, 0]]です。これと比較する二つの状態を用意します。
Aは、|0〉を90%、|1〉を10%の確率で混ぜた状態です。その密度行列は次のようになります。
ρA = [ 0.9 0 ]
[ 0 0.1 ]
Bは、√0.9|0〉+√0.1|1〉という一つの純粋状態です。行列にすると、対角以外にも0.3が現れます。
ρB = [ 0.9 0.3 ]
[ 0.3 0.1 ]
AとBの対角成分は同じです。|0〉か|1〉かを区別する測定、いわゆるZ基底での測定なら、どちらも|0〉が出る確率は0.9になります。
今回のように目標が純粋状態|0〉であるとき、忠実度の二乗はF² = 〈0|ρ|0〉です。この例では行列の左上を読めばよく、AもBもF²=0.9、F=√0.9≒0.9487です。ただし、F²をこの測定確率として読めるのは、指定した純粋な目標への射影という条件があるからです。一般の忠実度を、そのまま装置の成功率と呼ぶことはできません。
二つの行列の違いは、対角以外の成分にあります。Bの0.3は、この基底での重ね合わせに関わるコヒーレンスを表します。Aではその成分が0です。対角の確率だけをそろえても、行列全体まではそろいません。

測り方を変えると、違いが確率に現れる
次は、|+〉=(|0〉+|1〉)/√2と、その直交する|−〉を区別するX基底で測ります。|+〉が出る確率は〈+|ρ|+〉です。今回の実数の行列では、四つの成分を足して2で割る計算になります。
Aでは(0.9+0+0+0.1)/2=0.5です。Bでは非対角成分も寄与して、(0.9+0.3+0.3+0.1)/2=0.8になります。Z基底では見分けられなかった違いが、X基底の予測には現れました。
これは、実際に何回測っても必ず50%や80%になるという意味ではありません。指定した状態から計算した理想的な確率です。有限回の測定結果にはばらつきがあり、状態を実験データから推定するには、その不確かさを別に扱う必要があります。
トレース距離は、目標との差を行列全体で計算する
トレース距離Dは、二つの行列の差Δ=ρ−σから計算します。QuTiPのtracedistに対応する定義は次のとおりです。[2]
D(ρ, σ) = ½ Tr √(Δ†Δ)
†は複素共役を取って転置する操作です。密度行列の差Δはエルミート行列なので、この式はΔの固有値の絶対値を足し、2で割る計算にもなります。各成分の差をただ足す方法とは異なります。
Aと目標の差は対角成分が−0.1と0.1で、固有値もこの二つです。その絶対値を足して2で割ると、D=0.1になります。
Bと目標の差は[[−0.1, 0.3], [0.3, 0.1]]です。この行列を二乗すると、対角成分が0.1、非対角成分が0になります。固有値は−√0.1と√0.1なので、D=√0.1≒0.3162です。同じ忠実度だった二つの状態に、異なる距離が得られました。
| 目標|0〉との比較 | A:確率的な混合 | B:純粋な重ね合わせ |
|---|---|---|
| F² | 0.9 | 0.9 |
| F | √0.9 ≒ 0.9487 | √0.9 ≒ 0.9487 |
| トレース距離D | 0.1 | √0.1 ≒ 0.3162 |
| Z基底で|0〉が出る確率 | 0.9 | 0.9 |
| X基底で|+〉が出る確率 | 0.5 | 0.8 |
この表から「混合状態の方が常によい」とは言えません。Aは、この目標に対するトレース距離ではBより近い状態です。一方、Bの重ね合わせを利用したい用途で、非対角成分を失ったAをそのまま代わりにできるとは限りません。比較する目標と、必要な性質を決めてから指標を読みます。
純粋状態同士の関係式には、使える範囲がある
二つとも純粋状態なら、この記事のFの定義でD=√(1−F²)が成り立ちます。QuTiPのガイドも、純粋状態同士の条件を付けてこの関係を示しています。[1]
Bと目標はどちらも純粋状態なので、F²=0.9からD=√0.1を得られます。しかし、Aは混合状態です。同じ式を当てはめると約0.3162となり、直接計算した0.1と一致しません。忠実度だけからこの等式で距離を求める前に、両方の状態が純粋かを確かめる必要があります。
数値の横に、比較条件を残す
量子状態を比較する報告や計算では、まず忠実度がFとF²のどちらかを確認します。次に、比較対象の状態、基底と次元、純粋状態か混合状態かをそろえます。そのうえで、目的に関係する測定の予測や別の指標を併記すれば、同じ数字の裏にある違いを読み取りやすくなります。
今回の例は、正規化された理想的な1量子ビット状態の代数計算です。QuTiPの実行速度や量子装置の性能を試験したものではなく、測定誤差を含む密度行列の推定・修復も扱っていません。忠実度という一つの値から、状態の全情報や実用上の優劣を決めないことが、比較の出発点になります。
図表・数値例は、上記の定義に従って作成した独自の説明です。
出典
- QuTiP 5.1 User Guide — States and operators / Density matrices。密度行列と距離指標、純粋状態同士の関係式を参照。2026年10月16日UTC取得の保存版を使用。
- QuTiP 5.1.1 — qutip/core/metrics.py。固定コミット
7accc77a70a08f965a29fdd13515f79cdcab9703のfidelityとtracedistの定義・実装を確認。ガイドの5.1系スナップショットと固定実装を区別し、最新版であるとは主張していません。
