第2章: 超伝導量子ビット

⚛️ ジョセフソン効果からトランズモンへ、そして最後の3ナノメートルがコヒーレンス時間を決める理由

📖 読了時間: 45-50分 📊 難易度: 上級 💻 コード例: 7個 📝 演習問題: 6問

🌐 JP | 🇬🇧 EN | Last sync: 2026-08-13

基礎数理道場 > 量子ハードウェア入門 > 第2章

超伝導量子ビットとは、原子のようにふるまう、リソグラフィで描かれた数百マイクロメートル程度の電気回路です。それが当たり前のことだとは到底言えません。本章の目的は、それを定量的にすることにあります。どんな回路なのか、なぜ非線形でなければならないのか、たった1つの無次元比がスペクトルのすべてをどう決めるのか、そして — 後半を占めるのはこの部分ですが — なぜコヒーレンス時間が回路設計についての言明ではなく、表面のアモルファス酸化膜についての言明になってしまうのか、です。

本章は、読み終える頃には自分の手でできるようになっているべき1つの計算を軸に組み立てられています。トランズモンのハミルトニアンはコサインポテンシャル中の粒子であり、Cooper対の電荷基底では10行のNumPyに収まる三重対角行列になります。これを対角化すれば遷移周波数、非調和性、電荷分散が得られ、$E_J/E_C$ を動かしたときにこの3つが互いにどうトレードオフするかが、この方式全体の設計空間そのものなのです。本章の残り — 制御、読み出し、2量子ビットゲート、デコヒーレンス — はすべて、その行列から出てくる数値の帰結にすぎません。

超伝導そのものは既知として扱います。Cooper対、秩序変数、ギャップがまだ馴染みのないものであれば、材料科学道場の超伝導入門がそれらを展開しています。これらの装置の上で走るアルゴリズムは姉妹コース量子コンピューティング入門の主題です。あちらが「ゲートが作用したと仮定する」と述べるところで、本章はそのゲートの代価を述べます。周期ポテンシャル中の粒子の量子力学は文字どおりトランズモンの問題であり、量子力学入門にあります。

単位と規約。 本章ではエネルギーを周波数 $E/h$ としてGHzで表記します。したがって「$E_C/h = 250$ MHz」と「$E_C = 250$ MHz」は同じ意味であり、GHzで書かれたハミルトニアンは $h$ で割ったものと理解してください。角周波数には明示的に $2\pi$ を付けます:$\omega_{01} = 2\pi f_{01}$。シミュレーションの内部では $\hbar = 1$ とし、実験室の量(容量、抵抗、温度)が必要になったときにだけSI単位に戻します。$T_1$、$T_2$、$T_2^\ast$ は第1章で固定した定義をそのまま使います。

学習目標

本章を修了すると、以下のことができるようになります:


2.1 超伝導とジョセフソン効果

マクロな自由度が1つだけ

臨界温度以下の超伝導体は、本章の目的にとっては1つの複素秩序変数 $\psi = |\psi| e^{i\varphi}$ で記述されます。その大きさは材料が決めるもので、私たちが問題にするエネルギー領域では力学変数ではありません。力学変数なのは位相 $\varphi$ です。これが超伝導回路が量子的でありうる理由のすべてです。$10^{23}$ 個の電子を含む物体が、熱的にかき乱されない集団自由度を1つだけもつ — なぜならそれを守るエネルギーギャップ $\Delta$ があるからです。

接合材料の主役であるアルミニウムでは、$T_c \approx 1.2$ K からBCSギャップ $\Delta = 1.764\,k_B T_c \approx 180\ \mu\mathrm{eV}$、すなわち $\Delta/h \approx 44$ GHz が得られます。ここから直ちに2つの数値が従い、どちらも後で効いてきます。対破壊のしきい値は $2\Delta/h \approx 88$ GHz、そして $\Delta/k_B \approx 2.1$ K なので、20 mKの希釈冷凍機はギャップの100分の1の位置にあります。

2つのジョセフソン関係式

2つの超伝導体のあいだに薄い絶縁バリアを挟みます。アルミニウムなら自分自身の酸化物、2〜3ナノメートルのアモルファスAlO$_x$です。Cooper対がコヒーレントにトンネルし、そのトンネルはバリア両端の位相差 $\varphi$ が支配します:

$$ I = I_c \sin\varphi, \qquad V = \frac{\Phi_0}{2\pi}\frac{d\varphi}{dt}, \qquad \Phi_0 = \frac{h}{2e} $$

第1式は、電圧なしで超電流が流れることを述べています。第2式は、電圧が位相を巻き上げることを述べています。両者を合わせると接合は非線形インダクタになります。第1式を微分して第2式を代入すると $V = L_J(\varphi)\, dI/dt$ となり、

$$ L_J(\varphi) = \frac{\Phi_0}{2\pi I_c \cos\varphi} $$

すなわち流れる電流に依存するインダクタンスです。この依存性こそ超伝導量子ビットが存在する理由のすべてであり、2.2節がその理由を説明します。

$\int I V\, dt$ を積分すると接合に蓄えられるエネルギー $-E_J\cos\varphi$ が得られ、

$$ E_J = \frac{\Phi_0 I_c}{2\pi} = \frac{\hbar I_c}{2e} $$

ジョセフソンエネルギーです。これは位相についてのコサインポテンシャルであり、振り子とまったく同じであって、量子ビットは量子的な振り子なのです。

作製パラメータから $E_J$ へ

$I_c$ は直接ダイヤルで合わせられる量ではありません。作製工程が制御しているのは酸化膜です。Ambegaokar-Baratoffの関係式は、$T = 0$ での臨界電流を接合の常伝導抵抗 $R_n$ — 同じ接合で超伝導を消したときの抵抗 — に結びつけます:

$$ I_c R_n = \frac{\pi \Delta}{2e} \quad \Longrightarrow \quad \frac{E_J}{h} = \frac{\Delta}{8 e^2 R_n} $$

これは驚くほど有用な式です。$R_n$ はウェハが冷凍機に入る前に、室温でテスト接合について測れるからです。そして $R_n$ 自体はトンネルバリアが決めます:$R_n = (RA)/A$ で、抵抗-面積積 $RA$ はバリア厚さ、したがって酸化ドーズに指数関数的に依存し、$A$ は接合面積です。

もう1つのエネルギースケールは静電的なものです。島をCooper対1個分だけ帯電させる代価は

$$ E_C = \frac{e^2}{2C} $$

で、$C$ は接合をシャントする全容量です。規約に注意してください。$E_C$ は $2e$ ではなく $e$ で書いてあるので、Cooper対1個の代価は $4E_C$ です。以下のハミルトニアンに係数4が現れるのはそのためです。

Code Example 1: 2つのエネルギースケール

本章のすべては $E_J$ と $E_C$ の関数です。この例では、作製パラメータから両者を接合面積の関数として計算し、続いて同じ計算を逆に読んで目標スペクトルから接合を設計します。

"""第2章 Code Example 1: ジョセフソン回路の2つのエネルギースケール。"""
import numpy as np

# --- SI単位の物理定数 ---------------------------------------------------
h = 6.62607015e-34          # J s
hbar = h / (2 * np.pi)
e = 1.602176634e-19         # C
kB = 1.380649e-23           # J / K
Phi0 = h / (2 * e)          # magnetic flux quantum, 2.068e-15 Wb

# --- 接合材料としてのアルミニウム ---------------------------------------
Tc = 1.20                                  # K, thin-film Al
Delta = 1.764 * kB * Tc                    # BCS gap at T = 0
print("アルミニウム電極:")
print(f"  Tc            = {Tc:.2f} K")
print(f"  Delta         = {Delta / e * 1e6:.1f} ueV = {Delta / h / 1e9:.2f} GHz x h")
print(f"  2Delta/h      = {2 * Delta / h / 1e9:.1f} GHz "
      f"(これを超える光子はCooper対を破壊する)")
print(f"  Delta/kB      = {Delta / kB * 1e3:.1f} mK")
print()

# --- 接合:面積から常伝導抵抗を求める ----------------------------------
# Al/AlOx/Al トンネル接合は抵抗-面積積で規定される。この値は酸化ドーズ
# (圧力×時間)に対して指数関数的に変化する。
RA = 700.0        # Ohm um^2, a representative resistance-area product
C_specific = 45.0  # fF / um^2, specific capacitance of a ~2 nm AlOx barrier
C_shunt = 75.0     # fF, the deliberate shunt capacitance of a transmon

print(f"抵抗-面積積     RA   = {RA:.0f} Ohm um^2")
print(f"単位面積容量    c    = {C_specific:.0f} fF/um^2")
print(f"シャント容量    Cs   = {C_shunt:.0f} fF")
print()

header = (f"{'A (um^2)':>9}{'Rn (kOhm)':>11}{'Ic (nA)':>9}{'EJ/h (GHz)':>12}"
          f"{'C (fF)':>8}{'EC/h (MHz)':>12}{'EJ/EC':>8}"
          f"{'w01/2pi (GHz)':>14}{'alpha/2pi (MHz)':>16}")
print(header)
print("-" * len(header))
for A in [0.010, 0.020, 0.040, 0.070, 0.120, 0.200]:
    Rn = RA / A                              # Ohm
    Ic = np.pi * Delta / (2 * e * Rn)        # Ambegaokar-Baratoff at T = 0
    EJ = hbar * Ic / (2 * e)                 # = Phi0 Ic / 2pi
    C = (C_shunt + C_specific * A) * 1e-15   # F
    EC = e**2 / (2 * C)
    w01 = np.sqrt(8 * EJ * EC) - EC          # leading transmon result
    print(f"{A:>9.3f}{Rn / 1e3:>11.1f}{Ic * 1e9:>9.1f}{EJ / h / 1e9:>12.2f}"
          f"{C * 1e15:>8.1f}{EC / h / 1e6:>12.1f}{EJ / EC:>8.1f}"
          f"{w01 / h / 1e9:>14.3f}{-EC / h / 1e6:>16.1f}")

# --- 同じ関係を逆に読む:目標スペクトルから設計する --------------------
print()
f01_target = 5.0e9    # Hz
alpha_target = -250e6  # Hz
EC = -h * alpha_target                       # alpha = -EC
EJ = (h * f01_target + EC)**2 / (8 * EC)
C = e**2 / (2 * EC)
Ic = 2 * e * EJ / hbar
Rn = np.pi * Delta / (2 * e * Ic)
print(f"設計目標: f01 = {f01_target / 1e9:.1f} GHz, "
      f"alpha/2pi = {alpha_target / 1e6:.0f} MHz")
print(f"  -> EC/h = {EC / h / 1e6:.1f} MHz, EJ/h = {EJ / h / 1e9:.2f} GHz, "
      f"EJ/EC = {EJ / EC:.1f}")
print(f"  -> C = {C * 1e15:.1f} fF, Ic = {Ic * 1e9:.1f} nA, "
      f"Rn = {Rn / 1e3:.1f} kOhm, A = {RA / (Rn / 1e3) / 1e3:.4f} um^2")
print()

# --- 回路を冷やさなければならない理由 ----------------------------------
for T in [4.0, 0.100, 0.020]:
    nbar = 1.0 / (np.exp(h * f01_target / (kB * T)) - 1.0)
    print(f"  T = {T * 1e3:>7.1f} mK: kBT/h = {kB * T / h / 1e9:>8.2f} GHz, "
          f"5 GHzモードの熱占有数 = {nbar:.3e}")
アルミニウム電極:
  Tc            = 1.20 K
  Delta         = 182.4 ueV = 44.11 GHz x h
  2Delta/h      = 88.2 GHz (これを超える光子はCooper対を破壊する)
  Delta/kB      = 2116.8 mK

抵抗-面積積     RA   = 700 Ohm um^2
単位面積容量    c    = 45 fF/um^2
シャント容量    Cs   = 75 fF

 A (um^2)  Rn (kOhm)  Ic (nA)  EJ/h (GHz)  C (fF)  EC/h (MHz)   EJ/EC w01/2pi (GHz) alpha/2pi (MHz)
---------------------------------------------------------------------------------------------------
    0.010       70.0      4.1        2.03    75.5       256.7     7.9         1.787          -256.7
    0.020       35.0      8.2        4.07    75.9       255.2    15.9         2.626          -255.2
    0.040       17.5     16.4        8.13    76.8       252.2    32.2         3.799          -252.2
    0.070       10.0     28.7       14.23    78.2       247.9    57.4         5.064          -247.9
    0.120        5.8     49.1       24.40    80.4       240.9   101.3         6.616          -240.9
    0.200        3.5     81.9       40.66    84.0       230.6   176.3         8.430          -230.6

設計目標: f01 = 5.0 GHz, alpha/2pi = -250 MHz
  -> EC/h = 250.0 MHz, EJ/h = 13.78 GHz, EJ/EC = 55.1
  -> C = 77.5 fF, Ic = 27.7 nA, Rn = 10.3 kOhm, A = 0.0678 um^2

  T =  4000.0 mK: kBT/h =    83.35 GHz, 5 GHzモードの熱占有数 = 1.617e+01
  T =   100.0 mK: kBT/h =     2.08 GHz, 5 GHzモードの熱占有数 = 9.981e-02
  T =    20.0 mK: kBT/h =     0.42 GHz, 5 GHzモードの熱占有数 = 6.156e-06

着目点。 面積 $0.07\ \mu\mathrm{m}^2$ の接合 — おおよそ $260 \times 260$ nm、電子線リソグラフィの日常的な寸法です — から $R_n = 10\ \mathrm{k\Omega}$、$I_c = 29$ nA、$E_J/h = 14$ GHz が得られます。サブミクロンの接合が運ぶのはナノアンペアであってミリアンペアではありません。

$E_C$ は表を下に辿ってもほとんど動きません(257から231 MHz)。75 fFのシャント容量が、接合自身の数fFを圧倒しているからです。これは意図的なものです。設計者は大きなリソグラフィで定義した容量で $E_C$ を決め、小さな接合で $E_J$ を決めるので、2つのつまみはほぼ独立になります。一方で $E_J/E_C$ は同じ表のなかで8から176まで動きます。面積の20倍の変化から22倍の変化です。

設計行は、主要項の関係 $\omega_{01} \approx \sqrt{8E_JE_C} - E_C$ と $\alpha \approx -E_C$ を逆に解いて $f_{01} = 5$ GHz、$\alpha = -250$ MHz を狙い、$E_J/E_C = 55$、$C = 78$ fF、$R_n = 10\ \mathrm{k\Omega}$ に着地します。これが本章の以降すべての数値例で使うパラメータです。Code Example 2 は、この設計の厳密なスペクトルが $\alpha = -250$ MHz ではなく $-285$ MHz であることを示します。漸近式についての最初の教訓です。

最後に温度の行です。5 GHzのモードは20 mKで熱占有数 $6 \times 10^{-6}$ です。量子ビットは本当に基底状態にあり、これが5 GHzの遷移が量子ビットとして使え、5 MHzのそれが使えない理由です。100 mKでは占有数はすでに10%、4 Kではモードに16個の光子が入っています。冷凍機は便宜ではありません。


2.2 LC回路から人工原子へ

調和振動子ではだめな理由

普通のLC回路 — コンデンサと線形インダクタ — を量子化すると調和振動子になります。準位は $\hbar\omega = \hbar/\sqrt{LC}$ で等間隔です。これは立派な量子系であり、そして量子ビットとしては役に立ちません。その理由はコヒーレンスとは何の関係もありません。

量子ビットはアドレス可能でなければなりません。$0 \to 1$ 遷移を駆動するとは $\omega_{01}$ の場をかけることですが、$\omega_{12} = \omega_{01}$ が厳密に成り立っていれば、同じ場が $1 \to 2$ をまったく同じ強さで駆動し、状態は即座に計算部分空間から漏れ出します。さらに悪いことに調和振動子の行列要素は $\sqrt{n+1}$ で増えるので、リークは意図した遷移よりも速いのです。非調和性がゼロの系はどんなパルス整形でも救えません。量子ビット遷移とリーク遷移が異なる周波数が存在しないからです。

必要なのは、はっきりした非調和性

$$ \alpha = \omega_{12} - \omega_{01} $$

であって、帯域 $1/\tau$ のパルスが $1 \to 2$ に触れずに $0 \to 1$ をアドレスできるだけの大きさが要ります。これは直ちに速度制限 $\tau \gtrsim 1/|\alpha|$ を課し、2.4節がそれを定量化します。

回路のハミルトニアン

