コンテンツにスキップ

はじめに

厳密対角化(ED)は、系のハミルトニアン行列を直接対角化することによって量子多体問題を解く数値手法です。この方法は厳密な固有状態と固有値を与えるため、小規模から中規模の量子系を調べるための強力な道具となります。その応用の典型例がハイゼンベルクモデルです。これは格子上で相互作用するスピンを記述するモデルであり、物性物理における磁気現象を理解するために広く用いられています。

例題としてのハイゼンベルクモデル

ハイゼンベルクモデルは次のハミルトニアンで定義されます。

H=J∑⟨i,j⟩Si⋅Sj, \mathcal{H} = J \sum_{\langle i,j \rangle} \mathbf{S}_i \cdot \mathbf{S}_j,

ここで Si\mathbf{S}_i はサイト ii におけるスピン 1/2 演算子、JJ は交換相互作用(J<0J \lt 0 で強磁性、J>0J \gt 0 で反強磁性)であり、和は最近接対 ⟨i,j⟩\langle i,j \rangle にわたって取られます。簡単のため、周期境界条件を課した 1 次元鎖を考えます。

例:4 サイトの 1 次元ハイゼンベルク鎖

周期境界条件を課した 4 サイトの 1 次元ハイゼンベルク鎖を調べてみましょう。この系のハミルトニアンは次のとおりです。

H=J(S1⋅S2+S2⋅S3+S3⋅S4+S4⋅S1). \mathcal{H} = J \left( \mathbf{S}_1 \cdot \mathbf{S}_2 + \mathbf{S}_2 \cdot \mathbf{S}_3 + \mathbf{S}_3 \cdot \mathbf{S}_4 + \mathbf{S}_4 \cdot \mathbf{S}_1 \right).

スピン 1/2 演算子 Si=(Six,Siy,Siz)\mathbf{S}_i = (S_i^x, S_i^y, S_i^z) は、パウリ行列 σi\boldsymbol{\sigma}_i を用いて Si=12σi\mathbf{S}_i = \frac{1}{2} \boldsymbol{\sigma}_i と表せます。内積 Si⋅Sj\mathbf{S}_i \cdot \mathbf{S}_j は次のように書けます。

Si⋅Sj=SixSjx+SiySjy+SizSjz. \mathbf{S}_i \cdot \mathbf{S}_j = S_i^x S_j^x + S_i^y S_j^y + S_i^z S_j^z.

基底

スピン 1/2 粒子からなる 4 サイト系では、ヒルベルト空間は 24=162^4 = 16 個の基底ベクトルを持ちます。これらの状態は個々のスピン配置の直積状態であり、∣σ1σ2σ3σ4⟩| \sigma_1 \sigma_2 \sigma_3 \sigma_4 \rangle(σi=↑\sigma_i = \uparrow または ↓\downarrow)と表されます。例えば、基底ベクトルの 1 つは ∣↑↑↓↓⟩| \uparrow \uparrow \downarrow \downarrow \rangle です。

基底ベクトルは SizS_i^z 演算子の固有状態です。ii 番目のサイトに作用させると、次のようになります。

Siz∣↑⟩=12∣↑⟩, S_i^z|\uparrow\rangle = \frac{1}{2}|\uparrow\rangle,

および

Siz∣↓⟩=−12∣↓⟩. S_i^z|\downarrow\rangle = -\frac{1}{2}|\downarrow\rangle.

ハミルトニアンを基底ベクトルに作用させた結果を見るには、非対角演算子、すなわち SixS_i^x と SiyS_i^y を、上昇演算子 S†S^{\dagger} と下降演算子 S−S^{-} で表す必要があります。

Six=12(Si†+Si−), S_i^x=\frac{1}{2}(S_i^{\dagger}+S_i^{-}),

Siy=12i(Si†−Si−), S_i^y=\frac{1}{2i}(S_i^{\dagger}-S_i^{-}),

これらは基底ベクトルに次のように作用します。

Si†∣s⟩=S(S+1)−s(s+1)∣s+1⟩, S_i^{\dagger}|s\rangle = \sqrt{S(S+1)-s(s+1)}|s+1\rangle,

Si−∣s⟩=S(S+1)−s(s−1)∣s−1⟩, S_i^{-}|s\rangle = \sqrt{S(S+1)-s(s-1)}|s-1\rangle,

ここで S=1/2S=1/2、s=−1/2,1/2s=-1/2, 1/2 です。 上の変換により、ハミルトニアンの各項は次のようになります。

Si⋅Sj=12(Si†Sj−+Si−Sj†)+SizSjz. \mathbf{S}_i \cdot \mathbf{S}_j = \frac{1}{2}(S_i^{\dagger}S_j^{-}+S_i^{-}S_j^{\dagger})+S_i^zS_j^z.

ハミルトニアン行列

ハミルトニアン行列を構築するには、各基底ベクトルに対する H\mathcal{H} の作用を評価します。例えば、項 S1⋅S2\mathbf{S}_1 \cdot \mathbf{S}_2 を考えます。

S1⋅S2=12(S1†S2−+S1−S2†)+S1zS2z. \mathbf{S}_1 \cdot \mathbf{S}_2 = \frac{1}{2}(S_1^{\dagger}S_2^{-}+S_1^{-}S_2^{\dagger})+S_1^zS_2^z.

