$$
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\fbra#1{\mathinner{\left({#1}\right|}}
\def\fket#1{\mathinner{\left|{#1}\right)}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$
はじめに
量子コンピュータの最初の有力な応用先として、量子化学計算があげられることが多いです。1980年代はじめにファインマンさんが、量子の振る舞いをシミュレーションするには通常のコンピュータでは限界があり量子力学の原理に従うコンピュータが必要であると主張したとき、念頭にあったものの一つがまさにこの量子化学計算が対象としている多数の電子からなる量子系であったと思います。量子コンピュータのアイデアはその後、理論・アルゴリズムや実現するための技術の発展があって、いまに至っています。
自分自身、量子コンピュータに興味をもちはじめてからすでに何年も経っていますが、量子コンピュータを使ってどうやって量子化学計算をやるのかというあたりは(最初の有力な応用先ということもあり)理解しておこうと思い、一通り勉強はしていました。そのときに、おやっ?と思ったことが一つありました。それは、多電子系を記述するためのシュレーディンガー方程式は、そのままの形では量子回路として表現できず、人為的に構成されたある種の変換を行ってからでないと、量子コンピュータにインプットできないということでした。量子力学の原理に従うコンピュータが本当に実現されているのであれば、シュレーディンガー方程式そのものをインプットして計算できてもおかしくないではないかと。しかも、その変換方法もいくつかの方式が提案されているということで、勝手に思っていたストレートな理想イメージはあっさりと打ち砕かれてしまいました。とはいえ、量子化学計算における量子コンピュータの威力がそれで損なわれるわけでは全くありませんのでまずはご安心ください。
さて、今回、取り上げたいのはその変換(「フェルミオン・量子ビット変換(fermion-to-qubit mapping)」と呼ばれています)に関する内容です。従来からよく知られている変換法として、
- Jordan-Wigner変換
- Parity変換
- Bravyi-Kitaev変換
というものがあります。とりあえずこの3つを覚えておけば基本OKです、という説明を見かけます。なのですが、よくよく考えると、なんで、こんなバリエーションがあるの?とか、てことは、解析したい対象によってどれか一番良さげな変換を選べば良いということ?とか、そうだとすると、そもそも、この3手法以外にも何か別のもっと良い変換はないの?ということも思ったりしていました。
そんな中、フェルミオン・量子ビット変換をTernary Tree(三分木)というグラフ構造によって汎用的に記述することができて、上記3方式はその実現形態の一つであるとみなせる、そういった研究がここ数年進展しているということを知りました。また、ZX-calculusを用いることで各種提案されている方式を統一的に扱えるという研究があるということも知りました。なんと!これはちょいと理解しないではいられない、ということで勉強してみました。その内容をこれから紹介していきたいと思います。基本、以下の論文で書かれている内容の追っかけになります。が、この論文を理解する上で必要になる事項についても補足的に説明していきたいと思います。
長くなりそうなので刻みます。まず本記事では、従来の変換法(Jordan-Wigner変換、Parity変換、Bravyi-Kitaev変換)というのは何だったのかについておさらいします(おさらいなので、今回の記事では上記論文の内容までは踏み込みません)。次回以降の記事では、まず、ZX-calculusの基本を勉強し、バイナリベクトルの線形符号化がZX-diagramを用いて表現できることを見ていきます。次に、これらの道具立てを使って、生成消滅演算子やフェルミオン系のハミルトニアンを具体的に記述してみます。最後に、ある種のTernary Treeがフェルミオン・量子ビット変換と同一視できて、かつ、ZX-diagramで表現された線形符号化とも対応づけられることを示します。これにより、任意のフェルミオン・量子ビット変換をTernary Treeを用いて構成することができるようになります。今回の記事を含めて全4回の連載を予定しています。
フェルミオン・量子ビット変換とは?
フォック空間とフェルミオン演算子
まず、何はともあれ、第2量子化されたフェルミオン系(例えば分子中の多電子系)のハミルトニアンからはじめます1。
H^{fermion} = \sum_{i,j} h_{ij} a_{i}^{\dagger} a_{j} + \sum_{i,j,k,l} h_{ijkl} a_{i}^{\dagger} a_{j}^{\dagger} a_{k} a_{l} \tag{1}
ここで、$a_{i}$および$a_{i}^{\dagger}$は「消滅演算子」および「生成演算子」と呼ばれています。そして、これらの演算子は「フォック空間」の上で定義されています。フォック空間というのは、複数のフェルミオンがどの状態(分子中の多電子系の場合であれば、どのスピン軌道)に存在しているかあるいは存在していないかを2値で表現したバイナリベクトルを基底(固有状態)とするような空間です。例えば、4個のスピン軌道の下から数えて1番目と2番目に電子が存在していることを表す基底(固有状態)は$\fket{1100}$、3番目に電子が存在していることを表す基底(固有状態)は$\fket{0010}$と表されます。量子コンピュータで扱われる計算基底とは意味合いが異なるので、丸かっこのブラケット表記によってフォック空間上の固有状態を表すことにします。
生成消滅演算子には、
\lbrace {a_{i}^{\dagger}, a_{j}} \rbrace = \delta_{ij}, \quad \lbrace {a_{i}, a_{j}} \rbrace = 0, \quad \lbrace {a_{i}^{\dagger}, a_{j}^{\dagger}} \rbrace = 0 \tag{2}
という反交換関係があります。電子がまったく存在しない真空状態を以下のように定義すると、
\fket{vac} \equiv \fket{00...0} \tag{3}
フォック空間を張る任意の基底(固有状態)$\fket{\boldsymbol{f}}$は、この真空状態に生成演算子を適用したものとして表すことができます。
\fket{\boldsymbol{f}} \equiv \fket{f_0,f_1,...,f_{N-1}} = (a_{0}^{\dagger})^{f_0}(a_{1}^{\dagger})^{f_1}...(a_{N-1}^{\dagger})^{f_{N-1}} \fket{vac} \tag{4}
ここで、$f_i$は$0$または$1$の値をとるバイナリ値($f_i \in \mathbb{F}_{2}$)です。そして、同じ基底同士の内積は1になり、異なる基底同士の内積は0になります2。このような基底で張られたフォック空間は$2^N$次元のヒルベルト空間と言えます。また、式(1)のハミルトニアンは、フォック空間上で定義されたエルミート演算子です3。いまたまたまハミルトニアンを例としてあげましたが、それ以外のオブザーバブルも生成消滅演算子を使ってエルミート演算子として構成することが可能です。以降、このように構成した演算子を一般に「フェルミオン演算子」と呼ぶことにします。
量子ビット空間と量子ビット演算子
さて、式(1)のハミルトニアンを量子コンピュータで扱えるようにしたいのですが、どうすれば良いでしょうか?例えば、VQE(Variational Eigen Solver)4とかQPE(Quantum Phase Estimation:量子位相推定)5とか6をやって基底状態のエネルギーなど計算したいわけですが、できるでしょうか?このままでは難しいですよね。だって、生成消滅演算子$a_{i}$とか$a_{i}^{\dagger}$はユニタリではないですから。ついでにエルミートでもありません。なので、普通の量子ゲートにそのまま置き換えて表すことができません。それから、何らかのフォック状態に$a_{i}^{\dagger}$を演算してみてください。$i番目$のビットが0だったら1になって、1だったら状態がなくなります。こんな演算、いかなる(ユニタリな)量子ゲートでも実現できません。逆に言うと、生成消滅演算子のような非ユニタリな演算を量子ゲートから何とか構成することができれば、量子コンピュータで扱うことができるかもしれません。つまり、何らかの基本的な量子ゲート(例えば、パウリ$X,Y,Z$ゲート)の掛け算足し算で生成消滅演算子を表すことができて、ハミルトニアン全体をエルミートに構成できれば、希望が見えてきます。まさに、このような変換が「フェルミオン・量子ビット変換」なのです。
生成消滅演算子が活動する空間はフォック空間でしたが、フェルミオン・量子ビット変換によって変換された先の空間のことを「量子ビット空間」と呼びます。また、この空間の変換によってフェルミオン演算子は量子ゲート(後に説明するようにパウリ$X,Y,Z$ゲート)の足し算掛け算の形に変換されますが、このように表現された演算子のことを「量子ビット演算子」と呼ぶことにします。
ひとまず用語を整理しておきます。
| 変換元 | 変換先 | |
|---|---|---|
| 空間 | フォック空間 | 量子ビット空間 |
| 演算子 | フェルミオン演算子 (生成消滅演算子で表現) |
量子ビット演算子 (パウリ$X,Y,Z$で表現) |
フェルミオン・量子ビット変換の具体例
果たして、こんな変換が本当に実現できるのかどうか、抽象的な話を続けていてもなかなか理解しにくいと思いますので、以下で具体的な変換を3つ示します。
Jordan-Wigner変換
一番簡単な変換がこれです。どういう変換かというと、フォック空間の固有状態のビット列をそのまま量子ビット状態のビット列にマッピングする変換です。つまり、
\fket{f_0 f_1 ... f_{N-1}} \rightarrow \ket{q_0 q_1 ... q_{N-1}} \tag{5}
\begin{align}
q_0 &= f_0 \\
q_1 &= f_1 \\
&... \\
q_{N-1} &= f_{N-1}
\end{align} \tag{6}
です。ここで、$f_i,q_i \in \mathbb{F}_{2}$です。そのまんまなので簡単ですね。でも、量子ビット空間での生成消滅演算子の挙動をどう表せば良いでしょうか。例えば、$a_2^{\dagger}$をフォック空間の真空状態に適用すると、
a_2^{\dagger} \fket{0000} = \fket{0010} \tag{7}
となりますが、$a_2^{\dagger}$に対応した量子ビット空間上での生成演算子$A_2^{\dagger}$を量子ビット空間の真空状態に適用したときに、
A_2^{\dagger} \ket{0000} = \ket{0010} \tag{8}
となってほしいのです。どうすれば良いでしょうか。天下りになりますが、結論を言います(参考文献6,7)。
\begin{align}
&a_{i} \rightarrow A_{i} = \Bigl(\prod_{j=0}^{i-1} Z_j \Bigr) \frac{X_i + iY_i}{2} \\
&a_{i}^{\dagger} \rightarrow A_{i}^{\dagger} = \Bigl(\prod_{j=0}^{i-1} Z_j \Bigr) \frac{X_i - iY_i}{2}
\end{align} \tag{9}
とすれば良いです。じっくり考えれば、じんわりわかってくるのですが、こうすれば、以下のような反交換関係を成り立たせることができます。
\lbrace {A_{i}^{\dagger}, A_{j}} \rbrace = \delta_{ij}, \quad \lbrace {A_{i}, A_{j}} \rbrace = 0, \quad \lbrace {A_{i}^{\dagger}, A_{j}^{\dagger}} \rbrace = 0 \tag{10}
例えば、$A_i,A_j$において、その積$A_i A_j$を考えます。この$A_j$を前の方に移動してみます。添え字が違うパウリ演算子はするっと交換しますし、添え字が同じ同一のパウリ演算子もするっと交換します。が、添え字が同じで異なるパウリ演算子同士は反可換なので符号が逆転します。$A_j$に含まれるパウリ演算子を順番に先頭にもっていくことを考えると、一回だけ符号が逆転します。ということで$A_i$と$A_j$は反可換になります。$A_i^{\dagger}$と$A_j^{\dagger}$も同様に反可換です。$A_i^{\dagger}$と$A_j$については、$i \neq j$の場合は、いま説明した話がそのまま適用できます。$i=j$の場合は、
\begin{align}
&\frac{(X-iY)}{2} \frac{(X+iY)}{2} + \frac{(X+iY)}{2} \frac{(X-iY)}{2} \\
&= \frac{1}{4} (X-iY)(X+iY) + \frac{1}{4} (X+iY)(X-iY) \\
&= \frac{1}{4} (1+1) + \frac{1}{4} (1+1) = 1
\end{align} \tag{11}
という関係式から$\lbrace {A_{i}^{\dagger}, A_{i}} \rbrace = 1$が言えるので、$\lbrace {A_{i}^{\dagger}, A_{j}} \rbrace = \delta_{ij}$が成り立ちます。式(10)の反交換関係が成り立てば、フォック空間で成り立っていたのと同様に、量子ビット空間における任意の固有状態を以下のように得ることができます。
\ket{\boldsymbol{q}} \equiv \ket{q_0,q_1,...,q_{N-1}} = (A_{0}^{\dagger})^{q_0}(a_{1}^{\dagger})^{q_1}...(A_{N-1}^{\dagger})^{q_{N-1}} \ket{vac} \tag{12}
ここで、$\ket{vac} \equiv \ket{00...0}$です。量子ビット空間での生成消滅演算子の対応物がパウリ演算子の足し算掛け算の式で得られたので、式(1)の$a_i,a_i^{\dagger}$を$A_i,A_i^{\dagger}$で置き換えて、式(9)を代入すれば、量子ビット演算子としてのハミルトニアン(量子ビット・ハミルトニアン)が得られます。なんだか虚数単位$i$が入っている複雑な表式になってしまって、これエルミート?という雰囲気になるかもしれませんが、ご安心ください。式(1)がエルミートであれば必ずエルミートになります(なるはずです)。そして、演算子にはパウリ演算子$X,Y,Z$しか含まれず、しかも、式(1)に代入して式展開するにあたり足し算掛け算しかやらないので、結果は、パウリ演算子の積(パウリ積)の線形結合になります。つまり、
H^{qubit} = \sum_{i=0}^{N-1} c_{i} \prod_{j=0}^{M-1} P_{i}^{(j)} \tag{13}
という形になります。ここで、$P_{i}^{(j)}$はパウリ演算子のどれか、つまり、$P_{i}^{(j)} \in \lbrace I, X, Y, Z\rbrace$です。$c_{i}$は実係数であり、全体がエルミートになります。こういうハミルトニアンが出来上がれば、後はVQEでも量子位相推定でも実行可能になります。めでたしめでたし。
Parity変換
なのですが、これ以外にも変換方法はあり得ます。式(5)(6)は、一番考えやすい変換の仕方というだけで選ばれたものであり、これでなければ絶対いけないということは全然ありません。もっと別のものも考えられます。そっちの方が量子化学計算するにあたり都合が良くなる場合もあるかもしれません(都合の良し悪しについては後述します)。例えば、
\fket{f_0 f_1 ... f_{N-1}} \rightarrow \ket{q_0 q_1 ... q_{N-1}} \tag{14}
\begin{align}
q_0 &= f_0 \\
q_1 &= f_0 \oplus f_1 \\
&... \\
q_{N-1} &= f_0 \oplus f_1 \oplus ... \oplus f_{N-1}
\end{align} \tag{15}
というものも考えられます。$i$番目の量子ビットは$i$番目までのフォック基底のビットの総和(XOR)で決定されるような変換です。バイナリ値を足し合わせて2で割った余りをパリティと言いますので、この変換のことを「Parity変換」と呼びます。そして、この変換の逆も存在します7。
具体例をいくつか示してみます。
\begin{align}
fock &\rightarrow qubit \\
\fket{1100} &\rightarrow \ket{1000} \\
\fket{0110} &\rightarrow \ket{0100} \\
\fket{1110} &\rightarrow \ket{1011} \\
\fket{1000} &\rightarrow \ket{1111} \\
& ...
\end{align} \tag{16}
どうでしょうか。変換のイメージつきましたでしょうか。$\fket{...}$の中身を左から順に$i番目$までXORした結果を$\ket{...}$の$i$番目に置けば良い、ということですね。
それでは、量子ビット空間上での生成消滅演算子はどのように表せば良いでしょうか。これも天下ります(参考文献6,7)。
\begin{align}
a_{i} \rightarrow A_{i} = \frac{Z_{i} X_{i+1} + i Y_{i+1}}{2} \Bigl(\prod_{j=i}^{N-1} X_j \Bigr) \\
a_{i}^{\dagger} \rightarrow A_{i} = \frac{Z_{i} X_{i+1} - i Y_{i+1}}{2} \Bigl(\prod_{j=i}^{N-1} X_j \Bigr) \\
\end{align} \tag{17}
こうすると、先ほどのJordn-Wigner変換の場合と同様、生成消滅演算子の反交換関係式(10)を成り立たせることができますし、任意の基底は式(12)で表すことができるようになります8。
ところで、このParity変換には、Jordan-Wigner変換にはない嬉しい性質があります。それは、フェルミオン数が偶数であるか奇数であるかが、変換後の量子ビットの一番最後の桁を見れば一目瞭然ということです。例えば、式(16)を見ていただくと、そうなっていますよね。左側の1の数が偶数の場合、右側の最後の桁が0になっていて、奇数の場合、1になっています。定義式が、$q_{N-1} = f_{0} \oplus ... \oplus f_{N-1}$となっているので当然と言えば当然の話です。これが、なんで嬉しいかというと、量子化学計算が相手にするフェルミオン系はたいていの場合、フェルミオン数(=電子数)は一定です。つまり、電子数が偶数だったらずっと偶数のままだし、奇数だったら奇数のままです。ということは、どういうことかというと、量子ビット空間にマッピングしたときに、偶数電子系であれば最後の桁が0の基底だけを考えれば良いです、ということになります。奇数電子系であれば最後の桁が1の基底だけを相手にすれば良いです。ということで、実行すべき計算を端折ることができます。つまり計算効率化に寄与するということです。Jordan-Wigner変換では、こんなことはできません。先ほど、都合の良しあしを後述すると言ったのは、このことです。
一方、都合の悪いこともあります。これはJordan-Wigner変換でも同様に都合が悪いことです。それは、式(9)や式(17)を見ていただければわかる通り、生成消滅演算子の添え字$i$が大きくなるにしたがい、パウリ演算子の積が長くなってしまうということです。最悪、すべての量子ビットにまたがるパウリ積を扱うことになります。つまり、パウリ積の長さは量子ビット数$N$に対して$O(N)$のオーダーになるということです。これは、量子回路に置き換えたときに、エラー蓄積の観点からあまりよろしくない性質と言えます。なるべくなら、量子ビット演算子に含まれるパウリ積の長さ(「パウリ重み」と言ったりします)は短い方が良いです。
ということで、これを解決してくれる変換があります。「Bravyi-Kitaev」変換です。
Bravyi-Kitaev変換
その説明に入る前に、Jordan-Wigner変換とParity変換の定義(式(6)と式(15))を行列表現に置き換えられるということについて触れておきます。簡単な話です。フォック空間の$\boldsymbol{f} = f_{0}, f_{1}, ... , f_{N-1}$と量子ビット空間の$\boldsymbol{q} = q_{0}, q_{1}, ... , q_{N-1}$を各々バイナリベクトル、つまり、$\boldsymbol{f},\boldsymbol{q} \in \mathbb{F}_{2}^{N}$とするなら、その間の変換は行列で表すことができます。Jordan-Wigner変換およびParity変換の変換行列を各々$G^{JW},G^{Par}$とすると、
G^{JW} =
\begin{pmatrix}
1 & 0 & 0 & ...& 0 \\
0 & 1 & 0 & ...& 0 \\
0 & 0 & 1 & ...& 0 \\
&...\\
0 & 0 & 0 &... & 1
\end{pmatrix} \tag{18}
G^{Par} =
\begin{pmatrix}
1 & 0 & 0 & ...& 0 \\
1 & 1 & 0 & ...& 0 \\
1 & 1 & 1 & ...& 0 \\
&...\\
1 & 1 & 1 &... & 1
\end{pmatrix} \tag{19}
と表すことができます。変換の定義から逆行列も存在するので、集合の言葉でいうと一般線形群$GL_{n}(\mathbb{F}_{2})$ということになります。情報理論や符号理論の分野では、このような変換のことを「線形符号化(linear encoding)」と言います。が、この場合、逆が存在するので正確には「正則な線形符号化」ということになります9。
では、Bravyi-Kitaev変換を表す変換行列がどうなるのかというと、以下のように漸化式で定義されます。
\begin{align}
&G_0^{BK} =
\begin{pmatrix}
1
\end{pmatrix},
&G_{k+1}^{BK} =
\begin{pmatrix}
G_k^{BK} & 0 \\
A & G_k^{BK}
\end{pmatrix}
\quad for \quad k \geq 0
\end{align} \tag{20}
ここで、$A$は最後の行の要素がすべて1であり、その他の行のすべての要素は0であるような正方行列です。具体的に示してみます。
G_1^{BK} =
\begin{pmatrix}
1 & 0 \\
1 & 1
\end{pmatrix},\quad
G_2^{BK} =
\begin{pmatrix}
1 & 0 & 0 & 0 \\
1 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
1 & 1 & 1 & 1 \\
\end{pmatrix},\quad
G_3^{BK} =
\begin{pmatrix}
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
\end{pmatrix}... \tag{21}
こんな具合です。
このとき、量子ビット空間上での生成消滅演算子$A_{i},A_{i}^{\dagger}$がどう書けるかですが、これについては非常に込み入っているので、その結果だけを以下に示します(参考文献6)。
いやはや、大変なものですね。でも心配は無用です。これ以降の話を理解する上で特に必要ありません。これはこういうものだという認識をしてもらうだけで十分です。
が、Bravyi-Kitaev変換に関して、ここで押さえておきたいことが二つだけあります。
まず、一つ目です。それはParity変換と同様、フェルミオン数の偶奇が量子ビットの最後の桁に反映されるということです。式(21)を見ていただければ変換行列の一番最後の行の要素がすべて1になっていることがわかると思います。これにより、量子ビットの最後の桁には、フェルミオンの有無を表すバイナリ値の総和のパリティが入ることになります。これは、Parity変換と同様に嬉しい性質です。
次に二つ目です。Jordan-Wigner変換もParity変換も変換後のパウリ積の長さがビット数$N$に対して$O(N)$のオーダーになるということを先ほど説明しましたが、Bravyi-Kitaev変換の場合、$O(log_{2} N)$になります(参考文献6)。これは量子回路におけるエラー蓄積の観点から好ましい性質です。
おわりに
今回、フェルミオン・量子ビット変換に関して従来からよく知られている3手法について説明しました。フェルミオン・量子ビット変換が一体どういうものなのかということがご理解いただけたと思います。ざっくりまとめると、フォック空間の固有状態(基底)を表現するバイナリ値をどんな風に量子ビットにマッピングするかという方法が3種類知られていて、その各々について量子ビット空間上での生成消滅演算子を上手に定義するやり方があって、それによって、ハミルトニアンのようなフェルミオン演算子がパウリ積の線形結合として表現できるようになるということです。
そこで、改めて「はじめに」で述べた疑問に立ち返ります。これ以外にも変換方法はあり得るのだろうか、Bravyi-Kitaev変換がいまのところ最強手法のように見えるがもっと良い変換法はあるのか、あるとしたら、それはどういう風に決められるのだろうか、何かうまい方法論はないのか、ということです。これも、「はじめに」で述べた通り、Ternary Treeを用いた手法がここ数年でいくつか発表されており(参考文献2など)、最近、ZX-calculusを使ってTernary Treeを表現することで、フェルミオン・量子ビット変換を上手に構成することができるという論文が発表されました。本ブログで次回以降説明していこうとしているのは、その論文(Haytham McDowall-Rose, Razin A. Shaikh, Lia Yeh, "From fermions to Qubits: A ZX-Calculus Perspective", arXiv:2505.06212)です。
そのため、次回は、ZX-calculusの基本について勉強することからはじめます。そして、バイナリベクトルの線形符号化がZX-diagramを用いて表現できることを見ていきます。さらにその先があります。道のりはそこそこ長いのでちょっとずつ刻んでいきます。それでは、次回をお楽しみに。
以上
参考文献
関連記事
ZX-calculusを用いたフェルミオン・量子ビット変換(2)
ZX-calculusを用いたフェルミオン・量子ビット変換(3)
ZX-calculusを用いたフェルミオン・量子ビット変換(4)
-
多電子系のシュレーディンガー方程式を出発点にしてこの第2量子化に到るまでのあれこれについては、本記事では説明省略させてください。量子化学計算に関する日本語の良書は沢山あるので、そちらをご参照ください。例えば、参考文献8など。 ↩
-
生成消滅演算子の反交換関係および真空同士の内積が1であることから簡単に証明できます。 ↩
-
え?エルミートのように見えないですか?そうですね。式(1)だけを見て、これがエルミートであるということはどう頑張っても証明できません。実は、分子中の多電子系のようなフェルミオン系を第2量子化する過程で出てくる係数$h_{ij}$や$h_{ijkl}$には対称性があって、トータルでちゃんとエルミートになることになっています。 ↩
-
最近、QSCI(Quantum-Selected Configuration Interaction)という手法やその発展形も注目されています。QSCIの元の論文は参考文献5です。 ↩
-
式(15)をじっと眺めていれば、すぐわかると思います。考えてみてください。宿題ですw ↩
-
すみません。早く先に進みたいので説明省きますが、Jordan-Wigner変換のときと同様に証明できます。 ↩
-
このブログ記事シリーズに登場する線形符号化(linear encoding)は、ほぼすべて正則なので「正則な」という言葉を省略する場合が多いかもしれません。悪しからず。 ↩
