파울리 연산자 단순화
qiskit_addon_obp.utils.simplify
폴리 연산자를 단순화하는 함수.
OperatorBudget
class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)
베이스: object
연산자가 얼마나 커질 수 있는지를 결정하는 상수를 저장하는 클래스입니다.
다음 조건 중 하나가 충족되면 역전파가 중지됩니다:
- 모든 관측 변수에서 폴리 항의 수가
max_paulis을 초과합니다.max_paulis = None일 때 관측값의 폴리 항의 수는 제한되지 않습니다. - 모든 관측값에서 큐비트 단위로 통근하는 폴리 그룹의 수가
max_qwc_groups을 초과합니다.max_qwc_groups = None일 때 관측 가능 영역에서 큐비트 단위로 통근하는 폴리 그룹의 수는 제한되지 않습니다.
매개변수
- max_paulis (int | None)
- max_qwc_groups (int | None)
- simplify (bool)
- atol (float | None)
- rtol (float | None)
atol
is_active
max_paulis
max_qwc_groups
rtol
simplify
SimplifyMetadata
class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)
베이스: object
연산자 단순화 중에 추적된 속성을 반환하기 위한 간단한 데이터 클래스입니다.
매개변수
- num_unique_paulis (int)
- num_duplicate_paulis (int)
- num_trimmed_paulis (int)
- sum_trimmed_coeffs (float)
num_duplicate_paulis
유형: int
중복된 폴리 용어의 수입니다. num_duplicate_paulis도 참조하십시오.
num_trimmed_paulis
유형: int
잘린 폴리 용어의 수입니다. num_trimmed_paulis도 참조하십시오.
num_unique_paulis
유형: int
고유한 폴리 용어의 수입니다. num_unique_paulis도 참조하십시오.
sum_trimmed_coeffs
유형: float
트리밍된 계수의 합계입니다. sum_trimmed_coeffs도 참조하십시오.
simplify
simplify(operator, *, atol=None, rtol=None)
제공된 폴리 연산자를 단순화합니다.
이것은 단순화된 용어의 메타데이터를 추적하는 SparsePauliOp.simplify() 을 수정한 것입니다.
매개변수
- operator (SparsePauliOp) – 를
SparsePauliOp로 변경하여 간소화하세요. - atol (float | None) – 계수가 0인지 확인하기 위한 절대 허용 오차입니다.
None이면SparsePauliOp.atol을 사용하는 것으로 대체됩니다. - rtol (float | None) – 계수가 0인지 확인하기 위한 상대 허용 오차.
None이면SparsePauliOp.rtol을 사용하는 것으로 대체됩니다.
리턴
단순화된 폴리 연산자.
리턴 유형