Skip to main content
IBM Quantum Platform

파울리 연산자 단순화

qiskit_addon_obp.utils.simplify

폴리 연산자를 단순화하는 함수.

OperatorBudget

class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)

GitHub

베이스: 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

유형: float | None

기본값: None

계수가 0인지 확인하기 위한 절대 허용 오차. 기본값은 atolSparsePauliOp 값입니다.

is_active

is_active()

GitHub

self 에서 연산자 크기에 제한을 두는지 여부를 반환합니다.

리턴 유형

부울

max_paulis

유형: int | None

기본값: None

역전파 연산자가 포함할 수 있는 최대 폴리 용어 수입니다.

max_qwc_groups

유형: int | None

기본값: None

역전파 연산자가 포함할 수 있는 최대 큐비트 단위의 커뮤팅 폴리 그룹 수입니다.

rtol

유형: float | None

기본값: None

계수가 0인지 확인하기 위한 상대 허용 오차. 기본값은 rtolSparse 값입니다.

simplify

유형: bool

기본값: True

매 반복마다 호출할지 여부를 나타내는 플래그 simplify() 호출 여부를 나타내는 플래그입니다.

SimplifyMetadata

class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)

GitHub

베이스: 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)

GitHub

제공된 폴리 연산자를 단순화합니다.

이것은 단순화된 용어의 메타데이터를 추적하는 SparsePauliOp.simplify() 을 수정한 것입니다.

매개변수

  • operator (SparsePauliOp) – 를 SparsePauliOp 로 변경하여 간소화하세요.
  • atol (float | None) – 계수가 0인지 확인하기 위한 절대 허용 오차입니다. None 이면 SparsePauliOp.atol 을 사용하는 것으로 대체됩니다.
  • rtol (float | None) – 계수가 0인지 확인하기 위한 상대 허용 오차. None 이면 SparsePauliOp.rtol 을 사용하는 것으로 대체됩니다.

리턴

단순화된 폴리 연산자.

리턴 유형

튜플 [*SparsePauliOp*, SimplifyMetadata ]

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.