1. 基礎編 :VQEで基底状態を計算してみよう
水素分子()の電子基底状態計算を例として、簡単な計算の流れを説明します。
1-1. 計算手順
1-1-1. ログイン
Log In
ボタンを押し、登録したメールアドレスとパスワードを入力してログインします。
1-1-2. 分子情報の入力
Basic / Molecule
欄に、計算対象分子の情報を入力します。
- 原子座標を
Coordinate
欄に入力します。 各原子ごとに1行ずつ、元素記号 X座標 Y座標 Z座標
の順に、単位をÅとして入力します。 この例では、以下の構造を入力します。
H 0.0 0.0 0.35
H 0.0 0.0 -0.35
AvogadroやMolviewなどのサービスを用いると、計算したい分子のxyz形式の構造を作成できます。
Basis
欄に、計算に用いる基底関数系を入力します。この例ではsto-3g
と入力します。
1-1-3. SCF計算の設定
Basic / SCF Settings
欄に、SCF計算の情報を入力します。
計算対象のスピン多重度を
Multiplicity
欄に入力します。 水素分子の基底状態は一重項状態ですので、この例では1
と入力します。計算対象の電荷を
Charge
欄に入力します。 この例では0
と入力します。
1-1-4. 活性空間の設定
Basic / Active space
欄に、計算に用いる活性空間の情報を入力します。
活性空間の電子数を
Number of electrons
欄に入力します。 水素分子には2個の電子が含まれますので、この例では2
と入力します。活性空間の軌道数を
Number of orbitals
欄に入力します。 この例では2
と入力します。sto-3g
基底で水素分子を計算した場合、それぞれの水素原子が1つずつ持つ1s
軌道の線型結合により、2つの分子軌道が生成されます。
1-1-5. シミュレーション手法の設定
Advanced / Device
欄で、量子回路のシミュレーション手法を選択します。デフォルトで State vector simulator
が選択されているため、この例ではそのまま実行します。
1-1-6. 計算の実行
Launch
ボタンをクリックし、計算を実行します。計算が終了すると、結果表示画面に遷移します。
1-2. 結果の確認
1-2-1. Job Result
Job Result / Status
が Success
となっていることを確認します。
1-2-2. Molecule Results
Molecule Results
欄から、エネルギーなどの計算結果を確認します。
VQE & classical CASCI results
欄で、エネルギーの計算結果を確認します。VQE
は量子回路シミュレータによる結果、CASCI
は古典アルゴリズムにより求めたCASCIハミルトニアンの固有値です。Structure
欄に、入力した分子構造が図示されます。Cost function history
から、VQEのコスト関数の最適化過程を確認できます。 この例では、コスト関数はエネルギーの値そのものとなっています。
1-2-3. Quantum Resources
Quantum Resources
欄から、この計算で用いた量子回路とそのシミュレーションに関する情報を確認します。
Quantum Circuit
欄に、量子回路に関する情報が表示されます。
Number of qubits
: 量子回路に必要な量子ビットの数です。この例では、活性空間のスピン軌道の数である4
と一致します。Number of params
: 量子回路に必要なパラメータ数です。Number of gates
: 量子回路に必要な量子ゲートの総数です。Number of 1-qubit gates
: 量子回路に必要な1-qubitゲートの数です。Number of 2-qubit gates
: 量子回路に必要な2-qubitゲートの数です。
Sampling
欄に、サンプリング計算に関する情報が表示されます。
Observable groups
: コスト関数に含まれる、同時測定可能な演算子グループの数です。Total shots
: 計算に用いられたショット数(サンプリング回数)の合計です。
この例では、State vector simulator
を用いているため、 Total shots
は
0
と表示されます。
Estimated execution time
欄に、実機の量子コンピュータでこの計算を行ったときの実行時間の推定値が表示されます。
Superconductor (s)
: 超伝導方式の量子コンピュータでの実行時間の推定値です。Trapped ion (s)
: イオントラップ方式の量子コンピュータでの実行時間の推定値です。
この例では、State vector simulator
を用いているため、 どちらも 0
と表示されます。