group_terms_by_electronic_structure
group_terms_by_electronic_structure(op, num_modes, *, two_body_physicist_order=False)
연산자의 항들을 전자 구조에 따라 분류한다.
이 함수는 전자 구조 해밀토니안에 포함된 대칭 섭동을 만족하는 항들이 그룹화되도록 FermionOperator , 주어진 의 속성을 groups 자동으로 채웁니다.
주의
제공된 연산자는 정규 순서여야 합니다! 이는 구현의 기본 가정 중 하나이지만, 현재 검증되지 않고 있습니다! 해당 형태의 연산자를 구하는 방법은 를 normal_ordered() 참조하십시오.
좀 더 구체적으로 말하면, 다음과 같은 형태의 전자 구조 해밀토니안이 주어졌을 때
이 함수는 의 순열 대칭성을 갖는 1체 항과 (i, j) 의 순열 대칭성을 갖는 2체 항을 묶어줍니다 (i, j, k, l). 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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.