Skip to main content
IBM Quantum Platform

暗黙的溶媒モデルを用いた電子構造シミュレーションのためのQiskit Functionテンプレートを作成して実行する

クリーブランド・クリニックと共同で開発されたこのテンプレートは、陰溶媒中の分子の基底状態エネルギーと溶媒和自由エネルギーを計算するワークフローで構成されている [1]。 これらのシミュレーションは、サンプルベースの量子対角化(SQD)法 [2-6] と溶媒の積分方程式形式極性連続体モデル(IEF-PCM) [7] に基づいている。

このワークフローの手順を具体例を交えて詳しく解説した内容については、「 Qiskit Serverless を使用した暗黙的溶媒計算 」のチュートリアルをご覧ください。

このガイドでは、溶質としてメタノール分子を用い、その電子構造を明示的にシミュレートし、溶媒として連続的な誘電媒質として近似された水をテンプレートとして利用しています。 計算コストと精度のバランスを保ちながらメタノール中の電子相関効果を考慮するため、SQD IEF-PCMでシミュレートした活性空間には、 σ\sigmaσ\sigma^{*}、ローンペア軌道のみを含めた。 この軌道選択は、C2s[,2p],O2s[,2p],H [1] s原子軌道成分を用いた原子価活性空間(AVAS) 法で行われ、14個の電子と12個の軌道からなる活性空間が得られる( 14e,12o )。 参照軌道はcc-pvdz基底セットを用いて閉殻ハートリーフォックで計算した。


ワークフロー導入

この対話型ガイドでは、この関数テンプレートをQiskit Serverlessにアップロードし、サンプルワークロードを実行する方法を示します。 テンプレートは4つのステップからなるQiskitパターンとして構成されている:

1. 情報を収集し、問題を整理する

このステップでは、分子の形状、選択された活性空間、溶媒和モデル、LUCJオプション、およびSQDオプションを入力として受け取ります。 そして、 PySCF チェックポイントファイルを作成します。このファイルには、ハートリーフォック(HF)IEF-PCM データが含まれています。 このデータはワークフローのSQD部分で使用される。 ワークフローの LUCJ 部分について、入力セクションは気相 HF データも生成し、これは PySCF FCIDUMP フォーマットで内部に保存される。

高周波気相シミュレーションからの情報と、アクティブスペースの定義が入力として取り込まれる。 重要なのは、エラー抑制、ショット数、回路トランスパイラ最適化レベル、量子ビットレイアウトに関する入力セクションからのユーザー定義情報も使用することです。

定義された活性空間内で1電子積分と2電子積分を生成する。 この積分を用いて古典的なCCSD計算を行い、LUCJ回路のパラメトリック化に用いる t2。

2. 回路を最適化する

LUCJ回路はその後、ターゲット・ハードウェア用のISA回路にトランスパイルされる。 次に、実行を管理するためのエラー緩和オプションのデフォルトセットとともに、サンプラープリミティブがインスタンス化される。

3. 回路を実行する

LUCJの計算は、各測定のビット列を返し、これらのビット列は研究対象の系の電子配置に対応する。 ビット列は後処理の入力として使われる。

4. SQDを使用して後処理を行う

この最後のステップでは、HF IEF-PCM情報を含む PySCF チェックポイントファイル、LUCJによって予測された電子配置を表すビット列、および入力セクションで選択されたユーザー定義のSQDオプションを入力として受け取ります。 出力として、最もエネルギーの低いバッチのSQD IEF-PCM総エネルギーと、対応する溶媒和自由エネルギーが得られます。

オプション

このテンプレートでは、LUCJ回路を生成するためのオプションと、SQD実行パラメータを指定する必要がある。

LUCJ オプション

