group_terms_by_electronic_structure
group_terms_by_electronic_structure(op, num_modes, *, two_body_physicist_order=False)
演算子の項を、その電子構造に基づいてグループ分けする。
この関数は、指定された の 属 groups 性を自動的に設定し、電子構造ハミルトニアンに含まれる対称摂動を満たす項がグループ化されるように FermionOperator します。
警告
指定された演算子は正規順序でなければならない! これは、検証されていない実装の根底にある前提です! その形式の演算子を得る方法については normal_ordered() 、を参照してください。
より具体的に言えば、次のような形式の電子構造ハミルトニアンが与えられた場合、
この関数は、の順列対称性を持つ1体項と (i, j) 、の順列対称性を持つ2体項をグループ化します (i, j, k, l)。 2体項については、すべての順列がグループ化されるわけではありません。 その代わりに、この式は、4つの指標がどのように2つずつペアにグループ化され、そのペア内に順列対称性が存在するかを決める two_body_physicist_order ものである:
two_body_physicist_order=False(デフォルト): および(i, l)(j, k)two_body_physicist_order=True: そして(i, k)(j, l)
from qiskit_fermions.operators import FermionOperator
from qiskit_fermions.operators.library import FCIDump
fcidump = FCIDump.from_file("molecule.fcidump")
operator = FermionOperator.from_fcidump(fcidump)
normal = op.normal_ordered().simplify(atol=0.0)
group_terms_by_electronic_structure(normal, 2 * fcidump.norb, two_body_physicist_order=False)
assert normal.has_groups()パラメーター
- op – 項をグループ化する正規順序演算子。
- num_modes – 系に含まれるスピンを持たないフェルミオンモードの数。
- two_body_physicist_order – 2体項が物理学者の順序で格納されるかどうか。
昇給
ValueError – 予期しない用語が見つかった場合。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。