線形インダクタをジョセフソン接合に置き換えます。回路の自由度は1つ、接合両端の位相 $\varphi$ で、その共役運動量は接合を横切ったCooper対の個数 $n$ であり、$[\varphi, n] = i$ です。ハミルトニアンは運動項+ポテンシャル項の形になります:

$$ H = 4E_C (\hat{n} - n_g)^2 - E_J \cos\hat{\varphi} $$

第1項は $\hat{n}$ 個の余剰対の充電エネルギーで、オフセット電荷 $n_g$ だけずれています。これは基板や表面の迷い電荷が決める、連続的で制御不能なパラメータです。ドリフトし、跳び、初期の電荷量子ビットにとって最大の問題でした。

第2項がコサインポテンシャルです。これはまさに量子的な振り子のハミルトニアンで、$4E_C$ が $\hbar^2/2m$ の役割を果たし(したがって $E_C$ は逆質量であり、大きな容量は重い粒子です)、$E_J$ が重力トルクにあたります。

なぜ電荷基底なのか

電荷基底 $\lbrace |n\rangle \rbrace$($n \in \mathbb{Z}$)では、ハミルトニアンは三重対角になります。充電項は対角で、コサインは最近接ホップです。$e^{\pm i\varphi}$ がCooper対数を1つずらすからです:

$$ \cos\hat{\varphi} = \tfrac{1}{2}\sum_n \left( |n\rangle\langle n+1| + |n+1\rangle\langle n| \right) $$

したがって

$$ H = \sum_n 4E_C (n - n_g)^2 |n\rangle\langle n| - \frac{E_J}{2}\sum_n \left( |n\rangle\langle n+1| + |n+1\rangle\langle n| \right) $$

$|n| \le n_\mathrm{cut}$ で打ち切ればサイズ $2n_\mathrm{cut}+1$ の実対称行列になり、numpy.linalg.eigvalsh が瞬時に対角化します。打ち切り以外に近似はなく、しかも打ち切りの収束は速いのです。深いコサイン井戸の基底状態は位相について局在しており、したがって少数の電荷状態にしか広がっていないからです。Cooper対数のrmsは $\sigma_n = (E_J/32E_C)^{1/4}$ で、トランズモンでは1に近い値になります。

ここは一度立ち止まる価値があります。材料研究者がここで居心地よく感じるべき理由がここにあるからです。トランズモンの問題はMathieu方程式であり、1次元周期ポテンシャル中の電子とまったく同じ問題です。$E_J/E_C$ は格子の深さと反跳エネルギーの比の役割を果たし、オフセット電荷 $n_g$ は結晶運動量の役割を果たし、そして電荷分散、すなわちエネルギー準位の $n_g$ 依存性は、文字どおりBlochバンドの幅です。障壁の高さに対してタイトバインディングのバンド幅が指数関数的に狭くなることについて知っていることは、そのままここに適用でき、2.3節はそれを使います。


2.3 トランズモン

1つの比がすべてを決める

トランズモンとは $E_J/E_C \gg 1$、典型的には30から100を選ぶことです。それ以外は何も変わりません — 同じハミルトニアン、同じ接合 — シャント容量を大きくするだけです。それが何を買い、何を代価として払うのかが本節の内容です。

深井戸の極限ではコサインを最小点まわりで展開でき、$-E_J\cos\varphi \approx -E_J + \frac{1}{2}E_J\varphi^2 - \frac{1}{24}E_J\varphi^4$ となり、4次項についての摂動論から

$$ E_m \approx -E_J + \sqrt{8E_JE_C}\left(m + \tfrac{1}{2}\right) - \frac{E_C}{12}\left(6m^2 + 6m + 3\right) $$

が得られ、そこから

$$ \omega_{01} \approx \sqrt{8E_JE_C} - E_C, \qquad \alpha \approx -E_C $$

となります。非調和性は充電エネルギーそのもので、符号が負です。トランズモンは弱く非調和な振動子であり、準位間隔は上に行くほど狭まります。

ただしゲートにとって重要な量は相対非調和性であり、これは小さいのです:

$$ \frac{|\alpha|}{\omega_{01}} \approx \left(\frac{E_C}{8E_J}\right)^{1/2} $$

$E_J/E_C$ の逆平方根でしか減りません。この事実を、電荷分散に起こることと並べて考えてください。

Code Example 2: コサインポテンシャルの対角化

これが本章の中心的な計算です。行列を組むのは10行で、あとはそこから数値を読み取るだけです。

"""第2章 Code Example 2: 電荷基底での数値対角化によるトランズモンのスペクトル。
単位:すべてのエネルギーはGHz(すなわち E/h)、hbar = 1。"""
import numpy as np


def transmon_hamiltonian(EJ, EC, ng, ncut):
    """H = 4 EC (n - ng)^2 - EJ cos(phi) を電荷基底 |n>(|n| <= ncut)で構成する。

    exp(+-i phi) がCooper対数を1つずらすので
    cos(phi) = (sum_n |n><n+1| + |n+1><n|) / 2 となる。
    エネルギーは EJ, EC と同じ単位で返る。
    """
    n = np.arange(-ncut, ncut + 1)
    H = np.diag(4.0 * EC * (n - ng) ** 2)
    off = -0.5 * EJ * np.ones(2 * ncut)
    H += np.diag(off, 1) + np.diag(off, -1)
    return H


def levels(EJ, EC, ng=0.0, ncut=40, m=5):
    """低い方からm個の固有値を昇順で返す。"""
    return np.linalg.eigvalsh(transmon_hamiltonian(EJ, EC, ng, ncut))[:m]


# --- 電荷基底のカットオフに対する収束 ----------------------------------
EC = 0.250        # GHz
EJ = 13.78        # GHz  -> EJ/EC = 55.1, the design of Example 1
print("電荷カットオフに対する下位3準位の収束 "
      "(EJ/EC = %.1f):" % (EJ / EC))
print(f"{'ncut':>6}{'E0 (GHz)':>14}{'E1 (GHz)':>14}{'E2 (GHz)':>14}")
prev = None
for ncut in [3, 5, 8, 12, 20, 40, 80]:
    ev = levels(EJ, EC, 0.0, ncut, 3)
    tag = "" if prev is None else f"   (変化 {np.abs(ev - prev).max():.2e})"
    print(f"{ncut:>6}{ev[0]:>14.9f}{ev[1]:>14.9f}{ev[2]:>14.9f}{tag}")
    prev = ev
print()

# --- EJ/EC の関数としてのスペクトル ------------------------------------
header = (f"{'EJ/EC':>8}{'EJ/h (GHz)':>12}{'f01 (GHz)':>11}{'f12 (GHz)':>11}"
          f"{'alpha (MHz)':>13}{'alpha_r':>9}{'f01 asym':>10}{'sigma_n':>9}")
print(header)
print("-" * len(header))
for ratio in [1, 2, 5, 10, 20, 30, 50, 55.1, 80, 100, 200]:
    EJv = ratio * EC
    ev = levels(EJv, EC, 0.0, 60, 4)
    f01, f12 = ev[1] - ev[0], ev[2] - ev[1]
    alpha = f12 - f01
    asym = np.sqrt(8 * EJv * EC) - EC
    sigma_n = (EJv / (32.0 * EC)) ** 0.25      # Cooper対数のrms
    print(f"{ratio:>8.1f}{EJv:>12.3f}{f01:>11.4f}{f12:>11.4f}"
          f"{alpha * 1e3:>13.2f}{alpha / f01:>9.4f}{asym:>10.4f}{sigma_n:>9.3f}")
print()

# --- alpha = -EC はどれだけ良い近似か ----------------------------------
# alpha = -EC (1 + c x)(x = sqrt(EC/(8 EJ)))と書いて c を取り出す。
print(f"{'EJ/EC':>8}{'alpha (MHz)':>13}{'alpha/(-EC)':>13}{'x':>10}"
      f"{'c = (ratio-1)/x':>17}")
for ratio in [50, 100, 200, 500, 1000, 4000, 10000]:
    EJv = ratio * EC
    ev = levels(EJv, EC, 0.0, 200, 4)
    alpha = (ev[2] - ev[1]) - (ev[1] - ev[0])
    x = np.sqrt(EC / (8.0 * EJv))
    c = (alpha / (-EC) - 1.0) / x
    print(f"{ratio:>8.0f}{alpha * 1e3:>13.3f}{alpha / (-EC):>13.6f}"
          f"{x:>10.5f}{c:>17.4f}")
print(f"  取り出した係数は 9/4 = {9 / 4:.4f} に収束する。すなわち "
      f"alpha = -EC (1 + (9/4) sqrt(EC/8EJ))")
print()
電荷カットオフに対する下位3準位の収束 (EJ/EC = 55.1):
  ncut      E0 (GHz)      E1 (GHz)      E2 (GHz)
     3 -11.186301005  -5.975514766  -0.620698615
     5 -11.219172795  -6.232363041  -1.526194000   (変化 9.05e-01)
     8 -11.219226505  -6.233183480  -1.532004857   (変化 5.81e-03)
    12 -11.219226505  -6.233183482  -1.532004878   (変化 2.07e-08)
    20 -11.219226505  -6.233183482  -1.532004878   (変化 1.07e-13)
    40 -11.219226505  -6.233183482  -1.532004878   (変化 2.45e-13)
    80 -11.219226505  -6.233183482  -1.532004878   (変化 2.64e-12)

   EJ/EC  EJ/h (GHz)  f01 (GHz)  f12 (GHz)  alpha (MHz)  alpha_r  f01 asym  sigma_n
-----------------------------------------------------------------------------------
     1.0       0.250     1.0252     0.0304      -994.81  -0.9703    0.4571    0.420
     2.0       0.500     1.0930     0.1136      -979.47  -0.8961    0.7500    0.500
     5.0       1.250     1.4114     0.5301      -881.25  -0.6244    1.3311    0.629
    10.0       2.500     1.9749     1.3374      -637.46  -0.3228    1.9861    0.748
    20.0       5.000     2.8887     2.5249      -363.82  -0.1259    2.9123    0.889
    30.0       7.500     3.6034     3.2943      -309.09  -0.0858    3.6230    0.984
    50.0      12.500     4.7355     4.4482      -287.31  -0.0607    4.7500    1.118
    55.1      13.775     4.9851     4.7002      -284.87  -0.0571    4.9988    1.146
    80.0      20.000     6.0635     5.7861      -277.39  -0.0457    6.0746    1.257
   100.0      25.000     6.8113     6.5374      -273.87  -0.0402    6.8211    1.330
   200.0      50.000     9.7433     9.4774      -265.91  -0.0273    9.7500    1.581

   EJ/EC  alpha (MHz)  alpha/(-EC)         x  c = (ratio-1)/x
      50     -287.306     1.149223   0.05000           2.9845
     100     -273.874     1.095494   0.03536           2.7010
     200     -265.911     1.063643   0.02500           2.5457
     500     -259.589     1.038358   0.01581           2.4260
    1000     -256.627     1.026507   0.01118           2.3709
    4000     -253.226     1.012905   0.00559           2.3084
   10000     -252.021     1.008084   0.00354           2.2865
  取り出した係数は 9/4 = 2.2500 に収束する。すなわち alpha = -EC (1 + (9/4) sqrt(EC/8EJ))

着目点。 収束の表が打ち切りの問題を一度で片付けます。$E_J/E_C = 55$ では $n_\mathrm{cut} = 8$ から12へ移ると下位3準位は $2 \times 10^{-8}$ GHz しか変わらず、それ以降は $10^{-13}$ レベルの浮動小数点ノイズ以外は動きません。トランズモンには12個の電荷状態で十分で、3個では足りません。$n_\mathrm{cut} = 3$ の行は小数第2位で誤っています。打ち切った基底を信用する前に、必ずこの検査をしてください。

主表が設計空間です。$\alpha$ の列を下に読むと、$E_J/E_C = 1$ では非調和性は $-995$ MHz、充電エネルギーの4倍で $f_{01}$ 自体と同程度です — これがCooper対箱、強く非調和な系です。$E_J/E_C = 55$ になると非調和性は $-285$ MHz へ潰れて $-E_C = -250$ MHz に近づき、相対非調和性は5.7%になります。漸近形 $\sqrt{8E_JE_C} - E_C$ は $E_J/E_C = 50$ の時点で厳密な $f_{01}$ を0.3%以内で追い、$E_J/E_C = 1$ では2倍ずれます。

$\sigma_n$ の列は電荷基底が効率的な理由を示しています。$E_J/E_C = 200$ でも基底状態は $\pm 1.6$ 個のCooper対しか広がっていません。

最後の表は非調和性の次の次数を取り出しています。$\alpha = -E_C(1 + c\sqrt{E_C/8E_J})$ と書いて $E_J/E_C$ を大きくしながら $c$ を解くと、2.98、2.70、2.55、2.43、2.37、2.31、2.29 となり、目に見えて $9/4$ に収束します。この補正は些細なことではありません。設計点 $E_J/E_C = 55$ では厳密な $|\alpha| = 284.87$ MHz が $E_C = 250$ MHz を13.9%上回っており(そのうち11.3%が $9/4$ 項による分)、これこそCode Example 1 で $\alpha = -250$ MHz を狙った設計が $\alpha = -285$ MHz の素子になった理由です。実際のトランズモンを設計するとは、漸近式ではなく厳密対角化の上で反復することです。演習1でそれを実行してもらいます。

電荷分散:指数関数的な見返り

さてトレードのもう半分です。準位の $n_g$ 依存性はBlochバンド幅であり、どんなタイトバインディングのバンド幅とも同様に、障壁を通り抜けるトンネル — ここではコサインの頂上を越える位相スリップ — が決めます。漸近形(Kochら、2007)は

$$ \epsilon_m \simeq (-1)^m E_C \frac{2^{4m+5}}{m!}\sqrt{\frac{2}{\pi}} \left(\frac{E_J}{2E_C}\right)^{\frac{m}{2}+\frac{3}{4}} e^{-\sqrt{8E_J/E_C}} $$

で、$\epsilon_m = E_m(n_g = 1/2) - E_m(n_g = 0)$ です。支配するのは $e^{-\sqrt{8E_J/E_C}}$ の因子で、これは崖から落ちるように減ります。

これがトランズモンの主張のすべてです。オフセット電荷への感度 — Cooper対箱を使い物にならなくしたもの — が $\sqrt{E_J/E_C}$ について指数関数的に抑えられ、犠牲にする非調和性はべき乗にすぎません。少し払って多くを買うのです。

Code Example 3: 電荷分散とコヒーレンスへの代価

"""第2章 Code Example 3: 電荷分散と、それがコヒーレンスに与える代価。
エネルギーはGHz(E/h)。Cooper対箱とトランズモンは、1つの無次元数の値が
異なるだけの同一のハミルトニアンである。"""
import numpy as np
from math import factorial


def levels(EJ, EC, ng, ncut=60, m=3):
    n = np.arange(-ncut, ncut + 1)
    H = np.diag(4.0 * EC * (n - ng) ** 2)
    off = -0.5 * EJ * np.ones(2 * ncut)
    H += np.diag(off, 1) + np.diag(off, -1)
    return np.linalg.eigvalsh(H)[:m]


def dispersion_01(EJ, EC):
    """オフセット電荷1周期にわたる f01 のピーク間振幅。"""
    ng = np.linspace(0.0, 0.5, 51)
    f01 = np.array([levels(EJ, EC, g)[1] - levels(EJ, EC, g)[0] for g in ng])
    return f01.max() - f01.min(), f01


def eps_asymptotic(m, EJ, EC):
    """Kochらによる準位mの電荷分散の漸近形(絶対値)。"""
    return (EC * 2.0 ** (4 * m + 5) / factorial(m) * np.sqrt(2.0 / np.pi)
            * (EJ / (2.0 * EC)) ** (m / 2.0 + 0.75)
            * np.exp(-np.sqrt(8.0 * EJ / EC)))


EC = 0.250          # GHz
sigma_ng = 1.0e-3   # オフセット電荷ゆらぎのrms、単位は2e

header = (f"{'EJ/EC':>8}{'f01 (GHz)':>11}{'pk-pk of f01':>16}"
          f"{'|eps0|+|eps1| asym':>21}{'exp(-sqrt(8EJ/EC))':>21}")
print(header)
print("-" * len(header))
rows = []
for ratio in [1, 2, 5, 10, 20, 30, 40, 55.1, 70, 100]:
    EJ = ratio * EC
    pp, f01 = dispersion_01(EJ, EC)
    # eps_m は符号が交替するので、0-1の振幅は |eps_0| + |eps_1| となる
    asym = eps_asymptotic(1, EJ, EC) + eps_asymptotic(0, EJ, EC)
    print(f"{ratio:>8.1f}{f01.mean():>11.4f}{pp * 1e9:>13.3e} Hz"
          f"{asym * 1e9:>18.3e} Hz{np.exp(-np.sqrt(8 * ratio)):>21.3e}")
    rows.append((ratio, pp))
