Skip to main content
IBM Quantum Platform

RemoveIdentityEquivalent

class qiskit.transpiler.passes.RemoveIdentityEquivalent(*args, **kwargs)

GitHub

베이스: TransformationPass

효과가 미미한 게이트를 제거합니다.

전역 단계와 지정된 허용 오차까지 아이덴티티 연산에 가까운 효과를 내는 게이트를 제거합니다. 파라미터화된 게이트는 이 패스에서 고려되지 않습니다.

컷오프 충실도 ff 의 경우 이 패스는 아이덴티티에 대한 평균 게이트 충실도가 ff 미만인 게이트를 제거합니다. 구체적으로, Fˉ<f\bar F < f 에서 다음과 같은 경우 게이트 GG 가 제거됩니다

Fˉ=1+dFprocess1+d, Fprocess=Tr(G)2d2\bar{F} = \frac{1 + d F_{\text{process}}}{1 + d},\ F_{\text{process}} = \frac{|\mathrm{Tr}(G)|^2}{d^2}

여기서 d=2nd = 2^nnn 큐비트에 대한 게이트의 크기입니다.

이 함수는 멀티스레드 방식으로 동작하며, 기본적으로 CPU 개수와 동일한 수의 스레드로 구성된 스레드 풀을 생성할 수 있습니다. 환경 RAYON_NUM_THREADS 변수를 사용하여 스레드 수를 조정할 수 있습니다. 예를 들어, 를 설정하면 스레드 풀이 RAYON_NUM_THREADS=4 4개의 스레드로 제한됩니다.

트랜스파일러 패스를 초기화합니다.

매개변수

  • 근사치_degree - 동등성 검사를 위해 근사할 정도입니다. 이 값은 0에서 1 사이의 부동 소수점 값 또는 None 일 수 있습니다. 값이 1이면 부동 소수점 정밀도 이상으로 근사하지 않습니다. 값이 < 1이면 컷오프 충실도에 대한 스케일링 계수로 사용됩니다. 값이 None 인 경우 target 에 지정된 게이트의 충실도까지 근사화됩니다. target 설정이 없는 경우 몇 큐비트 시스템에서의 누적을 고려하기 위해 기본값으로 16 * machine_eps 까지 추정합니다.
  • 대상 - approximation_degreeNone 로 설정되어 있고 이 필드에 a Target 가 이 필드에 제공되면 작업이 ID와 동일한지 여부를 판단하기 위한 허용 오차는 대상에서 보고된 오류율로 설정됩니다. approximation_degree (기본값)인 경우 아무런 효과가 없으며, approximation_degree=None 인 경우 평가 중인 게이트에 대해 Target 에 지정된 오류율을 사용하고, target 이 설정된 경우 1 이외의 숫자가 대상 오류율의 배율로 사용됩니다.

속성

is_analysis_pass

패스가 분석 패스인지 확인합니다.

패스가 AnalysisPass, 인 경우 패스가 DAG를 분석하고 해당 분석 결과를 속성 집합에 쓸 수 있음을 의미합니다. 이러한 종류의 패스에서는 DAG에 대한 수정이 허용되지 않습니다.

is_transformation_pass

패스가 변환 패스인지 확인합니다.

패스가 TransformationPass, 인 경우 패스가 DAG를 조작할 수는 있지만 속성 집합을 수정할 수는 없음을 의미합니다(단, 읽을 수는 있음).


메소드

execute

execute(passmanager_ir, state, callback=None)

GitHub

입력된 키스킷 IR에 대한 최적화 작업을 실행합니다.

매개변수

  • passmanager_ir (DAGCircuit) – 최적화할 Qiskit IR.
  • state (DAGCircuit) – 패스 관리자 자체에 의한 워크플로 실행과 관련된 상태.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 최적화 작업이 실행될 때마다 호출되는 콜백 함수입니다.

리턴

최적화된 키스킷 IR 및 워크플로 상태.

리턴 유형

튜플 [ DAGCircuit, PassManagerState ]

name

name()

GitHub

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

DAGCircuit에서 패스를 실행합니다. 이는 패스 개발자가 구현합니다.

매개변수

dag (DAGCircuit) – 패스가 실행되는 날짜입니다.

레이즈

NotImplementedError - 패스를 구현하지 않은 경우.

리턴 유형

DAGCircuit

update_status

update_status(state, run_state)

GitHub

워크플로 상태를 업데이트합니다.

매개변수

  • state (PassManagerState) – 관리자 상태를 전달하여 업데이트합니다.
  • run_state (RunState) – 현재 작업의 완료 상태입니다.

리턴

패스 관리자 상태가 업데이트되었습니다.

리턴 유형

PassManagerState

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