LUCJ量子回路が実行されると、分子系の確率分布から計算基底状態を表すサンプルの集合が生成される。 LUCJ回路の深さと表現力のバランスをとるため、反対スピンを持つスピン軌道に対応する量子ビットは、これらの量子ビットが1つのアンシラ量子ビットを介して隣接している場合、それらの間に2量子ビットゲートが適用される。 このアプローチをヘビーヘキストポロジーを持つ IBM ハードウェア上に実装するために、同じスピンを持つスピン軌道を表す量子ビットは、ターゲットハードウェアのヘビーヘックス接続性により、各線がジグザグ形状をとるライントポロジーで接続され、反対スピンを持つスピン軌道を表す量子ビットは、4番目の量子ビットごとにのみ接続されます。

  • ユーザーは、SQD IEF-PCM関数の lucj_options セクションで、このジグザグパターンを満たす量子ビットに対応する initial_layout 配列を提供する必要があります。 メタノールのSQD IEF-PCM ( 14e,12o )/cc-pvdzシミュレーションの場合、Eagle R3 QPUの主対角線に対応する初期量子ビットレイアウトを選択しました。 ここで、 initial_layout 配列の最初の12要素 [0, 14, 18, 19, 20, 33, 39, 40, 41, 53, 60, 61, ...] はアルファスピン軌道に対応する。 最後の12元素 [... 2, 3, 4, 15, 22, 23, 24, 34, 43, 44, 45, 54] はベータ・スピン軌道に対応する。

    重要なのは、LUCJ 回路の測定回数に相当する number_of_shots を決定することである。 S-COREの最初のステップでは、基底状態の占有数分布の初期近似を得るために右粒子セクターのサンプルに依存するため、ショット数は十分に大きくする必要があります。

    ショット数はシステムやハードウェアに大きく依存するが、 非共有結合フラグメントベース陰溶媒の SQD研究では、これらのガイドラインに従うことで化学的精度に到達できることが示唆されている:

    • 20,000~200,000ショット(分子軌道16個未満(スピン軌道32個)の場合
    • 200,000ショット(16~18個の分子軌道を持つ系について
    • 200,000~2,000,000ショット(18個以上の分子軌道を持つ系について

    必要なショット数は、対象とする系におけるスピン軌道数のほか、その系内で選択されたアクティブ空間に対応するヒルベルト空間の大きさに影響を受ける。 一般的に、ヒルベルト空間が小さいインスタンスほど、必要なショット数は少なくなります。 LUCJには、他にも回路トランスパイラ最適化レベルエラー抑制オプションなどの機能があります。 なお、これらの設定は、必要な撮影枚数や撮影結果の精度にも影響します。

SQDオプション

SQD シミュレーションで重要なオプションには、 sqd_iterationsnumber_of_batchessamples_per_batch があります。 一般的に、バッチあたりのサンプル数が少ないことは、より多くのバッチ(number_of_batches)やS-CORE(sqd_iterations)を反復することで打ち消すことができる。バッチ数を増やせば、構成部分空間のより多くのバリエーションをサンプリングすることができる。 最も低エネルギーのバッチが系の基底状態エネルギーの解とされるので、より多くのバッチがより良い統計によって結果を改善することができる。 S-COREの追加反復により、正しい粒子セクターのサンプル数が少ない場合、元のLUCJ分布からより多くの構成を回復することができます。 これにより、バッチあたりのサンプル数を減らすことができる。

  • 代替的な戦略としては、バッチごとにより多くのサンプルを使用することで、正しい粒子空間の初期LUCJサンプルのほとんどがS-CORE手順中に使用され、個々の部分空間が十分な種類の電子配置を包含するようにします。 その結果、必要なS-COREステップの数が減り、バッチあたりのサンプル数が十分に多ければ、SQDの反復は2~3回で済む。 しかし、バッチあたりのサンプル数が多くなると、各対角化ステップの計算コストが高くなる。 したがって、SQDシミュレーションにおける精度と計算コストのバランスは、 sqd_iterationsnumber_of_batchessamples_per_batch を最適に選択することで達成できる。

    SQD IEF-PCM研究では、S-COREを3回反復使用する場合、これらのガイドラインに従うことで化学的精度に到達できることが示された:

    • メタノールでバッチあたり 600 サンプル SQD IEF-PCM ( 14e,12o ) シミュレーション
    • メチルアミン SQD IEF-PCM ( 14e,13o ) シミュレーションでバッチ当たり 1500 サンプル
    • 6000サンプル/バッチ(水) SQD IEF-PCM ( 8e,23o ) シミュレーション
    • エタノールでバッチあたり16000サンプル SQD IEF-PCM ( 20e,18o ) シミュレーション

    LUCJにおける必要ショット数と同様に、S-CORE手順で使用されるバッチあたりの必要サンプル数は、システムやハードウェアに大きく依存する。 上記の例は、バッチあたりの必要サンプル数のベンチマークの初期点を推定するために使用できる。 バッチごとに必要なサンプル数の系統的ベンチマークに関するチュートリアルはこちらをご覧ください。


テンプレートSQD IEF-PCM関数をデプロイし実行する

認証

qiskit-ibm-catalog IBM Quantum Platformのダッシュボードに表示されるAPIキー(トークン)を使って、。 QiskitServerless これにより、サーバーレス・クライアントをインスタンス化して、選択した関数をアップロードまたは実行できるようになる:

from qiskit_ibm_catalog import QiskitServerless

serverless = QiskitServerless(
    channel="ibm_quantum_platform",
    instance="INSTANCE_CRN",
    # For `token`, use the 44-character API_KEY you created
    # and saved from the IBM Quantum Platform Home dashboard
    token="YOUR_API_KEY"
)

オプションとして、 save_account() を使用してローカル環境に認証情報を保存します( IBM Cloud アカウントの設定ガイドを参照)。 と同じファイルに認証情報を書き込むことに注意。 QiskitRuntimeService.save_account():

QiskitServerless.save_account(token="YOUR_API_KEY",
    channel="ibm_quantum_platform", instance="INSTANCE_CRN")

アカウントが保存されている場合、認証のためにトークンを提供する必要はありません:

from qiskit_ibm_catalog import QiskitServerless

serverless = QiskitServerless()

テンプレートをアップロードする

カスタムQiskit関数をアップロードするには、まず関数のソースコードを定義する QiskitFunction オブジェクトをインスタンス化する必要があります。 タイトルがあれば、リモートクラスタにある機能を識別できます。 主なエントリーポイントは、 if __name__ == "__main__" を含むファイルである。 ワークフローで追加のソースファイルが必要な場合は、エントリーポイントと一緒にアップロードされる作業ディレクトリを定義することができます。

from qiskit_ibm_catalog import QiskitFunction

template = QiskitFunction(
    title="sqd_pcm_template",
    entrypoint="sqd_pcm_entrypoint.py",
    # all files in `working_dir` will be uploaded
    working_dir="./source_files/",
    dependencies=[
        "ffsim==0.0.54",
        "pyscf==2.9.0",
        "qiskit_addon_sqd==0.10.0",
    ],
)
print(template)

Output:

QiskitFunction(sqd_pcm_template)

インスタンスの準備ができたら、サーバーレスにアップロードする:

serverless.upload(template)

Output:

QiskitFunction(sqd_pcm_template)

プログラムが正常にアップロードされたかどうかを確認するには、 serverless.list()

serverless.list()

Output:

[QiskitFunction(sqd_pcm_template),
 QiskitFunction(hamiltonian_simulation_template)]

テンプレートをリモートで読み込み実行する

関数テンプレートがアップロードされたので、Qiskit Serverlessでリモート実行できる。 まず、テンプレートを名前で読み込む:

template = serverless.load("sqd_pcm_template")
print(template)

Output:

QiskitFunction(sqd_pcm_template)

次に、SQD-IEF PCMのドメインレベル入力でテンプレートを実行します。 この例では、メタノールベースの作業負荷を指定している。

molecule = {
    "atom": """
    O -0.04559 -0.75076 -0.00000;
    C -0.04844 0.65398 -0.00000;
    H 0.85330 -1.05128 -0.00000;
    H -1.08779 0.98076 -0.00000;
    H 0.44171 1.06337 0.88811;
    H 0.44171 1.06337 -0.88811
    """,  # Must be specified
    "basis": "cc-pvdz",  # default is "sto-3g"
    "spin": 0,  # default is 0
    "charge": 0,  # default is 0
    "verbosity": 0,  # default is 0
    "number_of_active_orb": 12,  # Must be specified
    "number_of_active_alpha_elec": 7,  # Must be specified
    "number_of_active_beta_elec": 7,  # Must be specified
    "avas_selection": [
        "%d O %s" % (k, x) for k in [0] for x in ["2s", "2px", "2py", "2pz"]
    ]
    + ["%d C %s" % (k, x) for k in [1] for x in ["2s", "2px", "2py", "2pz"]]
    + ["%d H 1s" % k for k in [2, 3, 4, 5]],  # default is None
}

solvent_options = {
    # See https://manual.q-chem.com/5.4/topic_pcm-em.html for all methods
    "method": "IEF-PCM",  # other available methods are COSMO, C-PCM, SS(V)PE
    "eps": 78.3553,  # value for water
}

lucj_options = {
    "initial_layout": [
        0,
        14,
        18,
        19,
        20,
        33,
        39,
        40,
        41,
        53,
        60,
        61,
        2,
        3,
        4,
        15,
        22,
        23,
        24,
        34,
        43,
        44,
        45,
        54,
    ],
    "dynamical_decoupling_choice": True,
    "twirling_choice": True,
    "number_of_shots": 200000,
    "optimization_level": 2,
}

sqd_options = {
    "sqd_iterations": 3,
    "number_of_batches": 10,
    "samples_per_batch": 1000,
    "max_davidson_cycles": 200,
}

backend_name = "ibm_sherbrooke"
job = template.run(
    backend_name=backend_name,
    molecule=molecule,
    solvent_options=solvent_options,
    lucj_options=lucj_options,
    sqd_options=sqd_options,
)
print(job.job_id)

Output:

39f8fb70-79b2-43ca-b723-84e6b6135821

ジョブの詳細なステータスを確認する:

import time

t0 = time.time()
status = job.status()
if status == "QUEUED":
    print(f"time = {time.time()-t0:.2f}, status = QUEUED")
while True:
    status = job.status()
    if status == "QUEUED":
        continue
    print(f"time = {time.time()-t0:.2f}, status = {status}")
    if status == "DONE" or status == "ERROR":
        break

Output:

time = 2.35, status = DONE

ジョブの実行中に、 logger.info 出力から作成されたログをフェッチすることができる。 これらは、SQD IEF-PCMワークフローの進捗状況について実用的な情報を提供することができる。 例えば、同じスピン軌道の接続や、ハードウェア上での実行を意図した最終的なISA回路の2量子ビットの深さなどである。

print(job.logs())

ジョブ結果を呼び出すと、結果が得られるまで残りのプログラムがブロックされる。 仕事が終わったら、結果を取り出すことができる。 これらには、溶媒和自由エネルギー、最低エネルギーバッチ、最低エネルギー値、およびソルバーの合計時間などのその他の有用な情報が含まれます。

result = job.result()

result

Output:

{'total_energy_hist': array([[-115.14768518, -115.1368396 , -114.19181692, -115.13745429,
         -115.1445012 , -114.19673326, -115.1547003 , -114.20563866,
         -115.13748344, -115.14764974],
        [-115.15768392, -115.15850126, -115.15857275, -115.15770916,
         -115.15801684, -115.15822125, -115.15833521, -115.15844051,
         -115.15735538, -115.15862354],
        [-115.15795148, -115.15847925, -115.15856677, -115.15811156,
         -115.15815602, -115.15785171, -115.1583672 , -115.1585533 ,
         -115.15833528, -115.15808791]]),
 'spin_squared_value_hist': array([[5.37327508e-03, 1.32981759e-02, 1.36214922e-02, 8.84413615e-03,
         7.26723578e-03, 1.94875195e-02, 3.03153152e-03, 6.07543106e-03,
         1.04951849e-02, 5.36529204e-03],
        [6.39397528e-04, 1.36814350e-04, 9.09054260e-05, 5.99361358e-04,
         3.64261739e-04, 2.54905866e-04, 2.32540370e-04, 1.53181990e-04,
         7.23519739e-04, 6.80737671e-05],
        [4.53776416e-04, 1.63043449e-04, 1.05317263e-04, 3.82912836e-04,
         3.41047803e-04, 5.18620393e-04, 2.06819142e-04, 1.17086537e-04,
         2.32357159e-04, 4.26071537e-04]]),
 'solvation_free_energy_hist': array([[-0.00725018, -0.00743955, -0.01132905, -0.0073377 , -0.00722221,
         -0.01136705, -0.00719279, -0.01072829, -0.00733404, -0.00725961],
        [-0.00719252, -0.00718315, -0.00718074, -0.00719325, -0.00717703,
         -0.00718391, -0.00718354, -0.00717928, -0.00719887, -0.0071801 ],
        [-0.00719351, -0.00718255, -0.00718198, -0.00718429, -0.00718349,
         -0.00718329, -0.0071882 , -0.00718363, -0.00718549, -0.00718814]]),
 'occupancy_hist': [[array([0.99712298, 0.99278936, 0.99083163, 0.97328469, 0.98959809,
          0.98922134, 0.720333  , 0.25683194, 0.01939338, 0.02840332,
          0.00946988, 0.0327204 ]),
   array([0.99712298, 0.99278936, 0.99083163, 0.97328469, 0.98959809,
          0.98922134, 0.720333  , 0.25683194, 0.01939338, 0.02840332,
          0.00946988, 0.0327204 ])],
  [array([0.9959042 , 0.9922607 , 0.99018862, 0.99265843, 0.98927447,
          0.9900833 , 0.99403876, 0.00989025, 0.01120814, 0.01137717,
          0.01152871, 0.01158725]),
   array([0.9959042 , 0.9922607 , 0.99018862, 0.99265843, 0.98927447,
          0.9900833 , 0.99403876, 0.00989025, 0.01120814, 0.01137717,
          0.01152871, 0.01158725])],
  [array([0.99590079, 0.99222193, 0.99016753, 0.99265045, 0.98927264,
          0.99007179, 0.99407207, 0.00986684, 0.01125181, 0.01141439,
          0.01150733, 0.01160243]),
   array([0.99590079, 0.99222193, 0.99016753, 0.99265045, 0.98927264,
          0.99007179, 0.99407207, 0.00986684, 0.01125181, 0.01141439,
          0.01150733, 0.01160243])]],
 'lowest_energy_batch': 2,
 'lowest_energy_value': -115.1585667736213,
 'solvation_free_energy': -0.007181981952470838,
 'sci_solver_total_duration': 493.997501373291,
 'metadata': {'resources_usage': {'RUNNING: MAPPING': {'CPU_TIME': 6.080063343048096},
   'RUNNING: OPTIMIZING_FOR_HARDWARE': {'CPU_TIME': 1.999896764755249},
   'RUNNING: WAITING_FOR_QPU': {'CPU_TIME': 6.2850868701934814},
   'RUNNING: EXECUTING_QPU': {'QPU_TIME': 21.639373540878296},
   'RUNNING: POST_PROCESSING': {'CPU_TIME': 495.40831995010376}},
  'num_iterations_executed': 3}}

結果のメタデータには、各ワークロードに必要なQPUとCPU時間をより適切に見積もることができるリソース使用サマリーが含まれていることに注意してください(この例はダミーデバイスで実行されたため、実際のリソース使用時間は異なる場合があります)。

ジョブが完了すると、ログ出力全体が利用可能になる。

print(job.logs())

Output:

2025-06-27 08:42:41,358	INFO job_manager.py:531 -- Runtime env is setting up.
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:45,015: Starting runtime service
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:45,621: Backend: ibm_sherbrooke
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:46,809: Initializing molecule object
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:51,599: Performing CCSD
Parsing /tmp/ray/session_2025-06-27_08-42-13_898146_1/runtime_resources/working_dir_files/_ray_pkg_4bc93dcc58c04b91/output_sqd_pcm/2025-06-27_08-42-45.fcidump.txt
Overwritten attributes  get_ovlp get_hcore  of <class 'pyscf.scf.hf_symm.SymAdaptedRHF'>
/usr/local/lib/python3.11/site-packages/pyscf/gto/mole.py:1293: UserWarning: Function mol.dumps drops attribute energy_nuc because it is not JSON-serializable
  warnings.warn(msg)
/usr/local/lib/python3.11/site-packages/pyscf/gto/mole.py:1293: UserWarning: Function mol.dumps drops attribute intor_symmetric because it is not JSON-serializable
  warnings.warn(msg)
converged SCF energy = -115.049680672847
E(CCSD) = -115.1519910037652  E_corr = -0.1023103309180226
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:51,694: Same spin orbital connections: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11)]
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:51,694: Opposite spin orbital connections: [(0, 0), (4, 4), (8, 8)]
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:53,718: Optimization level: 2, ops: OrderedDict([('rz', 2438), ('sx', 1496), ('ecr', 766), ('x', 185), ('measure', 24), ('barrier', 1)]), depth: 391
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:53,736: Two-qubit gate depth: 94
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:53,737: Submitting sampler job
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:54,273: Job ID: d1f5j3lqbivc73ebqpj0
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:42:54,313: Job Status: QUEUED
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,813: Starting configuration recovery iteration 0
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,841: Batch 0 subspace dimension: 531441
2025-06-27 08:43:24,844	INFO worker.py:1588 -- Using address 172.17.16.124:6379 set in the environment variable RAY_ADDRESS
2025-06-27 08:43:24,847	INFO worker.py:1723 -- Connecting to existing Ray cluster at address: 172.17.16.124:6379...
2025-06-27 08:43:24,876	INFO worker.py:1908 -- Connected to Ray cluster. View the dashboard at http://172.17.16.124:8265 
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,945: Batch 1 subspace dimension: 519841
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,950: Batch 2 subspace dimension: 543169
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,955: Batch 3 subspace dimension: 532900
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,960: Batch 4 subspace dimension: 534361
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,964: Batch 5 subspace dimension: 531441
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,969: Batch 6 subspace dimension: 540225
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,974: Batch 7 subspace dimension: 524176
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,979: Batch 8 subspace dimension: 537289
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:43:24,983: Batch 9 subspace dimension: 540225
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:09,006: Lowest energy batch: 6
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:09,007: Lowest energy value: -115.15470029849135
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:09,007: Corresponding g_solv value: -0.0071927910374866375
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:09,007: -----------------------------------
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:09,007: Starting configuration recovery iteration 1
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,564: Batch 0 subspace dimension: 413449
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,572: Batch 1 subspace dimension: 399424
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,578: Batch 2 subspace dimension: 438244
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,583: Batch 3 subspace dimension: 422500
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,589: Batch 4 subspace dimension: 409600
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,596: Batch 5 subspace dimension: 404496
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,601: Batch 6 subspace dimension: 410881
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,605: Batch 7 subspace dimension: 442225
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,611: Batch 8 subspace dimension: 409600
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:48:40,618: Batch 9 subspace dimension: 405769
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:49:54,917: Lowest energy batch: 9
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:49:54,917: Lowest energy value: -115.15862353596414
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:49:54,917: Corresponding g_solv value: -0.0071800982859467006
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:49:54,918: -----------------------------------
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:49:54,918: Starting configuration recovery iteration 2
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,501: Batch 0 subspace dimension: 399424
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,508: Batch 1 subspace dimension: 412164
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,514: Batch 2 subspace dimension: 432964
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,519: Batch 3 subspace dimension: 400689
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,524: Batch 4 subspace dimension: 432964
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,529: Batch 5 subspace dimension: 418609
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,533: Batch 6 subspace dimension: 418609
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,538: Batch 7 subspace dimension: 425104
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,543: Batch 8 subspace dimension: 404496
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:50:25,548: Batch 9 subspace dimension: 429025
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:51:37,900: Lowest energy batch: 2
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:51:37,900: Lowest energy value: -115.1585667736213
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:51:37,901: Corresponding g_solv value: -0.007181981952470838
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:51:37,901: -----------------------------------
sqd_pcm_entrypoint.run_function:INFO:2025-06-27 08:51:37,901: SCI_solver totally takes: 493.997501373291 seconds


このプロジェクトを引用する

研究でSQD IEF-PCMテンプレートをご利用になる場合は、詳細な引用情報についてリポジトリをご参照ください。


次のステップ

推奨事項

参照

[1] Danil Kaliakin, Akhil Shajan, Fangchun Liang, and Kenneth M Merz Jr. Implicit Solvent Sample-Based Quantum Diagonalization, The Journal of Physical Chemistry B, 2025, DOI: 10.1021/acs.jpcb.5c01030

[2] ハビエル・ロブレド-モレノ、他、 Chemistry Beyond Exact Solutions on Quantum-Centric Supercomputer, arXiv:2405.05068 [quant-ph].

[3] ジェフェリー・ユー、他 Quantum-Centric Algorithm for Sample-Based Krylov Diagonalization, arXiv:2501.09702 [quant-ph].

[4] 菅野恵太、他、 量子選択配置相互作用:量子コンピュータによって選択された部分空間におけるハミルトニアンの古典的対角化, arXiv:2302.11320 [quant-ph].

[5] 杉崎健次、他、 Hamiltonian simulation-based quantum-selected configuration interaction for large-scale electronic structure calculations with quantum computer, arXiv:2412.07218 [quant-ph].

[6] Mathias Mikkelsen, Yuya O. Nakagawa, Quantum-selected configuration interaction with time-evolved state, arXiv:2412.13839 [quant-ph].

[7] Herbert, John M. 量子化学のための誘電体連続体法。 WIREs Computational Molecular Science, 2021, 11, 1759-0876.

[8] サキ、A. バリソン、S; フラー、B; ギャリソン J. R; グリック J. R; ジョンソン、C; メッツァカポ、A; ロブレド-モレノ、J; ロスマネク、M; Schweigert, P. et al. Qiskitアドオン:サンプルベースの量子対角化、2024年; https://github.com/Qiskit/qiskit-addon-sqd

[9] Asun, Q; Zhang, X; バネルジー、S; バオ、P; バーバリー、M; ブラント、N. ボグダノフ、N. A; ブース、G. チェン、J; Cui, Z.-H. PySCF: Python -化学フレームワークのシミュレーション、2025年 https://github.com/pyscf/pyscf

[10] Kevin J. Sung; et al、 FFSIM:フェルミオン量子回路のシミュレーションの高速化、2024年 https://github.com/qiskit-community/ffsim

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。