print()

# --- スイートスポットで分散がT2に及ぼす影響 ----------------------------
# ng = 0 の近傍で遷移周波数は1次で平坦なので、遅い電荷ノイズは2次で効く。
# f01(ng) ~ fbar - (eps/2) cos(2 pi ng) より d2f/dng2 = 2 pi^2 eps。緩和率は
# 角周波数から作らねばならず、Gamma_phi ~ (1/2)|d2 omega01/dng2| sigma^2
# = 2 pi^3 eps sigma^2 となる。f で書いた同じ式より 2 pi 倍大きい。
print(f"ng = 0 のスイートスポットにおける2次の電荷デフェージング、"
      f"sigma_ng = {sigma_ng:.0e} (2e):")
print(f"{'EJ/EC':>8}{'pk-pk (Hz)':>14}{'Gamma_phi (1/s)':>18}{'T_phi':>16}")
for ratio, pp in rows:
    if ratio < 10:
        continue   # EJ/EC ~ 1 では分散が f01 自体を超える
    pp_hz = pp * 1e9
    gamma = 2.0 * np.pi ** 3 * pp_hz * sigma_ng ** 2
    if gamma > 1e-12:
        t = 1.0 / gamma
        unit = (f"{t * 1e6:.2f} us" if t < 1e-3 else
                f"{t * 1e3:.2f} ms" if t < 1.0 else f"{t:.3e} s")
    else:
        unit = "inf"
    print(f"{ratio:>8.1f}{pp_hz:>14.3e}{gamma:>18.3e}{unit:>16}")
print()

# --- 代価:手放した非調和性 --------------------------------------------
print(f"{'EJ/EC':>8}{'pk-pk/f01':>13}{'|alpha|/f01':>13}"
      f"{'|alpha| (MHz)':>15}")
for ratio in [5, 20, 55.1, 100, 200]:
    EJ = ratio * EC
    ev = levels(EJ, EC, 0.0, 60, 3)
    f01, alpha = ev[1] - ev[0], (ev[2] - ev[1]) - (ev[1] - ev[0])
    pp, _ = dispersion_01(EJ, EC)
    print(f"{ratio:>8.1f}{pp / f01:>13.3e}{abs(alpha) / f01:>13.3e}"
          f"{abs(alpha) * 1e3:>15.2f}")
   EJ/EC  f01 (GHz)    pk-pk of f01   |eps0|+|eps1| asym   exp(-sqrt(8EJ/EC))
-----------------------------------------------------------------------------
     1.0     0.5848    7.762e+08 Hz         2.762e+09 Hz            5.911e-02
     2.0     0.7426    6.007e+08 Hz         1.987e+09 Hz            1.832e-02
     5.0     1.2638    2.683e+08 Hz         5.980e+08 Hz            1.792e-03
    10.0     1.9428    6.281e+07 Hz         1.024e+08 Hz            1.305e-04
    20.0     2.8865    4.353e+06 Hz         5.946e+06 Hz            3.210e-06
    30.0     3.6032    4.481e+05 Hz         5.730e+05 Hz            1.870e-07
    40.0     4.2056    6.052e+04 Hz         7.457e+04 Hz            1.703e-08
    55.1     4.9851    4.172e+03 Hz         4.970e+03 Hz            7.619e-10
    70.0     5.6541    3.980e+02 Hz         4.640e+02 Hz            5.281e-11
   100.0     6.8113    6.280e+00 Hz         7.128e+00 Hz            5.204e-13

ng = 0 のスイートスポットにおける2次の電荷デフェージング、sigma_ng = 1e-03 (2e):
   EJ/EC    pk-pk (Hz)   Gamma_phi (1/s)           T_phi
    10.0     6.281e+07         3.895e+03       256.74 us
    20.0     4.353e+06         2.699e+02         3.70 ms
    30.0     4.481e+05         2.779e+01        35.98 ms
    40.0     6.052e+04         3.753e+00       266.46 ms
    55.1     4.172e+03         2.587e-01     3.865e+00 s
    70.0     3.980e+02         2.468e-02     4.052e+01 s
   100.0     6.280e+00         3.894e-04     2.568e+03 s

   EJ/EC    pk-pk/f01  |alpha|/f01  |alpha| (MHz)
     5.0    1.901e-01    6.244e-01         881.25
    20.0    1.507e-03    1.259e-01         363.82
    55.1    8.370e-07    5.715e-02         284.87
   100.0    9.220e-10    4.021e-02         273.87
   200.0    1.881e-13    2.729e-02         265.91

着目点。 オフセット電荷にわたる $f_{01}$ のピーク間振幅は、$E_J/E_C = 1$ の776 MHzから $E_J/E_C = 100$ の6.3 Hzまで落ちます。1つの比が100倍になるだけで8桁です。漸近式は厳密値を10〜20%で再現しており、主要項の結果としては上出来で、機構が同定したものであることを裏づけています。

比が小さい端では「デフェージング」という言葉が完全に破綻します。$E_J/E_C = 1$ では分散(776 MHz)が $f_{01}$ そのもの(585 MHz)を超えるので、オフセット電荷は量子ビットを摂動するのではなく、それを定義してしまうのです。$E_J/E_C = 5$ でも分散は 268 MHz、$f_{01} = 1264$ MHz に対して量子ビット周波数の19%の変調であり、これもまだ誰も摂動とは呼びません。デフェージングの表から $E_J/E_C = 10$ より下の行を除いてあるのはそのためです。

スイートスポット $n_g = 0$ では遷移周波数は1次で平坦なので、ゆっくり揺らぐオフセット電荷は2次で効きます。$f_{01}(n_g) \approx \bar{f} - (\epsilon/2)\cos 2\pi n_g$ とすれば $\partial^2 f_{01}/\partial n_g^2 = 2\pi^2\epsilon$ であり、純位相緩和率は $\Gamma_\varphi \approx \tfrac{1}{2}\left|\partial^2\omega_{01}/\partial n_g^2\right|\sigma_{n_g}^2 = 2\pi^3\epsilon\,\sigma_{n_g}^2$ となります。緩和率が角周波数から作られることに注意してください。そこが余分な $2\pi$ の出所です。$\sigma_{n_g} = 10^{-3}$ Cooper対とすれば $T_\varphi$ は $E_J/E_C = 10$ の0.26 msから $E_J/E_C = 100$ の $2.6\times10^3$ sまで走ります。これらは予測ではなく比として読んでください — 実際の電荷ノイズは $1/f$ であり、rmsは測定帯域に依存します — しかしその比が要点です。$E_J/E_C = 20$ と40のあいだのどこかで、電荷ノイズは超伝導量子ビットを律速するものではなくなり、別の何かが引き継ぎます。本章の残りはその別の何かについての話です。

最後の表はトレードを1か所にまとめています。$E_J/E_C$ を20から100にすると、相対電荷分散は7桁落ち、相対非調和性は3分の1になります。この非対称性がトランズモンです。


2.4 制御と読み出し

量子ビットを駆動する

量子ビットの容量にマイクロ波を印加すると、ハミルトニアンに $H_d = \Omega(t)\cos(\omega_d t + \phi)\,\hat{n}$ が加わります。$\omega_d$ で回転する系で回転波近似のもとでは、量子ビットのブロックはBloch球の回転になり、回転角は $\int \Omega\, dt$、回転軸は駆動位相 $\phi$ が決めます。ゲートとは校正されたパルス面積です。それより奇妙なことは何も起きていません。

自明でなくしているのは、トランズモンが2準位系ではないという点です。$1 \to 2$ 遷移は $|\alpha|$ しか離れておらず、行列要素は約 $\sqrt{2}$ 倍大きいのです。時間 $\tau$ のパルスは帯域 $\sim 1/\tau$ をもち、それが $|\alpha|$ と重なると $|2\rangle$ へ population が漏れます。漏れた population は単なる誤りではなく、計算空間のの誤りであり、どんな2準位誤りモデルも標準的な誤り訂正符号も扱えません。

標準的な対処法がDRAG(Derivative Removal by Adiabatic Gate)です。同相成分を意図した包絡 $\Omega_x(t)$ で駆動し、同時に直交成分をその微分で駆動します:

$$ \Omega_y(t) = -\frac{\dot{\Omega}_x(t)}{2\alpha} $$

これが主要なリーク振幅と主要な位相誤差を同時に打ち消します。Code Example 4 が両方の主張を数値的に検証します。

Code Example 4: 非調和性が速度制限を与える

"""第2章 Code Example 4: 非調和性が速度制限を与える。
厳密なトランズモンスペクトル上でのπパルスを、微分補正(DRAG)あり・なしで
比較する。周波数はGHz、時間はns、hbar = 1。"""
import numpy as np
from scipy.linalg import expm

TWOPI = 2.0 * np.pi


def transmon_eigen(EJ, EC, ncut=60, m=5):
    """トランズモンの固有エネルギー(GHz、基底状態を基準)と電荷演算子を、
    ともにトランズモン固有基底で返す。"""
    n = np.arange(-ncut, ncut + 1)
    H = np.diag(4.0 * EC * n ** 2.0)
    off = -0.5 * EJ * np.ones(2 * ncut)
    H += np.diag(off, 1) + np.diag(off, -1)
    E, V = np.linalg.eigh(H)
    nop = V[:, :m].conj().T @ np.diag(n.astype(float)) @ V[:, :m]
    return E[:m] - E[0], nop


EJ, EC = 13.775, 0.250
E, nop = transmon_eigen(EJ, EC)
m = len(E)
f01 = E[1]
alpha = (E[2] - E[1]) - E[1]
print(f"EJ/h = {EJ:.3f} GHz, EC/h = {EC:.3f} GHz, EJ/EC = {EJ / EC:.1f}")
print(f"f01 = {f01:.4f} GHz, alpha/2pi = {alpha * 1e3:.2f} MHz")
for j in range(m - 1):
    print(f"  j = {j} -> {j + 1}: |n| = {abs(nop[j, j + 1]):.4f},"
          f"  0-1要素との比 = {abs(nop[j, j + 1] / nop[0, 1]):.4f},"
          f"  sqrt(j+1) = {np.sqrt(j + 1):.4f}")
print()

# --- 駆動周波数で回転する系、RWA ---------------------------------------
# 電荷演算子の下降部分。一定包絡 Omega_x が0-1遷移をちょうどRabi周波数
# Omega_x で駆動するように規格化してある。
N = np.zeros((m, m), dtype=complex)
for j in range(m - 1):
    N[j, j + 1] = abs(nop[j, j + 1] / nop[0, 1])
detune = np.array([E[j] - j * f01 for j in range(m)])   # 0, 0, alpha, ...
H0 = TWOPI * np.diag(detune)
Ax = TWOPI * 0.5 * (N + N.conj().T)
Ay = TWOPI * 0.5 * 1j * (N.conj().T - N)
print("回転系での準位離調 E_j - j f01 (GHz):", np.round(detune, 5))
print()

IDENT = np.eye(m, dtype=complex)
XGATE = np.array([[0, 1], [1, 0]], dtype=complex)


def pi_pulse(tau, nstep=3000, drag=0.0):
    """ガウシアンπパルスの時間発展演算子、ピークRabi周波数、リーク量。"""
    t = np.linspace(0.0, tau, nstep + 1)
    sig = tau / 4.0
    env = np.exp(-((t - tau / 2.0) ** 2) / (2.0 * sig ** 2)) - np.exp(-2.0)
    # 回転角 = 2 pi int Omega_x dt なので、積分値を1/2に校正する
    ox = 0.5 * env / np.trapezoid(env, t)
    oy = -drag * np.gradient(ox, t) / (TWOPI * 2.0 * alpha) if drag else 0.0 * ox
    U = np.eye(m, dtype=complex)
    dt = t[1] - t[0]
    for k in range(nstep):
        H = H0 + 0.5 * (ox[k] + ox[k + 1]) * Ax + 0.5 * (oy[k] + oy[k + 1]) * Ay
        U = expm(-1j * H * dt) @ U
    leak = max(float(np.sum(np.abs((U @ psi)[2:]) ** 2)) for psi in
               [IDENT[0], IDENT[1], (IDENT[0] + IDENT[1]) / np.sqrt(2)])
    Uq = U[:2, :2]
    # 量子ビットブロックのXに対する平均ゲート忠実度(大域位相は自由)
    err = 1.0 - (abs(np.trace(XGATE.conj().T @ Uq)) ** 2
                 + np.trace(Uq.conj().T @ Uq).real) / 6.0
    return ox.max(), leak, err


print(f"{'tau (ns)':>9}{'peak Omega/2pi (MHz)':>22}{'|alpha| tau':>13}"
      f"{'leakage':>12}{'gate error':>12}")
for tau in [4.0, 6.0, 8.0, 12.0, 16.0, 20.0, 30.0, 40.0]:
    peak, leak, err = pi_pulse(tau)
    print(f"{tau:>9.1f}{peak * 1e3:>22.1f}{abs(alpha) * tau:>13.2f}"
          f"{leak:>12.3e}{err:>12.3e}")
print()

print(f"{'tau (ns)':>9}{'leakage (plain)':>17}{'leakage (DRAG)':>16}"
      f"{'ratio':>9}{'error (plain)':>15}{'error (DRAG)':>14}")
for tau in [4.0, 6.0, 8.0, 10.0, 12.0, 16.0, 20.0, 30.0]:
    _, l0, e0 = pi_pulse(tau)
    _, l1, e1 = pi_pulse(tau, drag=1.0)
    print(f"{tau:>9.1f}{l0:>17.3e}{l1:>16.3e}{l0 / l1:>8.1f}x"
          f"{e0:>15.3e}{e1:>14.3e}")
print()
EJ/h = 13.775 GHz, EC/h = 0.250 GHz, EJ/EC = 55.1
f01 = 4.9851 GHz, alpha/2pi = -284.87 MHz
  j = 0 -> 1: |n| = 1.1161,  0-1要素との比 = 1.0000,  sqrt(j+1) = 1.0000
  j = 1 -> 2: |n| = 1.5320,  0-1要素との比 = 1.3726,  sqrt(j+1) = 1.4142
  j = 2 -> 3: |n| = 1.8098,  0-1要素との比 = 1.6215,  sqrt(j+1) = 1.7321
  j = 3 -> 4: |n| = 1.9955,  0-1要素との比 = 1.7878,  sqrt(j+1) = 2.0000

回転系での準位離調 E_j - j f01 (GHz): [ 0.       0.      -0.28487 -0.8867  -1.87922]

 tau (ns)  peak Omega/2pi (MHz)  |alpha| tau     leakage  gate error
      4.0                 233.5         1.14   2.669e-01   2.914e-01
      6.0                 155.7         1.71   3.123e-02   6.181e-02
      8.0                 116.8         2.28   2.092e-04   1.925e-02
     12.0                  77.8         3.42   1.290e-04   8.508e-03
     16.0                  58.4         4.56   4.718e-05   4.715e-03
     20.0                  46.7         5.70   3.117e-05   2.998e-03
     30.0                  31.1         8.55   3.752e-06   1.323e-03
     40.0                  23.4        11.39   9.701e-07   7.425e-04

 tau (ns)  leakage (plain)  leakage (DRAG)    ratio  error (plain)  error (DRAG)
      4.0        2.669e-01       7.193e-02     3.7x      2.914e-01     7.774e-02
      6.0        3.123e-02       8.356e-03     3.7x      6.181e-02     9.667e-03
      8.0        2.092e-04       3.611e-05     5.8x      1.925e-02     4.491e-04
     10.0        5.714e-04       1.385e-04     4.1x      1.246e-02     2.551e-04
     12.0        1.290e-04       3.317e-05     3.9x      8.508e-03     1.247e-04
     16.0        4.718e-05       1.089e-05     4.3x      4.715e-03     4.580e-05
     20.0        3.117e-05       7.297e-06     4.3x      2.998e-03     2.266e-05
     30.0        3.752e-06       8.969e-07     4.2x      1.323e-03     7.220e-06

着目点。 電荷の行列要素は調和的な $\sqrt{j+1}$ に近いが等しくありません。$1 \to 2$ の要素は $0 \to 1$ の要素の1.3726倍であって $\sqrt{2} = 1.4142$ ではなく、3%の差があります。この3%はここでは無害で、Code Example 5 では断固として無害ではありません。