この項は、サイト 1 と 2 のスピンが反平行であればそれらを反転させ、平行であれば 14\frac{1}{4} の因子を与えます。例えば次のようになります。

S1⋅S2∣↑↓↑↑⟩=14(∣↓↑↑↑⟩−∣↑↓↑↑⟩). \mathbf{S}_1 \cdot \mathbf{S}_2 | \uparrow \downarrow \uparrow \uparrow \rangle = \frac{1}{4} \left( | \downarrow \uparrow \uparrow \uparrow \rangle - | \uparrow \downarrow \uparrow \uparrow \rangle \right).

この手続きを H\mathcal{H} のすべての項とすべての基底ベクトルについて繰り返すことで、16×1616 \times 16 のハミルトニアン行列が構築されます。簡潔さのためここでは行列全体を書きませんが、上の規則を用いて系統的に構築できます。

対角化

ハミルトニアン行列を構築したら、それを数値的に対角化して固有状態と固有値を求めます。これらの結果から、基底状態エネルギー、低エネルギー励起、系の磁気的性質についての知見が得られます。例えば、反強磁性ハイゼンベルク鎖(J>0J > 0)では、ED により長距離秩序を持たない一重項の基底状態が得られ、これはより大きな系に対するベーテ仮説の解と整合しています。

格子サイズに対するスケーリング

1 次元ハイゼンベルクモデルでは、ハミルトニアン行列のサイズが格子サイト数とともに指数関数的に増大するため、大きな系に対する ED は計算上困難になります。行列サイズが格子サイズとともにどのようにスケールするかを理解することは、スパース対角化や完全対角化といった数値手法の実行可能性を評価する上で非常に重要です。

NN サイトの系では、各サイトはスピン上向き(↑\uparrow)とスピン下向き(↓\downarrow)の 2 つの状態のいずれかを取ります。ハミルトニアン行列のサイズを決めるヒルベルト空間の次元は次で与えられます。

Dimension of Hilbert space=2N. \text{Dimension of Hilbert space} = 2^N.

例えば次のとおりです。

  • N=4N = 4 のとき、ヒルベルト空間は 24=162^4 = 16 個の状態を持ちます。
  • N=10N = 10 のとき、ヒルベルト空間は 210=10242^{10} = 1024 個の状態を持ちます。
  • N=20N = 20 のとき、ヒルベルト空間は 220=1,048,5762^{20} = 1,048,576 個の状態を持ちます。

この指数関数的な増大により、NN が大きくなるにつれてハミルトニアン行列のサイズはすぐに手に負えなくなります。例えば、20 サイトの系では 1,048,576×1,048,5761,048,576 \times 1,048,576 の行列を対角化する必要があり、これは計算量的に非常に重い処理です。

スパース対角化と完全対角化

1 次元ハイゼンベルクモデルのハミルトニアン行列は一般にスパース(疎)であり、要素の大部分がゼロです。このスパース性は、ハミルトニアンが 1 つのスピン反転だけ異なる状態どうししか結合しない(最近接相互作用)ことに由来します。例えば 4 サイト系では、ハミルトニアン行列は(簡略化すると)次のような形になります。

H=(E1J/20⋯ J/2E2J/2⋯ 0J/2E3⋯ ⋮⋮⋮⋱), \mathcal{H} = \begin{pmatrix} E_1 & J/2 & 0 & \cdots \\\ J/2 & E_2 & J/2 & \cdots \\\ 0 & J/2 & E_3 & \cdots \\\ \vdots & \vdots & \vdots & \ddots \end{pmatrix},

ここで EiE_i は対角要素(基底ベクトルのエネルギー)、J/2J/2 はスピン反転項による非対角要素を表します。

完全対角化

完全対角化では、ハミルトニアン行列のすべての固有値と固有ベクトルを計算します。これにより系に関する完全な情報が得られますが、O(M3)O(M^3) のスケーリング(MM は行列サイズ)のため、大きな行列に対しては計算コストが高くなります。例えば、106×10610^6 \times 10^6 の行列の完全対角化は、ほとんどのコンピュータでは現実的ではありません。

スパース対角化

スパース対角化は、ハミルトニアン行列のスパース性を利用して、固有値と固有ベクトルの一部、典型的には最低エネルギーのいくつかの固有状態(例えば基底状態と低エネルギー励起)のみを計算します。スパース対角化には Lanczos 法や Arnoldi 反復法などのアルゴリズムがよく用いられます。これらの方法は系のサイズに対するスケーリングがはるかに良く、少数の固有状態に対しては O(M)O(M) のメモリと O(M2)O(M^2) の計算時間しか必要としないことが多いため、より大きな系に適しています。

比較

1 次元ハイゼンベルクモデルのハミルトニアン行列のサイズは格子サイト数とともに指数関数的に増大し、大きな計算上の課題となります。完全対角化は系に関する完全な情報を与えますが、計算コストが高いため小さな格子に限られます。一方、スパース対角化はハミルトニアンのスパース性を活用し、最も重要な固有状態に焦点を絞ることで、より大きな系を調べることができます。完全対角化とスパース対角化の間のこのトレードオフは、系のサイズと求める物理的知見に応じて適切な数値手法を選ぶことの重要性を示しています。