Skip to main content
IBM Quantum Platform

Optimize1qGatesDecomposition

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

GitHub

베이스: TransformationPass

단일 큐비트 게이트를 단일 게이트로 결합하여 단일 큐비트 게이트 체인을 최적화합니다.

원래 체인을 새로운 재합성으로 교체할지 여부는 다음 사항에 따라 결정됩니다:

  • 원본 체인이 기준에서 벗어났는지 여부: 교체
  • 원래 체인이 기초에 있었지만 재합성이 더 낮은 오류인지 여부: 대체
  • 원본 체인이 ID에 해당하는지 여부: null로 대체합니다

오류는 해당 큐비트에 있는 개별 게이트의 오류를 곱한 값으로 계산됩니다.

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

Optimize1qGatesDecomposition 이니셜라이저.

매개변수

  • basis (list[str]) – 고려해야 할 기본 게이트, 예: [‘u3’, 'cx']. 이 패스의 효과에서 기저는 기저 파라미터와 오일러 기저 사이의 설정된 교차점입니다. target 도 지정된 경우 무시됩니다.
  • target (Optional[Target]) – 컴파일 대상에 해당하는 Target 객체는 컴파일 대상에 해당합니다. 지정하면 basis_gates 에 지정된 모든 인수는 무시됩니다.

속성

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

Dag에서 Optimize1qGatesDecomposition 패스를 실행합니다.

매개변수

dag (DAGCircuit) – 최적화할 DAG를 설정합니다.

리턴

최적화된 DAG입니다.

리턴 유형

DAGCircuit

update_status

update_status(state, run_state)

GitHub

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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