最初の表が速度制限を明示したものです。$\tau = 4$ nsではピークRabi周波数が234 MHz — $|\alpha|$ と同程度 — になり、populationの27%が量子ビット部分空間の外に出ます。このゲートは不正確なのではなく、存在しません。$\tau = 20$ nsでリークは $3 \times 10^{-5}$、40 nsで $10^{-6}$ です。有用な指標は $|\alpha|\tau$ で、これが5程度以上でなければならず、$|\alpha| = 285$ MHzなら $\tau \gtrsim 18$ nsを意味します。この1つの不等式が、超伝導の1量子ビットゲートが1ナノ秒ではなく数十ナノ秒である理由です。

リークは単調ではありません — 8 nsは10 nsより良いのです。これは実在の現象で、コヒーレントなリークの干渉です。パルス前半に $|1\rangle$ を離れたpopulationは後半に戻され、特定の時間ではその戻りがほぼ完全になります。これを利用するパルス時間のレシピは標準的な実務です。

ゲート誤差はリークとは違うふるまいをし、ここが理解する価値のある部分です。$\tau = 20$ nsでリークは $3 \times 10^{-5}$ ですがゲート誤差は $3 \times 10^{-3}$ — 100倍大きいのです。超過分は位相誤差です。$|2\rangle$ を経由する仮想的な遠回りがパルス中の量子ビット周波数をずらし、蓄積された位相が勘定に入っていないのです。DRAGがそれを打ち消します。2番目の表でDRAGはリークを約4倍改善し、20 nsでゲート誤差を130倍改善します($3 \times 10^{-3} \to 2.3 \times 10^{-5}$)。リークの改善はDRAGの名前の由来であり、位相の改善はDRAGを不可欠にしているものです。

分散読み出し

量子ビットは、それに結合したマイクロ波共振器を通して測定します。$H = \omega_r a^\dagger a + H_\mathrm{transmon} + g(a + a^\dagger)\hat{n}/n_{01}$ で量子ビットが共振器から大きく離調している($|\Delta| = |\omega_{01} - \omega_r| \gg g$)とき、エネルギーは交換されません。代わりに共振器の周波数が量子ビットの状態に応じて $\pm\chi$ だけずれます。共振器を照らして反射波の位相を測れば、量子ビットを励起することなく読み出せます。真の2準位系では

$$ \chi = \frac{g^2}{\Delta} $$

で、トランズモンについて第3準位を勘定に入れた標準的な補正は

$$ \chi = \frac{g^2 \alpha}{\Delta(\Delta + \alpha)} $$

です。Code Example 5 は、あらゆる総説に現れるこの式が現実的なトランズモンに対して26%小さく出ることを示し、さらに興味深いことにその理由を示します。

この結合には2つの代価が伴います。共振器の減衰率 $\kappa$ が同じ結合を通じて量子ビットに戻り、Purcell緩和 $\Gamma_P = \kappa (g/\Delta)^2$ を与えます。そして読み出しトーンが入っているあいだ、量子ビットの情報を増幅器へ運び出す光子は必然的に量子ビットの位相をこわします。後者は欠陥ではありません。射影的な $Z$ 測定は位相コヒーレンスを壊すべきであり、要求はデフェージング率が情報取得率を超えないことだけで、量子限界ではそれは超えません。

Code Example 5: 回路QEDを数値で

"""第2章 Code Example 5: 回路QEDを数値で追う。厳密対角化による分散シフト、
Purcell限界、そして読み出しのトレードオフ。周波数はGHz、hbar = 1。"""
import numpy as np

TWOPI = 2.0 * np.pi


def transmon_eigen(EJ, EC, ncut=60, m=6):
    n = np.arange(-ncut, ncut + 1)
    H = np.diag(4.0 * EC * n ** 2.0)
    off = -0.5 * EJ * np.ones(2 * ncut)
    H += np.diag(off, 1) + np.diag(off, -1)
    E, V = np.linalg.eigh(H)
    nop = V[:, :m].conj().T @ np.diag(n.astype(float)) @ V[:, :m]
    return E[:m] - E[0], nop


def dressed(EJ, EC, fr, g, mq=6, nph=6):
    """H = fr a^dag a + sum_j E_j |j><j| + g (a + a^dag) n/n01 を対角化し、
    各固有値に最も重なりの大きい裸の状態のラベルを付ける。"""
    E, nop = transmon_eigen(EJ, EC, m=mq)
    nred = np.real(nop) / np.real(nop[0, 1])
    a = np.diag(np.sqrt(np.arange(1, nph)), 1)
    Iq, Ip = np.eye(mq), np.eye(nph)
    H = (np.kron(np.diag(E), Ip) + np.kron(Iq, fr * (a.conj().T @ a))
         + g * np.kron(nred, a + a.conj().T))
    w, V = np.linalg.eigh(H)
    lab = {}
    for j in range(mq):
        for n in range(nph):
            bare = np.kron(np.eye(mq)[j], np.eye(nph)[n])
            lab[(j, n)] = w[int(np.argmax(np.abs(V.conj().T @ bare)))]
    return lab


EJ, EC = 13.775, 0.250
E0, nop0 = transmon_eigen(EJ, EC)
f01, f12 = E0[1], E0[2] - E0[1]
alpha = f12 - f01
r = abs(nop0[1, 2] / nop0[0, 1])       # exact 1-2 / 0-1 coupling ratio
g = 0.100                              # GHz
print(f"トランズモン: f01 = {f01:.4f} GHz, f12 = {f12:.4f} GHz, "
      f"alpha/2pi = {alpha * 1e3:.2f} MHz")
print(f"結合: g/2pi = {g * 1e3:.0f} MHz, "
      f"厳密な g12/g01 = {r:.4f}(調和振動子の値 sqrt(2) = {np.sqrt(2):.4f})")
print()

header = (f"{'fr':>7}{'Delta (MHz)':>13}{'exact (MHz)':>13}"
          f"{'RWA, exact g12':>16}{'RWA, g12=sqrt2 g':>18}")
print(header)
print("-" * len(header))
for fr in [6.0, 6.5, 7.0, 8.0, 9.0]:
    lab = dressed(EJ, EC, fr, g)
    exact = (lab[(1, 1)] - lab[(1, 0)]) - (lab[(0, 1)] - lab[(0, 0)])
    A = g ** 2 / (fr - f01)
    B = g ** 2 / (fr - f12)
    rwa_exact = -2.0 * A + r ** 2 * B
    D = f01 - fr
    rwa_std = 2.0 * g ** 2 * alpha / (D * (D + alpha))
    print(f"{fr:>7.2f}{D * 1e3:>13.1f}{exact * 1e3:>13.3f}"
          f"{rwa_exact * 1e3:>16.3f}{rwa_std * 1e3:>18.3f}")
print()

# --- chi が微妙な量である理由:大きな2項の差だから ---------------------
fr = 7.0
A = g ** 2 / (fr - f01)
B = g ** 2 / (fr - f12)
print(f"fr = {fr:.1f} GHz では、シフトはほぼ相殺の残差である:")
print(f"  0-1の項            g^2/(fr - f01)     = {A * 1e3:>8.3f} MHz "
      f"(符号を変えて2回現れる)")
print(f"  1-2の項       (g12/g01)^2 g^2/(fr-f12) = "
      f"{r ** 2 * B * 1e3:>8.3f} MHz")
print(f"  和: 2chi = -2 x {A * 1e3:.3f} + {r ** 2 * B * 1e3:.3f} = "
      f"{(-2 * A + r ** 2 * B) * 1e3:.3f} MHz")
print(f"  厳密な比 {r:.4f} を sqrt(2) に置き換えると1-2の項は "
      f"{(2 - r ** 2) * B * 1e3:.3f} MHz 変わり、")
print(f"  これは 2chi 自体の {abs((2 - r ** 2) * B / (-2 * A + r ** 2 * B)) * 100:.0f}% "
      f"にあたる")
print()

lab = dressed(EJ, EC, fr, g)
two_chi = (lab[(1, 1)] - lab[(1, 0)]) - (lab[(0, 1)] - lab[(0, 0)])
chi = two_chi / 2.0
print(f"fr = {fr:.1f} GHz, g/2pi = {g * 1e3:.0f} MHz でのdressed周波数:")
print(f"  裸の f01                   = {f01:.5f} GHz")
print(f"  dressed f01                = {lab[(1, 0)] - lab[(0, 0)]:.5f} GHz  "
      f"(Lambシフト {((lab[(1, 0)] - lab[(0, 0)]) - f01) * 1e3:+.3f} MHz)")
print(f"  |0>での共振器              = {lab[(0, 1)] - lab[(0, 0)]:.5f} GHz")
print(f"  |1>での共振器              = {lab[(1, 1)] - lab[(1, 0)]:.5f} GHz")
print(f"  2chi/2pi                   = {two_chi * 1e3:.3f} MHz")
print()

# --- Purcell緩和 -------------------------------------------------------
D = f01 - fr
print(f"Purcell限界 T1 = Delta^2/(kappa g^2)、Delta/2pi = {D * 1e3:.0f} MHz:")
for kappa in [1e-3, 2e-3, 5e-3]:
    gamma = TWOPI * kappa * (g / D) ** 2      # 1/ns
    print(f"  kappa/2pi = {kappa * 1e3:>5.1f} MHz: 1/kappa = "
          f"{1.0 / (TWOPI * kappa):>7.1f} ns, Purcell T1 = "
          f"{1.0 / gamma / 1e3:>7.2f} us, |2chi|/kappa = "
          f"{abs(two_chi) / kappa:>5.2f}")
print()

# --- 読み出しのトレードオフ --------------------------------------------
nbar = 5.0
print(f"{'kappa (MHz)':>13}{'|2chi|/kappa':>14}{'|a0|':>8}{'|a1|':>8}"
      f"{'|a0-a1|':>10}{'angle (deg)':>13}{'Gamma_phi (MHz)':>17}{'1/kappa (ns)':>14}")
for kappa in [1.0e-3, abs(two_chi), 4.0e-3, 10.0e-3]:
    eps = np.sqrt(nbar) * np.sqrt((kappa / 2.0) ** 2 + chi ** 2)
    a0 = eps / (kappa / 2.0 + 1j * chi)
    a1 = eps / (kappa / 2.0 - 1j * chi)
    # デフェージング=区別可能な光子が伝送線に漏れ出す速さ
    gphi = kappa * abs(a0 - a1) ** 2 / 2.0
    print(f"{kappa * 1e3:>13.3f}{abs(two_chi) / kappa:>14.2f}{abs(a0):>8.3f}"
          f"{abs(a1):>8.3f}{abs(a0 - a1):>10.3f}"
          f"{np.degrees(abs(np.angle(a0 / a1))):>13.1f}{gphi * 1e3:>17.3f}"
          f"{1.0 / (TWOPI * kappa):>14.1f}")
print(f"  (Gamma_phi の chi 小の極限は 8 chi^2 nbar/kappa。"
      f"kappa = |2chi| では kappa nbar になる)")
print()
kappa = abs(two_chi)
print(f"整合点 kappa = |2chi| = {kappa * 1e3:.3f} MHz:")
print(f"  2つのポインタ状態は位相で90度離れ、"
      f"分離は真空振幅の単位で {np.sqrt(2 * nbar):.3f}")
print(f"  読み出し中の量子ビットのデフェージング: T_phi = "
      f"{1.0 / (TWOPI * kappa * nbar):.1f} ns(速いが、射影Z測定は"
      f"まさにそうあるべきである)")
print(f"  リングダウン 1/kappa = {1.0 / (TWOPI * kappa):.1f} ns が"
      f"読み出し時間の下限を与える")
print(f"  同じ kappa での Purcell T1 は "
      f"{1.0 / (TWOPI * kappa * (g / D) ** 2) / 1e3:.1f} us")
トランズモン: f01 = 4.9851 GHz, f12 = 4.7002 GHz, alpha/2pi = -284.87 MHz
結合: g/2pi = 100 MHz, 厳密な g12/g01 = 1.3726(調和振動子の値 sqrt(2) = 1.4142)

     fr  Delta (MHz)  exact (MHz)  RWA, exact g12  RWA, g12=sqrt2 g
-------------------------------------------------------------------
   6.00      -1014.9       -5.006          -5.211            -4.319
   6.50      -1514.9       -2.644          -2.734            -2.090
   7.00      -2014.9       -1.670          -1.733            -1.230
   8.00      -3014.9       -0.875          -0.924            -0.573
   9.00      -4014.9       -0.557          -0.600            -0.330

fr = 7.0 GHz では、シフトはほぼ相殺の残差である:
  0-1の項            g^2/(fr - f01)     =    4.963 MHz (符号を変えて2回現れる)
  1-2の項       (g12/g01)^2 g^2/(fr-f12) =    8.193 MHz
  和: 2chi = -2 x 4.963 + 8.193 = -1.733 MHz
  厳密な比 1.3726 を sqrt(2) に置き換えると1-2の項は 0.504 MHz 変わり、
  これは 2chi 自体の 29% にあたる

fr = 7.0 GHz, g/2pi = 100 MHz でのdressed周波数:
  裸の f01                   = 4.98509 GHz
  dressed f01                = 4.97936 GHz  (Lambシフト -5.731 MHz)
  |0>での共振器              = 7.00412 GHz
  |1>での共振器              = 7.00245 GHz
  2chi/2pi                   = -1.670 MHz

Purcell限界 T1 = Delta^2/(kappa g^2)、Delta/2pi = -2015 MHz:
  kappa/2pi =   1.0 MHz: 1/kappa =   159.2 ns, Purcell T1 =   64.61 us, |2chi|/kappa =  1.67
  kappa/2pi =   2.0 MHz: 1/kappa =    79.6 ns, Purcell T1 =   32.31 us, |2chi|/kappa =  0.84
  kappa/2pi =   5.0 MHz: 1/kappa =    31.8 ns, Purcell T1 =   12.92 us, |2chi|/kappa =  0.33

  kappa (MHz)  |2chi|/kappa    |a0|    |a1|   |a0-a1|  angle (deg)  Gamma_phi (MHz)  1/kappa (ns)
        1.000          1.67   2.236   2.236     3.837        118.2            7.361         159.2
        1.670          1.00   2.236   2.236     3.162         90.0            8.351          95.3
        4.000          0.42   2.236   2.236     1.723         45.3            5.938          39.8
       10.000          0.17   2.236   2.236     0.737         19.0            2.714          15.9
  (Gamma_phi の chi 小の極限は 8 chi^2 nbar/kappa。kappa = |2chi| では kappa nbar になる)

整合点 kappa = |2chi| = 1.670 MHz:
  2つのポインタ状態は位相で90度離れ、分離は真空振幅の単位で 3.162
  読み出し中の量子ビットのデフェージング: T_phi = 19.1 ns(速いが、射影Z測定はまさにそうあるべきである)
  リングダウン 1/kappa = 95.3 ns が読み出し時間の下限を与える
  同じ kappa での Purcell T1 は 38.7 us

着目点。 $f_r = 7$ GHzでの厳密な $2\chi$ は $-1.670$ MHzです。標準的なトランズモンの式は $-1.230$ MHz を与え、26%低いのです。厳密な行列要素を使った摂動論は $-1.733$ MHz を与え、はるかに近くなります。ほぼ相殺のブロックがこの食い違いのすべてを説明します。$2\chi$ は $-9.93$ MHzの $0$-$1$ 寄与と $+8.19$ MHzの $1$-$2$ 寄与の差です。大きくてほぼ等しい2つの数の小さな残差なので、行列要素の2乗比の6%の変化($1.3726^2$ 対 $2$)が $2\chi$ を29%動かします。

この教訓はこの例をはるかに超えて一般化します。ある量がほぼ相殺の残差であるとき、摂動論の次数よりも入力の精度がはるかに効くのです。これはCode Example 6 の静的 $ZZ$ 相互作用でもまったく同じ状況で、回路QEDの設計が閉じた形の式ではなく回路全体の数値対角化で行われる理由です。

Purcellの表は厳しい制約です。$g/2\pi = 100$ MHz、$\Delta/2\pi = -2$ GHzで結合比は $g/\Delta = 1/20$ なので、$\kappa/2\pi = 5$ MHz — 速くて快適な読み出し — が $T_1$ を13 $\mu$sで打ち止めにします。これは2.6節の材料が許すものよりはるかに低いので、フィルタのない読み出し共振器は利用可能なコヒーレンスの大半を捨てていることになります。対処法はPurcellフィルタです。共振器と出力線のあいだに置く帯域阻止素子で、$\omega_r$ では透明、$\omega_{01}$ では不透明であり、$\kappa$ を $\Gamma_P$ から切り離して表のトレードオフを拘束条件から交渉可能なものに変えます。

読み出しの表は妥協点を直接示しますが、列は注意して読んでください。ピークは一緒には来ません。ポインタ状態の分離が最大になるのは $\kappa$ が小さいところです — $\kappa/2\pi = 1$ MHzで真空振幅 3.837、整合点で 3.162、10 MHzで 0.737 — 狭い共振器はシフトに完全に応答する時間があるからです。$\kappa = |2\chi|$ の近くでピークになるのは速さのほうです。区別できる光子が共振器から出ていく率 $\Gamma_\varphi = \kappa|a_0-a_1|^2/2$ は整合点で 8.351 MHz、$\kappa/2\pi = 1$ MHzで 7.361 MHz、4 MHzで 5.938 MHz です。量子限界ではこの率が測定率そのものなので、整合点が最大化するのは分離ではなく単位時間あたりの情報です。$\kappa$ をもっと大きくすると共振器の応答が速すぎてシフトをまったく分解できず($\kappa/2\pi = 10$ MHzでは位相差が $19^\circ$ しかありません)、小さくするとリングダウン時間 $1/\kappa$ が測定1回を遅くします。ここでの整合読み出しは読み出し時間に95 nsの下限を、Purcell限界に39 $\mu$sを与えます。設計者が互いに天秤にかける2つの数値です。


2.5 2量子ビットゲート

交換相互作用と2励起多重項

2つのトランズモンを容量結合すると、1励起部分空間では結合は交換相互作用のように見えます。$|10\rangle$ と $|01\rangle$ が混成し、分裂は $2J$ です。共鳴では励起が行き来し、$1/(4J)$ の時間でiSWAPになります。これが2量子ビットゲートの1つの系統です。

より広く使われる系統は励起が1つ上にあります。$|11\rangle$ と $|20\rangle$ は非調和性だけ隔たっており、量子ビットの離調が $\alpha$ に等しいとき交差します。その交差点で両者は $\approx 2\sqrt{2}\,g$ のギャップで混成し、交差点に留まるか、交差点へ向かう断熱的な遠回りをすることで条件付き位相を蓄積できます。影響を受けるのは $|11\rangle$ だけであり、これはCZゲートが必要とするものそのものです。

同じ反交差が望まない副産物を生みます。非調和性が負なので $|20\rangle$ と $|02\rangle$ は $|11\rangle$ よりにあり — 離調ゼロではちょうど $|\alpha|$ だけ下です — 下にある状態からの2次の反発は $|11\rangle$ を押し上げます。こうして静的相互作用

$$ \zeta = \left(E_{11} - E_{10} - E_{01} + E_{00}\right) \approx 2g^2\left(\frac{1}{\Delta - \alpha} - \frac{1}{\Delta + \alpha}\right) $$

を与えます。$\Delta = 0$ ではこれは $\zeta \approx -4g^2/\alpha > 0$($\alpha < 0$ のため)に帰着し、この式では $+351$ kHz、コード例6の厳密対角化では $+331$ kHz です。これは常時オンの $ZZ$ 項であり、あらゆる待機時間とあらゆる1量子ビットゲートのあいだに余分な条件付き位相を蓄積し、しかも隣の状態に依存するので相関誤りになります。誤り訂正が最も苦手とする種類の誤りです。

可変カプラ

対処法は結合そのものを切り替え可能にすることで、その仕掛けは干渉です。2つの量子ビットのあいだに第3の回路 — 両方から離調したカプラトランズモン — を挿入し、小さな直接容量も残します。これで交換の経路が2つになります。直接経路と、カプラを介した仮想経路です。カプラが量子ビットより上にあるとき両者の振幅は逆符号なので、

$$ J_\mathrm{eff} \approx J_{12} + \frac{g_1 g_2}{f_q - f_c} $$

は1つのカプラ周波数でゼロになります。そこで待機し、ゲートのときにカプラを離調させるのです。量子ビット自身は動きません。これは重要です。量子ビットの周波数を動かすとは、近くにある傍観者共振のなかを通り抜けさせることを意味するからです。

Code Example 6: 結合、ZZ、そしてそれを切ること

"""第2章 Code Example 6: 2量子ビット結合。CZゲートを与える |11>-|20> の
反交差、その副産物である静的ZZ相互作用、そして交換相互作用を切る可変
カプラ。周波数はGHz、hbar = 1。"""
import numpy as np
from functools import reduce, lru_cache

TWOPI = 2.0 * np.pi
EC = 0.250          # GHz。本例ではすべてのトランズモンで同じ充電エネルギー


@lru_cache(maxsize=None)
def transmon(EJ, EC, ncut=30, m=4):
    """1個のトランズモンの準位エネルギー(GHz、基底状態を0とする)と
    規格化電荷演算子 n/n01 を、m準位で打ち切って返す。"""
    n = np.arange(-ncut, ncut + 1)
    H = np.diag(4.0 * EC * n ** 2.0)
    off = -0.5 * EJ * np.ones(2 * ncut)
    H += np.diag(off, 1) + np.diag(off, -1)
    E, V = np.linalg.eigh(H)
    nop = np.real(V[:, :m].conj().T @ np.diag(n.astype(float)) @ V[:, :m])
    return E[:m] - E[0], nop / nop[0, 1]


@lru_cache(maxsize=None)
def EJ_for(f01, EC=EC):
    """0-1遷移を f01 に合わせるジョセフソンエネルギー(二分法)。"""
    lo, hi = 0.5 * EC, 400.0 * EC
    for _ in range(60):
        mid = 0.5 * (lo + hi)
        lo, hi = (mid, hi) if transmon(mid, EC, 30, 2)[0][1] < f01 else (lo, mid)
    return 0.5 * (lo + hi)


def coupled(fs, couplings, m=4):
    """容量結合した複数のトランズモンを対角化する。

    couplings: {(i, j): g} は g (n_i/n01_i)(n_j/n01_j) を加える。
    戻り値は (固有値, 固有ベクトル, m)。裸の基底はrow-major順なので、
    裸の状態 (j0, j1, ...) は列 ravel_multi_index(...) に対応する。
    """
    data = [transmon(EJ_for(f), EC, 30, m) for f in fs]
    eyes = [np.eye(m)] * len(fs)

    def at(k, A):
        mats = list(eyes)
        mats[k] = A
        return reduce(np.kron, mats)

    H = sum(at(k, np.diag(data[k][0])) for k in range(len(fs)))
    for (i, j), g in couplings.items():
        H = H + g * (at(i, data[i][1]) @ at(j, data[j][1]))
    w, V = np.linalg.eigh(H)
    return w, V, m


def manifold(w, V, m, bare_states):
    """span(bare_states) に主に住む状態のdressedエネルギーを昇順で返す。

    裸の状態を1つずつ最近接のdressed状態に対応づける方法と違い、
    縮退があっても正しく動く。
    """
    nsys = len(bare_states[0])
    cols = [int(np.ravel_multi_index(b, [m] * nsys)) for b in bare_states]
    weight = np.sum(np.abs(V[cols, :]) ** 2, axis=0)
    keep = np.argsort(weight)[::-1][:len(cols)]
    return np.sort(w[keep])


def one(w, V, m, bare):
    return manifold(w, V, m, [bare])[0]


g12, f1 = 0.005, 5.000
E1, _ = transmon(EJ_for(f1), EC, 30, 4)
alpha = (E1[2] - E1[1]) - E1[1]
print(f"  量子ビット1は {f1:.3f} GHz、alpha/2pi = {alpha * 1e3:.2f} MHz")
print()
print(f"{'f2 (GHz)':>10}{'detuning (MHz)':>16}{'2J (MHz)':>11}"
      f"{'zeta = ZZ (kHz)':>18}{'zeta formula (kHz)':>20}")
for f2 in [4.60, 4.75, 4.90, 5.00, 5.25, 5.40]:
    w, V, m = coupled([f1, f2], {(0, 1): g12})
    e_single = manifold(w, V, m, [(1, 0), (0, 1)])
    E00 = one(w, V, m, (0, 0))
    E11 = one(w, V, m, (1, 1))
    zeta = E11 - e_single.sum() + E00
    D = f1 - f2
    zf = (2.0 * g12 ** 2 * (1.0 / (D - alpha) - 1.0 / (D + alpha))
          if abs(D) > 1e-9 else -4.0 * g12 ** 2 / alpha)
    print(f"{f2:>10.3f}{D * 1e3:>16.1f}{np.diff(e_single)[0] * 1e3:>11.4f}"
          f"{zeta * 1e6:>18.2f}{zf * 1e6:>20.2f}")
print()
w, V, m = coupled([f1, f1], {(0, 1): g12})
J = np.diff(manifold(w, V, m, [(1, 0), (0, 1)]))[0] / 2.0
print(f"共鳴時: 2J/2pi = {2 * J * 1e3:.4f} MHz(裸の g12/2pi = "
      f"{g12 * 1e3:.1f} MHz)、iSWAP時間 1/(4J) = {1.0 / (4 * J) :.1f} ns")
print()

print("|11>-|20> の反交差、すなわちCZゲート。閉じるのは "
      f"f2 = f1 + alpha = {f1 + alpha:.4f} GHz のとき。")
print(f"{'f2 (GHz)':>10}{'E11 - E20 (MHz)':>18}{'gap (MHz)':>12}")
best = (1e9, None)
for f2 in [4.65, 4.70, 4.715, 4.73, 4.78]:
    w, V, m = coupled([f1, f2], {(0, 1): g12})
    pair = manifold(w, V, m, [(1, 1), (2, 0)])
    gap = np.diff(pair)[0]
    E11b, E20b = f1 + f2, 2 * f1 + alpha
    print(f"{f2:>10.3f}{(E11b - E20b) * 1e3:>18.1f}{gap * 1e3:>12.4f}")
    best = min(best, (gap, f2))
print(f"  最小ギャップ {best[0] * 1e3:.4f} MHz(f2 = {best[1]:.3f} GHz 付近); "
      f"2 sqrt(2) g12 = {2 * np.sqrt(2) * g12 * 1e3:.4f} MHz")
# 交差点では2状態が縮退しているので {|11>, |20>} の対で H = (gap/2) sigma_x
# となり、占有が |11> に戻るのは1周期 1/gap の後で、そのとき -1 が掛かる。
# その半分 1/(2 gap) はゲートではなく最悪の場合で、|11> のすべてを |20> に
# 移してしまう。
print(f"  πの条件付き位相には交差点で1周期 1/gap = "
      f"{1.0 / best[0]:.1f} ns が必要")
print(f"  (1/(2 x gap) = {1.0 / (2 * best[0]):.1f} ns では占有はすべて "
      f"|20> にある)")
print()

g1 = g2 = 0.100
cpl = {(0, 1): g1, (1, 2): g2, (0, 2): g12}


def Jeff(fc, m=3):
    w, V, mm = coupled([f1, fc, f1], cpl, m=m)
    lo, hi = manifold(w, V, mm, [(1, 0, 0), (0, 0, 1)])
    # J > 0 のとき対称結合が反対称結合より上に来る
    cols = [int(np.ravel_multi_index(b, [mm] * 3))
            for b in [(1, 0, 0), (0, 0, 1)]]
    wgt = np.sum(np.abs(V[cols, :]) ** 2, axis=0)
    keep = np.argsort(wgt)[::-1][:2]
    top = keep[np.argmax(w[keep])]
    sym = np.sign(V[cols[0], top] * V[cols[1], top])
    return sym * (hi - lo) / 2.0


print(f"{'fc (GHz)':>10}{'fq - fc (MHz)':>15}{'J_eff (MHz)':>14}"
      f"{'formula (MHz)':>15}")
for fc in [5.8, 6.4, 6.9, 7.1, 7.4, 8.0, 9.0]:
    print(f"{fc:>10.2f}{(f1 - fc) * 1e3:>15.1f}{Jeff(fc) * 1e3:>14.4f}"
          f"{(g12 + g1 * g2 / (f1 - fc)) * 1e3:>15.4f}")
print()

lo, hi = 6.2, 7.8
slo = np.sign(Jeff(lo))
for _ in range(40):
    mid = 0.5 * (lo + hi)
    lo, hi = (mid, hi) if np.sign(Jeff(mid)) == slo else (lo, mid)
fc_off = 0.5 * (lo + hi)
print(f"交換相互作用が切れるのは fc = {fc_off:.5f} GHz "
      f"(2準位近似の式 f_q + g1 g2/g12 = {f1 + g1 * g2 / g12:.5f} GHz)")
for fc, tag in [(fc_off, "オフ"), (6.400, "オン")]:
    w, V, m = coupled([f1, fc, f1], cpl, m=3)
    e1 = manifold(w, V, m, [(1, 0, 0), (0, 0, 1)])
    zeta = one(w, V, m, (1, 0, 1)) - e1.sum() + one(w, V, m, (0, 0, 0))
    print(f"  fc = {fc:.5f} GHz [{tag}]: 2|J_eff| = "
          f"{abs(np.diff(e1)[0]) * 1e6:>10.3f} kHz, ZZ = {zeta * 1e6:>9.2f} kHz")
print()
  量子ビット1は 5.000 GHz、alpha/2pi = -284.74 MHz

  f2 (GHz)  detuning (MHz)   2J (MHz)   zeta = ZZ (kHz)  zeta formula (kHz)
     4.600           400.0   400.1249           -339.23             -360.78
     4.750           250.0   250.1999           1391.43             1532.80
     4.900           100.0   100.4987            376.67              400.61
     5.000             0.0    10.0000            330.83              351.20
     5.250          -250.0   250.1999           1473.36             1532.80
     5.400          -400.0   400.1250           -329.54             -360.78

共鳴時: 2J/2pi = 10.0000 MHz(裸の g12/2pi = 5.0 MHz)、iSWAP時間 1/(4J) = 50.0 ns

|11>-|20> の反交差、すなわちCZゲート。閉じるのは f2 = f1 + alpha = 4.7153 GHz のとき。
  f2 (GHz)   E11 - E20 (MHz)   gap (MHz)
     4.650             -65.3     66.6169
     4.700             -15.3     20.4667
     4.715              -0.3     13.7280
     4.730              14.7     20.2029
     4.780              64.7     66.2691
  最小ギャップ 13.7280 MHz(f2 = 4.715 GHz 付近); 2 sqrt(2) g12 = 14.1421 MHz
  πの条件付き位相には交差点で1周期 1/gap = 72.8 ns が必要
  (1/(2 x gap) = 36.4 ns では占有はすべて |20> にある)

  fc (GHz)  fq - fc (MHz)   J_eff (MHz)  formula (MHz)
      5.80         -800.0       -8.1246        -7.5000
      6.40        -1400.0       -2.9699        -2.1429
      6.90        -1900.0       -1.0854        -0.2632
      7.10        -2100.0       -0.5754         0.2381
      7.40        -2400.0        0.0352         0.8333
      8.00        -3000.0        0.9016         1.6667
      9.00        -4000.0        1.7877         2.5000

交換相互作用が切れるのは fc = 7.38047 GHz (2準位近似の式 f_q + g1 g2/g12 = 7.00000 GHz)
  fc = 7.38047 GHz [オフ]: 2|J_eff| =      0.000 kHz, ZZ =     -0.31 kHz
  fc = 6.40000 GHz [オン]: 2|J_eff| =   5939.792 kHz, ZZ =     53.51 kHz

着目点。 共鳴では数値的に取り出した $2J$ が、裸の $g_{12}/2\pi = 5$ MHzに対してちょうど10.000 MHzになり、当然そうあるべきで、iSWAP時間は50 nsです。静的 $ZZ$ はそこで331 kHzで、式の351 kHzに対して6%高くなっています。これも $\zeta$ がほぼ相殺の残差だからです。非単調性に注意してください。$\zeta$ は離調250 MHz付近でピークをもち(1.4 MHz、共鳴時の4倍)、400 MHzでは符号が変わります。ピークは $\Delta = -\alpha = 285$ MHzの $|11\rangle$-$|20\rangle$ 共鳴であり、摂動論の式が発散して厳密計算が発散しない場所です。

反交差の走査はギャップ最小を $f_2 = 4.715$ GHz $= f_1 + \alpha$ に見つけ、最小ギャップは13.728 MHzです。調和的な期待値 $2\sqrt{2}g_{12} = 14.142$ MHz は3%高く、その差はCode Example 4 の行列要素比1.3726そのものです — $2 \times 1.3726 \times 5 = 13.726$ MHz。厳密な数値はすべて互いに整合しており、それがこの方法で計算する意味です。

条件付き位相の時間は注意が必要です。素朴な答えは2倍ずれています。交差点では2つの状態が縮退しているので、$\lbrace|11\rangle, |20\rangle\rbrace$ の対でハミルトニアンは $(\mathrm{gap}/2)\,\sigma_x$ であり、占有は周期 $1/\mathrm{gap}$ で両者のあいだを完全に往復します。半周期 $1/(2\,\mathrm{gap}) = 36.4$ ns だけそこに留まると、$|11\rangle$ のすべてが $|20\rangle$ に移ります — 完全なリーケージという最悪の結末です。占有が $|11\rangle$ に戻るのは1周期 $1/\mathrm{gap} = 72.8$ ns の後で、そのとき $-1$ が掛かって戻ってきます。これが $\pi$ の条件付き位相です。実際には交差点に留まらず、交差点へ向かう断熱的な遠回りをして同じ位相を有限のリーケージで蓄積しますが、72.8 ns はその遠回りが守らねばならない下限です。

パートBが可変カプラです。$J_\mathrm{eff}$ は $f_c = 7.380$ GHzでゼロを横切り、そこでの残留交換はkHz以下、残留 $ZZ$ は $-0.31$ kHzです。$f_c = 6.400$ GHzでは同じ回路が $2J_\mathrm{eff} = 5.94$ MHz、$ZZ = 53.5$ kHzになります。補助回路を1ギガヘルツ動かすだけで、交換相互作用のオン/オフ比が数千になるのです。

2準位近似の式は切れる点を $f_q + g_1g_2/g_{12} = 7.000$ GHz と予測し、真の値から380 MHzずれています。誤差はカプラ自身の高い準位と、式が落としている逆回転項から来ます。校正が厳密でなければならない場面で380 MHzは小さな外れではありません。またカプラは逆符号の $ZZ$ 項を自分でも寄与するので、$f_c = 6.4$ GHzで数値計算した $ZZ$(53.5 kHz)は、同じ強さの直接結合だけなら与える $4J_\mathrm{eff}^2/|\alpha| = 124$ kHz よりずっと小さくなっています。この部分的な相殺と、$J$ と $ZZ$ の両方が小さくなる近傍周波数の存在は、このアーキテクチャの本物の利点であり、回路全体を対角化しなければ見つからなかったものです。

cross-resonance:可変要素をひとつも持たないゲート

チューナブルカプラはオン/オフ比をハードウェアで買っています。1対ごとに回路が1つ、磁束線が1本、校正すべきバイアスが1つ、そして磁束ノイズによるデフェージングチャネルが1つ増えます。何も買わずに済ませる系統がもう1つあります。量子ビットの周波数は固定したまま、小さな静的容量結合は常時オンのままにして、ゲートは駆動から作るのです。すなわち制御量子ビットを標的の周波数で駆動します。これが cross-resonance ゲートであり、可変要素をどこにも持たない固定周波数トランズモンのプロセッサでもエンタングルできる理由です。

なぜ働くのかは、2.4節の言葉で2行の議論です。駆動は、それが加えられている量子ビットからは大きく離調しています — 離調 $\Delta = f_1 - f_2$ は典型的に100 MHz以上 — なので制御量子ビットをほとんど励起しません。しかし静的な交換 $J$ が2つの量子ビットを混成させているので、駆動が結合する演算子は純粋に制御量子ビットのものではありません。$J/\Delta$ の1次で、その中には標的量子ビットの成分が入っています。したがって駆動は制御量子ビットを通して標的に届き、そして — ここが要点です — 届く振幅は制御量子ビットの状態に依存します。制御量子ビット自身の梯子が非調和だからです。制御が $|0\rangle$ なら駆動は $|10\rangle$ を経由して渡され、$|1\rangle$ なら $|20\rangle$ を経由します。後者の行列要素はCode Example 4 の因子 $r = |n_{12}/n_{01}| = 1.3726$ だけ大きく、離調は $\Delta$ ではなく $\Delta + \alpha$ です。2つの制御状態に対して2つの異なる振幅、それが定義そのままの $ZX$ 相互作用です。

2次の行列要素は書き出す価値があります。それがゲートの全部だからです。$\Omega$ を、共鳴で作るであろうRabi周波数として表した駆動振幅とし、標的の周波数で回転する系で考えます。この系では $|00\rangle$ と $|01\rangle$ が縮退し、$|10\rangle$ と $|11\rangle$ も縮退します。各縮退対の内部の有効結合は

$$ t_0 = -\frac{J\Omega}{2\Delta}, \qquad t_1 = \frac{J\Omega}{2\Delta} - \frac{r^2 J\Omega}{2(\Delta + \alpha)} $$

です — $t_0$ は経路 $|00\rangle \to |10\rangle \to |01\rangle$ の1本、$t_1$ は $|10\rangle \to |20\rangle \to |11\rangle$ と $|10\rangle \to |01\rangle \to |11\rangle$ の2本です。有効な量子ビットハミルトニアンを $H_\mathrm{eff} = c_{IX}\,IX + c_{ZX}\,ZX + \ldots$ と書くと、和の半分と差の半分が

$$ c_{IX} = -\frac{r^2 J\Omega}{4(\Delta+\alpha)}, \qquad c_{ZX} = \frac{J\Omega}{4}\left(\frac{r^2}{\Delta+\alpha} - \frac{2}{\Delta}\right) $$

を与えます。$r^2$ を調和的な値 2 に置き換えると、後者は通常引用される形 $c_{ZX} = -J\Omega\alpha/[2\Delta(\Delta+\alpha)]$ に潰れます。

本章自身の数値を入れてみましょう。$\alpha/2\pi = -284.87$ MHz の2つのトランズモン、静的交換 $J/2\pi = 3$ MHz、制御-標的離調 $\Delta/2\pi = 100$ MHz、駆動 $\Omega/2\pi = 20$ MHz とします。式は $c_{IX} = +0.153$ MHz、$c_{ZX} = -0.453$ MHz を与えます。$c_{ZX}$ の調和版は $-0.462$ MHz で2%大きく、それは $r^2 = 1.884$ が 2 ではないからです。Code Example 6 とまったく同じやり方で、量子ビットあたり5準位の同じモデルを数値対角化すると $c_{IX} = +0.153$ MHz、$c_{ZX} = -0.435$ MHz になります。摂動論の結果はこの駆動振幅で4%大きく、$\Omega/2\pi = 10$ MHz では1%大きいだけですが、$\Omega/2\pi = 80$ MHz では62%大きくなります。$ZX$ の速さは駆動パワーに対して飽和するのであり、だから cross-resonance ゲートの校正は式ではなく実験なのです。

これらの係数は直接測れます。ここでは $c_{IX}$ と $c_{ZX}$ が逆符号なので、標的のRabi速度は制御が $|0\rangle$ のとき $2|c_{IX} + c_{ZX}| = 0.56$ MHz、$|1\rangle$ のとき $2|c_{IX} - c_{ZX}| = 1.18$ MHz になります。条件付き駆動であり、これはすでにほとんどCNOTです。「ほとんど」を「厳密に」に写すのが、2つの標準的な改良です。

そして作製の問題です。この小節が向かっていたのはここです。速さも誤りもどちらも $\Delta$ の関数であり、$\Delta$ は調整できません。接合を酸化した時点で決まっています。避けるべき条件が同時に3つあります。$|\Delta|$ が小さすぎると量子ビットが混成し、アドレス性もきれいな $ZX$ も残りません。$\Delta = -\alpha = 285$ MHz では駆動が制御の $1\to2$ 遷移とちょうど共鳴し — 同じことですが $|11\rangle$ と $|20\rangle$ が縮退し — 式のうえでは $c_{IX}$ と $c_{ZX}$ が両方発散する一方で真の速さは崩れます。$\Delta/2\pi = 300$ MHz での数値対角化は式の 1.77 MHz に対して $c_{ZX} = 0.76$ MHz を与え、消えた振幅はリーケージに行っています。そして $\Delta = -\alpha/2 = 142$ MHz では駆動が制御を2光子で $|0\rangle$ から $|2\rangle$ に励起します。$ZX$ の速さはそれに気づきさえしませんが、ゲートは壊れます。0 と 142 MHz のあいだの使える窓は数十メガヘルツ幅しかなく、しかも各量子ビットはそうした窓に同時に複数入っていなければなりません — 隣ごとに1つ、傍観者ごとに1つです。

これを作製が届けるものと比べてください。Code Example 1 より $f_{01} + E_C = \sqrt{8E_JE_C}$ なので $\delta f_{01} \approx \tfrac{1}{2}(f_{01}+E_C)\,\delta E_J/E_J$ であり、Ambegaokar-Baratoff は $E_J \propto 1/R_n$ とします。トンネルバリアの抵抗面積積の2%のばらつき — ウェハとしては良い日です — が量子ビット周波数の 52 MHz のばらつきになります。cross-resonance アーキテクチャが必要とする周波数の窓は、作製したままのばらつきより狭いのです。この1つの比較が研究プログラム全体を説明します。接合の再現性(酸化量、バリアの均一性、経時変化)が見出しの数値として報告される理由、作製後の周波数トリミングがそもそも存在する理由、そしてチューナブルカプラと cross-resonance の選択が2つの回路の選択ではなく2つの破綻モードの選択である理由 — 一方は校正の複雑さと磁束ノイズ、他方は作製の歩留まりです。というわけで、材料そのものへ進みます。


2.6 デコヒーレンスの材料科学

本コースが存在する理由がこの節です。上のすべては回路設計であり、回路設計は理解されています。理解されていないのは — そして活発な研究フロンティアであり、材料科学が直接貢献する場所は — なぜハミルトニアンを8桁書き下せる装置のコヒーレンス時間が、名目上同一の作製ロット間で1桁変動し、1つの素子のなかでも数時間のうちにドリフトするのか、という点です。

短い答えはこうです。$T_1$ は回路の性質ではありません。数ナノメートルのアモルファス酸化膜の性質なのです。

損失は重み付き和である

エネルギー緩和率はQ値です:$T_1 = Q/\omega_{01}$。誘電損失については、$Q$ はほとんど気恥ずかしいほど単純な規則から従います。素子の各損失領域 $i$ は全電場エネルギーのうち割合 $p_i$ を蓄えており — その参加率です — 誘電損失 $\tan\delta_i$ に比例して散逸します:

$$ \frac{1}{Q} = \sum_i p_i \tan\delta_i, \qquad \sum_i p_i = 1 $$

これが超伝導量子ビットの材料エンジニアリングの主役であり、重要なことを述べています。ひどい誘電損失をもつ領域も電場がそこへ行かなければ無害であり、優れた誘電損失をもつ領域も電場を全部抱えていればバジェットを支配するのです。

平面型量子ビットで関係する損失領域は3つの界面であり、それぞれ数ナノメートルの $\tan\delta \sim 10^{-3}$ のアモルファス酸化膜です:

そしてバルク基板は、誘電損失が4〜5桁良い(酸化膜の $2\times10^{-3}$ に対し、高抵抗シリコンで $10^{-7}$、サファイアで $10^{-8}$)一方で参加率がほぼ1です。

実際の形状について $p_i$ を正しく求めるには薄層メッシュを使った有限要素静電計算が必要で、これは本当に厄介です — 層は寸法より3〜4桁薄い(20 $\mu$m の電極に対して 3 nm)のです。しかしスケーリングは2行で導けて、設計判断が依拠するのはスケーリングです。界面で電束密度 $D$ の法線成分は連続なので、誘電率 $\epsilon_s$ の基板上にある誘電率 $\epsilon_i$ の層の内部の電場は $\epsilon_s/\epsilon_i$ 倍に増強され、エネルギー密度比も $\epsilon_s/\epsilon_i$ です。層は電場が存在する体積のうち $t/w$ 程度の割合を占め、$t$ は層の厚さ、$w$ は電極またはギャップのスケールです。したがって

$$ p_\mathrm{surface} \sim \frac{\epsilon_s}{\epsilon_i}\cdot\frac{t}{w} $$

帰結が3つ、いずれも実験的に確認されています。酸化膜は薄いほど良い($t$ に比例)、大きいほど良い($w$ に反比例 — 大面積量子ビット設計の由来です)、そして界面層の誘電率は高いほど良い、自分自身を遮蔽するからです。

準粒子

第2の $T_1$ チャネルはまったく誘電的ではありません。1個の対を組まない電子 — 準粒子 — が接合を横切ってトンネルすると、量子ビットのエネルギーを吸収できます。準粒子密度を、対を組んでいない電子の割合 $x_{qp}$ でパラメータ化すると、標準的な結果は

$$ \Gamma_{qp} = \frac{\omega_{01}}{\pi} x_{qp} \sqrt{\frac{2\Delta}{\hbar\omega_{01}}} $$

です。熱平衡では $x_{qp} = \sqrt{2\pi k_BT/\Delta}\,e^{-\Delta/k_BT}$ で、20 mKでは約 $10^{-47}$ — まったく無視でき、問題になりうる何よりも40桁小さい値です。実際の素子で測定されるのは温度に依存しない床であって、$10^{-8}$ から $10^{-6}$ 程度です。準粒子は熱的ではありません。対破壊しきい値 $2\Delta/h$ を超える迷い赤外光子、宇宙線と環境放射能が基板に落とすエネルギー、そしてフォノンバーストが生成しているのです。そのいずれも物理的限界ではなく工学の問題です — シールド、吸収型フィルタ、フォノントラップ、ギャップエンジニアリング、常伝導金属の準粒子トラップ。

Code Example 7: $T_1$ バジェット

"""第2章 Code Example 7: T1バジェットを材料の問題として扱う。
(a) 誘電損失の参加率解析、(b) 実際に量子ビットと共鳴する2準位欠陥の個数、
(c) 準粒子。"""
import numpy as np

h = 6.62607015e-34
hbar = h / (2 * np.pi)
e = 1.602176634e-19
kB = 1.380649e-23
eps0 = 8.8541878128e-12
DEBYE = 3.33564e-30      # C m

f01 = 5.0e9              # Hz
w01 = 2 * np.pi * f01

# =======================================================================
# (a) 参加率と損失バジェット
# =======================================================================
# スケーリングモデル。誘電率 eps_s の基板上にある厚さ t・誘電率 eps_i の
# 表面層は、法線方向のDが連続なので eps_s/eps_i 倍に増強された電場をもち、
# 電場が存在する体積のうち ~ t/w の割合を占める(w は電極・ギャップの
# スケール)。3つの表面層の重みの和は1とした。実際の数値は薄層メッシュを
# 使った有限要素計算から得るものだが、設計判断が依拠するのはスケーリング
# — t に比例、w に反比例、eps_i に反比例 — である。
eps_s = 11.45            # シリコン
LAYERS = [   # 名称, 重み, 厚さ (nm), eps_r, 誘電損失
    ("metal-substrate (MS)", 0.50, 3.0, 10.0, 2.0e-3),
    ("metal-air       (MA)", 0.25, 3.0, 10.0, 2.0e-3),
    ("substrate-air   (SA)", 0.25, 3.0, 10.0, 2.0e-3),
]


def budget(w_um, layers=LAYERS, tan_bulk=1.0e-7, p_junction=0.0,
           tan_junction=2.0e-3):
    """電極スケール w に対するQ値の逆数と、その内訳。"""
    rows, p_surf, inv_q = [], 0.0, 0.0
    for name, wt, t_nm, eps_i, td in layers:
        p = wt * (eps_s / eps_i) * (t_nm * 1e-3 / w_um)
        p_surf += p
        inv_q += p * td
        rows.append((name, p, td, p * td))
    p_bulk = 1.0 - p_surf - p_junction
    rows.append(("substrate bulk      ", p_bulk, tan_bulk, p_bulk * tan_bulk))
    inv_q += p_bulk * tan_bulk
    if p_junction:
        rows.append(("junction barrier    ", p_junction, tan_junction,
                     p_junction * tan_junction))
        inv_q += p_junction * tan_junction
    return inv_q, rows


inv_q, rows = budget(20.0)
print(f"{'region':>22}{'participation p':>17}{'tan delta':>12}"
      f"{'p tan delta':>14}{'share':>8}")
for name, p, td, c in rows:
    print(f"{name:>22}{p:>17.3e}{td:>12.1e}{c:>14.3e}{c / inv_q * 100:>7.1f}%")
print(f"{'total':>22}{'':>17}{'':>12}{inv_q:>14.3e}")
print(f"  Q = {1.0 / inv_q:.3e},  T1 = Q/omega01 = "
      f"{1.0 / inv_q / w01 * 1e6:.1f} us")
print()

print(f"{'w (um)':>8}{'sum p_surface':>15}{'1/Q':>12}{'Q':>12}{'T1 (us)':>10}")
for wum in [1.0, 5.0, 20.0, 50.0, 100.0, 300.0]:
    iq, rr = budget(wum)
    psurf = sum(r[1] for r in rr[:3])
    print(f"{wum:>8.1f}{psurf:>15.3e}{iq:>12.3e}{1.0 / iq:>12.3e}"
          f"{1.0 / iq / w01 * 1e6:>10.1f}")
print(f"  バルクが決める上限: Q = 1e7, T1 = {1e7 / w01 * 1e6:.0f} us")
print()

print(f"{'t (nm)':>8}{'tan delta':>12}{'1/Q':>12}{'T1 (us)':>10}   note")
cases = [(3.0, 2.0e-3, "成膜したままのアモルファス酸化膜"),
         (3.0, 5.0e-4, "洗浄または封止した界面"),
         (1.0, 2.0e-3, "より薄い自然酸化膜(例: Ta2O5)"),
         (0.5, 2.0e-4, "両者を楽観的に押し切った極限")]
for t_nm, td, note in cases:
    lay = [(n, wt, t_nm, ei, td) for n, wt, _, ei, _ in LAYERS]
    iq, _ = budget(20.0, layers=lay)
    print(f"{t_nm:>8.1f}{td:>12.1e}{iq:>12.3e}{1.0 / iq / w01 * 1e6:>10.1f}"
          f"   {note}")
print()

for name, tanb in [("高抵抗Si", 1.0e-7), ("サファイア", 1.0e-8)]:
    iq, _ = budget(20.0, tan_bulk=tanb)
    print(f"  {name:<22} tan delta_bulk = {tanb:.0e}: T1 = "
          f"{1.0 / iq / w01 * 1e6:>6.1f} us "
          f"(バルクのみの上限 {1.0 / tanb / w01 * 1e6:>7.0f} us)")
print()

# =======================================================================
# (b) しかし接合バリアは連続体なのか
# =======================================================================
A_J, t_J = 0.070, 2.0            # um^2, nm
C_J = 45.0 * A_J                 # fF、45 fF/um^2 として
C_tot = 77.5                     # fF、Code Example 1 の設計値
p_J = C_J / C_tot
print(f"(b) 接合バリア: C = {C_tot:.1f} fF のうち C_J = {C_J:.2f} fF なので "
      f"p_J = {p_J:.4f}")
iq, rows = budget(20.0, p_junction=p_J)
print(f"    tan delta = 2e-3 の連続体として扱うと "
      f"p_J tan delta = {p_J * 2e-3:.3e} となり、")
print(f"    T1 = {1.0 / iq / w01 * 1e6:.2f} us となる。実測より2桁小さい。")
print()

# 誘電損失から導かれるTLS状態密度(双極子モーメント d を仮定):
#   tan delta = pi P0 d^2 / (3 eps0 eps_r)
d_tls = 1.0 * DEBYE
tan_ox, eps_ox = 2.0e-3, 10.0
P0 = 3.0 * eps0 * eps_ox * tan_ox / (np.pi * d_tls ** 2)   # per J per m^3
print(f"    tan delta = {tan_ox:.0e} と d = 1 Debye から "
      f"P0 = {P0:.3e} /J/m^3")
print(f"    = 1 GHz・1 um^3 あたり {P0 * h * 1e9 * 1e-18:.3e} 個の欠陥")
print()
print(f"{'region':>26}{'volume (um^3)':>15}{'N in 1 MHz':>13}"
      f"{'N in 1 GHz':>13}")
for name, V_um3 in [("トランズモンの接合バリア  ", A_J * t_J * 1e-3),
                    ("1990年代型の大面積接合    ", 10.0 * 2.0 * 1e-3),
                    ("シャント容量の表面        ", 1.0e4 * 3.0 * 1e-3)]:
    V = V_um3 * 1e-18
    n_mhz = P0 * V * h * 1e6
    n_ghz = P0 * V * h * 1e9
    print(f"{name:>26}{V_um3:>15.3e}{n_mhz:>13.3e}{n_ghz:>13.3e}")
V_cross = 1.0 / (P0 * h * 1e6) * 1e18
print(f"    クロスオーバー体積(1 MHzあたり欠陥1個): {V_cross:.3f} um^3")
print()

# =======================================================================
# (c) 準粒子
# =======================================================================
Tc = 1.20
Delta = 1.764 * kB * Tc
print(f"(c) アルミニウム中の準粒子: Delta = {Delta / e * 1e6:.1f} ueV, "
      f"2Delta/h = {2 * Delta / h / 1e9:.1f} GHz")


def T1_qp(x_qp):
    g = (w01 / np.pi) * x_qp * np.sqrt(2.0 * Delta / (hbar * w01))
    return 1.0 / g


print()
print(f"{'T (mK)':>9}{'Delta/kBT':>11}{'x_qp thermal':>15}{'T1_qp':>14}")
for T in [20e-3, 100e-3, 150e-3, 200e-3, 300e-3]:
    x = np.sqrt(2 * np.pi * kB * T / Delta) * np.exp(-Delta / (kB * T))
    t1 = T1_qp(x)
    unit = (f"{t1 * 1e6:.2f} us" if t1 < 1e-3 else
            f"{t1 * 1e3:.2f} ms" if t1 < 1.0 else f"{t1:.2e} s")
    print(f"{T * 1e3:>9.0f}{Delta / (kB * T):>11.2f}{x:>15.3e}{unit:>14}")
x20 = (np.sqrt(2 * np.pi * kB * 0.020 / Delta)
       * np.exp(-Delta / (kB * 0.020)))
print()
print(f"    20 mK での熱平衡 x_qp = {x20:.1e}。実測の下限より "
      f"{np.log10(1e-7 / x20):.0f} 桁小さい")
# x_qp は「電子」に対する割合として定義され、電子密度は 2 n_cp なので、
# 準粒子数は x_qp (2 n_cp) V、壊れた対の数はその半分になる。両方を印字して
# 区別する。
n_cp = 4.0e6     # Al中のCooper対密度 (1/um^3)
V_film = 1.0e4 * 0.1     # um^3。100 x 100 um のパッド、厚さ100 nm
print(f"{'x_qp':>10}{'T1_qp':>12}{'N_qp in the film':>20}{'broken pairs':>15}")
for x in [1e-8, 1e-7, 1e-6, 1e-5]:
    print(f"{x:>10.0e}{T1_qp(x) * 1e6:>10.1f} us"
          f"{x * 2 * n_cp * V_film:>20.2f}{x * n_cp * V_film:>15.2f}")
print(f"    (膜体積 {V_film:.0f} um^3、Cooper対密度 "
      f"{n_cp:.0e} /um^3、電子密度 {2 * n_cp:.0e} /um^3)")
print()
E_dep = 1.0e6 * e        # 基板への1 MeVのエネルギー堆積
print(f"      1 MeVの堆積1回で、その50%が対破壊に回るとすれば "
      f"約 {0.5 * E_dep / (2 * Delta):.1e} 個の準粒子ができる")
print(f"      2Delta/h = {2 * Delta / h / 1e9:.0f} GHz を超える光子1個で対が1つ壊れ、"
      f"視線内の温かい表面がそれを供給する:")
# Wienの変位則は単位周波数あたりと単位波長あたりでピーク位置が違う。
# nu_max = 2.821 kB T / h であって c / lambda_max ではない。対破壊に効くのは
# 2Delta/h を超える光子束なので、それも積分する。
f_thr = 2.0 * Delta / h
x = np.linspace(1e-6, 60.0, 600001)
flux_all = np.trapezoid(x ** 2 / np.expm1(x), x)
for T in [4.0, 0.8]:
    fpk = 2.821 * kB * T / h
    x0 = h * f_thr / (kB * T)
    xs = x[x >= x0]
    frac = np.trapezoid(xs ** 2 / np.expm1(xs), xs) / flux_all
    print(f"        {T:>4.1f} K の表面: 単位周波数あたりのWienピーク "
          f"{fpk / 1e9:>6.1f} GHz = {fpk / f_thr:>5.2f} x (2Delta/h); "
          f"光子束の {frac * 100:>5.2f}% がしきい値以上")
                region  participation p   tan delta   p tan delta   share
  metal-substrate (MS)        8.588e-05     2.0e-03     1.718e-07   38.7%
  metal-air       (MA)        4.294e-05     2.0e-03     8.588e-08   19.4%
  substrate-air   (SA)        4.294e-05     2.0e-03     8.588e-08   19.4%
  substrate bulk              9.998e-01     1.0e-07     9.998e-08   22.5%
                 total                                  4.435e-07
  Q = 2.255e+06,  T1 = Q/omega01 = 71.8 us

  w (um)  sum p_surface         1/Q           Q   T1 (us)
     1.0      3.435e-03   6.970e-06   1.435e+05       4.6
     5.0      6.870e-04   1.474e-06   6.785e+05      21.6
    20.0      1.718e-04   4.435e-07   2.255e+06      71.8
    50.0      6.870e-05   2.374e-07   4.212e+06     134.1
   100.0      3.435e-05   1.687e-07   5.928e+06     188.7
   300.0      1.145e-05   1.229e-07   8.137e+06     259.0
  バルクが決める上限: Q = 1e7, T1 = 318 us

  t (nm)   tan delta         1/Q   T1 (us)   note
     3.0     2.0e-03   4.435e-07      71.8   成膜したままのアモルファス酸化膜
     3.0     5.0e-04   1.859e-07     171.3   洗浄または封止した界面
     1.0     2.0e-03   2.145e-07     148.4   より薄い自然酸化膜(例: Ta2O5)
     0.5     2.0e-04   1.057e-07     301.1   両者を楽観的に押し切った極限

  高抵抗Si                  tan delta_bulk = 1e-07: T1 =   71.8 us (バルクのみの上限     318 us)
  サファイア                  tan delta_bulk = 1e-08: T1 =   90.0 us (バルクのみの上限    3183 us)

(b) 接合バリア: C = 77.5 fF のうち C_J = 3.15 fF なので p_J = 0.0406
    tan delta = 2e-3 の連続体として扱うと p_J tan delta = 8.129e-05 となり、
    T1 = 0.39 us となる。実測より2桁小さい。

    tan delta = 2e-03 と d = 1 Debye から P0 = 1.520e+46 /J/m^3
    = 1 GHz・1 um^3 あたり 1.007e+04 個の欠陥

                    region  volume (um^3)   N in 1 MHz   N in 1 GHz
            トランズモンの接合バリア        1.400e-04    1.410e-03    1.410e+00
         1990年代型の大面積接合          2.000e-02    2.014e-01    2.014e+02
         シャント容量の表面              3.000e+01    3.021e+02    3.021e+05
    クロスオーバー体積(1 MHzあたり欠陥1個): 0.099 um^3

(c) アルミニウム中の準粒子: Delta = 182.4 ueV, 2Delta/h = 88.2 GHz

   T (mK)  Delta/kBT   x_qp thermal         T1_qp
       20     105.84      2.637e-47    9.03e+35 s
      100      21.17      3.492e-10      68.17 ms
      150      14.11      4.961e-07      47.99 us
      200      10.58      1.951e-05       1.22 us
      300       7.06      8.136e-04       0.03 us

    20 mK での熱平衡 x_qp = 2.6e-47。実測の下限より 40 桁小さい
      x_qp       T1_qp    N_qp in the film   broken pairs
     1e-08    2380.8 us               80.00          40.00
     1e-07     238.1 us              800.00         400.00
     1e-06      23.8 us             8000.00        4000.00
     1e-05       2.4 us            80000.00       40000.00
    (膜体積 1000 um^3、Cooper対密度 4e+06 /um^3、電子密度 8e+06 /um^3)

      1 MeVの堆積1回で、その50%が対破壊に回るとすれば 約 1.4e+09 個の準粒子ができる
      2Delta/h = 88 GHz を超える光子1個で対が1つ壊れ、視線内の温かい表面がそれを供給する:
         4.0 K の表面: 単位周波数あたりのWienピーク  235.1 GHz =  2.67 x (2Delta/h); 光子束の 83.85% がしきい値以上
         0.8 K の表面: 単位周波数あたりのWienピーク   47.0 GHz =  0.53 x (2Delta/h); 光子束の  8.51% がしきい値以上

着目点、パート(a)。 名目設計 — $w = 20\ \mu$m、酸化膜3 nm、$\tan\delta = 2\times10^{-3}$、シリコン — では3つの表面が合計参加率 $1.7 \times 10^{-4}$ で損失の77%を担い、バルク基板が参加率ほぼ1で残りの23%を担います。$Q = 2.3\times10^6$、$T_1 = 72\ \mu$s。平面トランズモンとして正しい桁であり、2行のスケーリングモデルから出てきた値です。

形状の走査が設計のてこです。$T_1$ は $w = 1\ \mu$m の4.6 $\mu$sから $w = 50\ \mu$m の134 $\mu$sまで、予測どおり $w$ に線形に上がり、そして飽和します。$w = 300\ \mu$m では表面の寄与がバルクを下回り、それ以上大きくしても何も買えません。上限は $Q = 1/\tan\delta_\mathrm{bulk} = 10^7$、シリコンで $T_1 = 318\ \mu$sです。このてこを使うには実際のコストがあります — 300 $\mu$mの量子ビットはより多くの傍観者と結合し、自己共振が低く、チップ面積を食います — が物理は明快です。電場を薄めよ。

界面の表がもう1つのてこを定量化します。誘電損失を4分の1にすると(洗浄または封止した界面)$T_1$ は72から171 $\mu$sへ、厚さを3 nmから1 nmにすると148 $\mu$sへ、両方やれば301 $\mu$sになり、そこではバルクが支配的になります。超伝導体の選択が便宜ではなく材料の問題である理由がこれです。ニオブは複数の低次酸化物相を含む厚い酸化膜を成長させ、タンタルは薄く安定な単相のTa$_2$O$_5$を成長させ、窒化チタンはほぼ酸化膜なしで成長できます。関係する物性は臨界温度ではなく、酸化膜です。

基板の行は上限が動くのを示しています。サファイアのより良いバルク誘電損失は、この表面のもとでは $T_1$ を72から90 $\mu$sに上げるだけですが、上限を318から3183 $\mu$sに上げます。サファイアが効くのは表面がそれを見えるほど良くなってからです。

着目点、パート(b)。 ここでモデルは破綻し、そのやり方が教育的です。接合自身のAlO$_x$バリアは電場の $p_J = C_J/C = 4\%$ を抱えています — 3つの表面の参加率の合計($1.718\times10^{-4}$)の236倍です。同じ誘電損失をもつ連続体として扱うと $T_1 = 0.39\ \mu$s と予測されます。実際のトランズモンはこれより2桁良いので、連続体の描像は接合には適用できません。

数えることが解決します。誘電損失は2準位欠陥の状態密度を含意します。$\tan\delta = \pi P_0 d^2 / 3\epsilon_0\epsilon_r$($d$ は欠陥の双極子モーメント)で、$d = 1$ Debyeとすると $P_0 \approx 10^4$ 個/GHz/$\mu$m$^3$ です。あとは体積を掛けます。接合バリアは $0.07\ \mu\mathrm{m}^2 \times 2$ nm $= 1.4\times10^{-4}\ \mu$m$^3$ で、帯域1 MHzあたり $1.4\times10^{-3}$ 個 — すなわち量子ビットと共鳴するものは事実上1個もありません。シャント容量の表面酸化膜は30 $\mu$m$^3$ で1 MHzあたり300個、なめらかな連続体です。クロスオーバーは約 $0.1\ \mu$m$^3$ です。

この1つの数値がトランズモンの形状を説明します。接合はその欠陥が離散的で普段は共鳴しないほど小さくし、容量は表面参加率が微小になるほど大きくする。 1990年代型の大面積接合(10 $\mu$m$^2$、位相量子ビットで使われた寸法)の行は反対側を示しています。1 GHzあたり200個、分光すると反交差の森が見えるほど密で、それはまさに観測されたことであり、まさに接合を小さくする動機となったことです。

離散領域は連続体モデルが説明できない現象も説明します。$T_1$ は揺らぐのです。損失が数個の近共鳴欠陥に支配されている素子の $T_1$ は、それらの欠陥が動けば変わります。そして欠陥は動きます。環境が変わるにつれて数分から数時間の時間スケールで。超伝導量子ビットの単一の $T_1$ の値は、定数ではなく分布の要約統計量です。

着目点、パート(c)。 熱的準粒子の表は背理法で議論を決めます。20 mKで $x_{qp} = 2.6\times10^{-47}$、$T_1^{qp} = 10^{35}$ sです。150 mKでは $x_{qp} = 5\times10^{-7}$ が $T_1^{qp} = 48\ \mu$s を与え、誘電損失の限界と同程度になります。つまり150 mKで暖かく運転している冷凍機は準粒子律速になります。指数関数はどちらの方向にも容赦がありません。

非平衡の表は観測される $x_{qp}$ を2つの分かりやすい量に翻訳します。$x_{qp} = 10^{-7}$ は $T_1^{qp} = 238\ \mu$s を意味し、1000 $\mu$m$^3$ のアルミニウム膜全体で対を組まない電子が約800個 — 壊れた対で400個 — ということです。電子で800個なのは、$x_{qp}$ が電子に対する割合であり、電子密度がCooper対密度の2倍だからです。これがまるごと、その管理が活発なサブ分野の主題になっている集団です。

それらがどこから来るのかは、数値のついたシールドの問題です。88 GHzを超える光子1個で対が1つ壊れます。4 K表面の黒体スペクトルは単位周波数あたりで — ピークは $2.821k_BT/h$ であって $c/\lambda_\mathrm{max}$ ではありません — 235 GHz、しきい値の 2.67倍にあり、光子束の84%がしきい値を超えています。量子ビットから見える位置にある4 Kステージは対破壊ランプであり、だから配線は単に冷たいだけでなく吸収型フィルタと光を通さない筐体を通ります。0.8 K表面のピークは 47 GHz でしきい値よりですが、指数関数の裾はなお光子の8.5%を 88 GHz より上に置きます。視線内にある0.8 Kの面も安全ではなく、ただ暗いだけです。有用な教訓はそこです。効くのは $2\Delta/h$ より上の光子束であって、ピークの位置ではありません。そして基板への1 MeVのエネルギー堆積1回 — 環境ガンマ線、宇宙線ミューオン — が一度に $10^9$ 個程度の準粒子を解放し、これがこの種の事象がチップ全体にわたる相関的な誤りバーストとして現れる理由です。相関誤りは、表面符号が起きないと仮定している破綻モードです。

そのパターン

数値から一歩下がると、そのすべてに1つの構造が見えます。トランズモンのハミルトニアンは厳密に既知です。回路パラメータは1%まで設計されています。そしてコヒーレンス時間を決めているのは:

そのいずれもハミルトニアンには入っていません。そのすべてが材料科学であり、そこがこの20年の改善が実際に生まれてきた場所です。回路トポロジーの改良からではありません — それは15年ほど本質的に固定されています — より清浄な界面、より良い基板、異なる超伝導体、より良いシールドからです。第3章はまったく別の物理系で同じパターンを見出し、それが同じパターンであるという事実が本コースの主張なのです。


演習

本章のコードを手元に置いて取り組んでください。各問のあとに解答があります。

演習1: 厳密なスペクトルに合わせて設計する

Code Example 1 は漸近式から接合を設計し、Code Example 2 はその素子が意図した $-250$ MHzではなく $\alpha = -285$ MHzであることを見出しました。(a) 数値対角化を使って、$f_{01} = 5.000$ GHz と $\alpha = -250.0$ MHz を厳密に与える $(E_J, E_C)$ を求めてください。(b) それにはどんな容量と常伝導抵抗が必要ですか。(c) 答えの $E_C$ が250 MHzより小さいのはなぜですか。

解答

(a) 2つの未知数に2つの式なので、levels の出力に対する2次元Newton反復が数ステップで収束します。答えは \(E_C/h = 223.1\) MHz、\(E_J/h = 15.35\) GHz、すなわち \(E_J/E_C = 68.8\) で、\(f_{01} = 5.000000\) GHz と \(\alpha = -250.000\) MHz を再現します。解析的な推測を初期値にし、補正 \(\alpha \simeq -E_C(1 + (9/4)\sqrt{E_C/8E_J})\) で検算してください。\(E_J/E_C = 68.8\) なら \((9/4)\sqrt{1/550} = 0.096\) なので \(\alpha \approx -223 \times 1.096 = -244\) MHz — 近いですが、この 6 MHz の残差があるからこそ数値的に解く必要があるのです。Code Example 1 の設計からどれだけ離れるかに注目してください。\(E_J\) は 13.78 から 15.35 GHz へ上げなければなりません。非調和性を合わせるために \(E_C\) を下げると、\(f_{01} = \sqrt{8E_JE_C} - E_C\) が一緒に下がってしまうからです。代わりに \(E_C = 219\) MHz、\(E_J = 14.4\) GHz に着地すると \(f_{01} = 4.793\) GHz — 207 MHz 低く、周波数のずれた量子ビットとは隣と衝突する量子ビットのことです。

(b) \(C = e^2/2E_C = 86.8\) fF、\(E_J/h = 15.35\) GHz から \(R_n = \Delta/(8e^2 E_J/h) = 9.27\ \mathrm{k\Omega}\)、すなわち Code Example 1 の抵抗面積積 \(700\ \Omega\,\mu\mathrm{m}^2\) では接合面積が \(RA/R_n = 0.0755\ \mu\mathrm{m}^2\) です。どちらも平凡な数値ですが、どちらも動いています。Code Example 1 の設計に対して容量は12%、接合は11%大きくなりました。

(c) Code Example 2 の \(9/4\) 補正により、常に \(|\alpha| > E_C\) だからです。\(|\alpha| = 250\) MHz に着地するには、それより下を狙わなければなりません。\(\alpha = -E_C\) だけで設計する人は、非調和性を系統的に行き過ぎることになります — \(E_J/E_C = 69\) で9.6%、\(E_J/E_C = 55\) で13.9%です。

演習2: 指数関数はいくら買ってくれるか

(a) Code Example 3 を使って、$E_J/E_C$ が20から40になるとき $f_{01}$ の電荷分散は何倍になりますか。40から80では。(b) いずれの倍率も $e^{-\sqrt{8E_J/E_C}}$ の予測とおおよそ一致することを示してください。(c) 同僚が「電荷ノイズを永久に無関係にするため $E_J/E_C = 300$ にしよう」と提案しました。何が壊れますか。

解答

(a) 20から40へ:\(4.353\times10^6 \to 6.052\times10^4\) Hz、72分の1です。40から80は表に2点目がありませんが、印字された傾向(70で398 Hz)から外挿すると、やはり \(10^2\) 程度の倍率です。

(b) \(\sqrt{8 \times 20} = 12.65\)、\(\sqrt{8 \times 40} = 17.89\) なので指数の比は \(e^{5.24} = 189\) です。観測された72が小さいのは、前因子 \((E_J/2E_C)^{5/4}\) が逆方向に \(2^{1.25} = 2.4\) 倍増えるからで、\(189/2.4 = 79\) は一致します。指数が支配的ですが、前因子は無視できません。

(c) 非調和性と、それに付いてくる周波数です。\(E_C = 250\) MHz で \(E_J/E_C = 300\) とすると、厳密対角化は \(f_{01} = 11.99\) GHz の量子ビット上で \(|\alpha| = 262.7\) MHz を与え、相対非調和性は 2.19% まで落ちます。壊れるものが2つあります。第一に周波数です。12 GHz はそれ自体が問題です — 配線が難しくなり、傍観者モードが増え、量子ビットが読み出し共振器に迫ります。第二に梯子がほとんど調和的になります。井戸が束縛状態を失うのではないことに注意してください。起きるのは逆で、障壁の頂上より下の準位数は \(\sqrt{E_J/2E_C}\) のように増えます。\(+E_J\) より下の固有値を数えると \(E_J/E_C = 55\) で7個、300 で15個です。まさにそれが厄介なのです。同じ井戸に準位が増えるとは準位間隔が狭くなることで、相対非調和性 2% では実用になる短さのパルスの帯域幅が \(|\alpha|\) と同程度になり、Code Example 4 の \(|2\rangle\) へのリーケージが再び律速条件として戻ってきます。トランズモンは準位を失って人工原子でなくなるのではなく、準位を得てアドレス不能になるのです。実際には \(E_J/E_C\) が30から100のあたりが、2つの制約が余地を残す領域です。

演習3: Purcell制約を逆から読む

ある設計は $|2\chi|/\kappa = 1$ で200 nsの読み出しと、500 $\mu$s以上のPurcell律速 $T_1$ を要求します。Code Example 5 の関係式と $g/2\pi = 100$ MHzを使って、(a) 読み出し時間はどんな $\kappa$ を含意しますか。(b) するとPurcellの要求はどんな離調 $\Delta$ を課しますか。(c) その離調で必要な $\chi$ は達成できますか。答えはPurcellフィルタについて何を語りますか。

解答

(a) リングダウンの下限が \(1/\kappa\) なので、200 nsには \(\kappa/2\pi \gtrsim 0.8\) MHz が必要です。\(\kappa/2\pi = 0.8\) MHz を取ります。

(b) 周波数の形 \(T_1 = 1/[2\pi\kappa (g/\Delta)^2]\) で書くのが簡明です。\((g/\Delta)^2 = 1/(2\pi \kappa T_1) = 1/(2\pi \times 0.8\times10^6 \times 5\times10^{-4}) = 3.98\times10^{-4}\) なので \(g/\Delta = 0.020\)、すなわち \(\Delta/2\pi = 5.0\) GHz です。

(c) \(\Delta/2\pi = 5\) GHz ではCode Example 5 の厳密計算を外挿すると \(|2\chi| \approx 0.36\) MHz(表の傾向から \(2\chi\) はおよそ \(1/\Delta^2\) で減る)となり、\(|2\chi| = \kappa\) が要求する0.8 MHzを大きく下回ります。3つの要求はフィルタなしでは両立しません。Purcellフィルタがあれば \(\Gamma_P\) はフィルタの \(\omega_{01}\) での阻止量 — 典型的に1〜2桁 — だけ抑えられるので、\(\chi\) が十分大きい1.5〜2 GHzまで \(\Delta\) を戻せます。これがPurcellフィルタを任意ではなく必須にする計算であり、読み出し設計を信じる前にやっておく価値があります。

演習4: ZZのスイートスポットはどこか

Code Example 6 のパートAを使って、(a) $\zeta$ は離調250と400 MHzのあいだで符号を変えます。その交点を数値的に求めてください。(b) 符号変化を物理的に説明してください。(c) $\zeta$ のスイートスポットが聞こえほど有用でないのはなぜですか。

解答

(a) \(f_2 \in [4.60, 4.75]\) GHz で zeta を二分してください。ゼロは \(f_2 = 4.66\) GHz 付近、すなわち離調で約340 MHz、\(|\alpha| = 285\) MHz のすぐ上にあります。

(b) \(\zeta \approx 2g^2[1/(\Delta-\alpha) - 1/(\Delta+\alpha)]\) の2項は、それぞれ \(|20\rangle\) と \(|02\rangle\) による反発から来ます。\(\alpha < 0\) なので一方の分母が \(\Delta = -\alpha\) でゼロを通過し、対応する項の符号が変わるので、その共鳴の先のどこかで和も符号を変えます。物理的には、\(|11\rangle\)-\(|20\rangle\) 共鳴の片側では2重励起状態が \(|11\rangle\) を押し下げ、反対側では押し上げるということです。

(c) スイートスポットが特定の離調にあり、離調は他のことに使う必要のある資源だからです — 周波数の混雑、傍観者との衝突回避、アドレッシング。固定周波数のプロセッサは全ペアを同時に \(\zeta\) のスイートスポットに置けません。しかも狭いのです。共鳴の近くでは \(\zeta\) は離調10 MHzあたりMHz単位で変わるので、周波数のターゲティングが作製精度よりはるかに良くなければなりません。パートBの可変カプラは同じ問題を偶然ではなくつまみで解決します。だからそちらが勝ったのです。

演習5: 参加率バジェット

ある量子ビットが $f_{01} = 5$ GHzで $T_1 = 30\ \mu$sを示します。設計は $w = 10\ \mu$mで、表面には3 nmの酸化膜があると考えられています。(a) これはどんな表面損失合計 $\sum p_i\tan\delta_i$ を含意しますか。(b) Code Example 7 の参加率モデルが正しいとすれば、どんな誘電損失が必要ですか。(c) 対策の候補が2つ:$w$ を2倍にする、酸化膜厚を半分にする。どちらが効きますか。どちらが容易ですか。

解答

(a) \(Q = \omega_{01}T_1 = 2\pi\times5\times10^9 \times 3\times10^{-5} = 9.4\times10^5\) なので \(1/Q = 1.06\times10^{-6}\)。バルク寄与 \(10^{-7}\) を引くと表面に \(9.6\times10^{-7}\) が残ります。

(b) \(w = 10\ \mu\)m、\(t = 3\) nm ではモデルが \(\sum p_i = 3.435\times10^{-4}\) を与えるので \(\tan\delta = 9.6\times10^{-7}/3.435\times10^{-4} = 2.8\times10^{-3}\) — 名目の \(2\times10^{-3}\) より少し悪い値で、洗浄していない界面としては妥当であり、損失がモデルの言う場所にあることの信号です。

(c) どちらも \(\sum p_i\) を2分の1にするので、どちらも \(T_1\) をおよそ2倍の60 \(\mu\)sにします(バルクの割合が増えるので少し足りません)。違うのはコストです。\(w\) を2倍にするのはレイアウトの変更で、周波数の混雑、チップ面積、迷い結合に波及しますが、決定的に実行できます。酸化膜を半分にするのはプロセスの変更 — 別の超伝導体、in-situ洗浄、封止層 — であって、そもそも制御できるとは限らず、新しい問題を持ち込むかもしれません。実際には両方が追求され、設計者の手の内にあった形状の側が先に使い切られました。

演習6: 離散か連続か

Code Example 7(b) の欠陥密度を使って、(a) 量子ビット周波数から100 kHz以内に欠陥1個を含むのはどれだけの酸化膜体積ですか。(b) ある量子ビットの $T_1$ が数時間おきに2つの値のあいだを跳ぶのが観測されました。これは連続体バスと整合しますか。(c) 接合を小さくすることがそれほど効いたのはなぜですか。

解答

(a) \(V = 1/(P_0 h \Delta f)\) に \(\Delta f = 10^5\) Hz を入れると、1 MHzについて印字されたクロスオーバー体積の10倍、すなわち約 \(1\ \mu\mathrm{m}^3\) です。損失性酸化膜が1立方ミクロン未満なら、量子ビットの線幅内に欠陥は通常ありません。

(b) 整合しません。連続体バスは固定の誘電損失、したがって固定の \(T_1\) を与えます。多数の欠陥が寄与するのでその揺らぎは平均化されます。2つの値のあいだのスイッチングは、1個または数個の強く結合した欠陥が共鳴に入ったり出たりしている印であり、離散領域の署名です。これは電場参加率が高い小さな体積を指し示し、接合が明らかな容疑者です。

(c) 2つの理由が同時に働きました。参加率 \(p_J = C_J/C\) が下がりました。接合が小さいほど容量が小さく、一方でシャント容量は大きくされたからです。そしてバリア内の欠陥数が量子ビット線幅あたり1個を下回り、バリアは連続体領域(その4%の参加率と \(10^{-3}\) の誘電損失なら \(T_1\) を1マイクロ秒以下に抑えてしまう)から離散領域へ移りました。離散領域では大半の時間、共鳴する欠陥がまったくありません。前者は係数の話、後者は機構の変化です。Code Example 7(b) は両方に数値を与えています。


まとめ

要点

1. 2つのエネルギースケール、1つの比

2. トランズモンは量子的な振り子で、三重対角行列で解ける

3. トレードオフは指数関数対べき乗

4. ゲートは非調和性が、読み出しはほぼ相殺が律速する

5. 2量子ビットゲートは2励起多重項に住む

6. $T_1$ は材料の数値である

実務上の含意

次章へ

第3章はほとんどすべてを変えます。量子ビットは真空中の1個のイオンになり、同じ元素のどのイオンとも同一で、コヒーレンス時間はマイクロ秒ではなく秒であり、作製ばらつきは一切ありません。トラップは回路ではなく電極の集合、ゲートはマイクロ波パルスではなくレーザーパルス、そして2量子ビット相互作用は容量ではなく共有された振動モードが媒介します — これが全結合性を無償で与え、代価としてゲート時間が1000倍長くなります。

変わらないのはパターンです。トラップの安定性は表を引かずに数値で解くMathieu方程式の問題であり、ゲートは厳密なMagnus展開に照らして検証する幾何位相であり、そしてスケーリングの最大の障害は電極表面の最後の数ナノメートルにある揺らぐパッチが決める加熱率です。別の方式、別の物理、同じボトルネックです。

← 第1章: 何が良い量子ビットを作るのか 第3章: イオントラップ →

免責事項