Skip to main content
IBM Quantum Platform

AddSpectatorMeasures

class AddSpectatorMeasures(*args, **kwargs)

GitHub

베이스: TransformationPass

관전자 큐비트에 측정을 추가합니다.

활성 큐비트는 비배리어 명령에 의해 회로에서 작동하는 큐비트입니다. 종료된 큐비트는 마지막 동작이 측정인 큐비트입니다. 관전자 큐비트는 비활성 상태이지만 커플링 맵 아래 활성 큐비트에 인접한 큐비트입니다. 이 패스는 모든 관전자 큐비트와 선택적으로 include_unmeasured 을 통해 종료된 큐비트가 아닌 모든 활성 큐비트에 측정값을 추가합니다.

추가된 측정값은 스펙트럼 큐비트당 1비트와 이름 spectator_creg_name 을 갖는 새 레지스터에 기록됩니다.

참고

이 패스가 제어 흐름 작업을 만나면 모든 블록을 반복합니다. 적어도 하나의 블록 내에서 활성 상태인 모든 큐비트를 "활성"으로 표시하고, 모든 블록에서 종료된 모든 큐비트를 "종료"로 표시합니다.

패스를 초기화합니다.

매개변수

  • 커플링_맵 - 인접한 큐비트 쌍을 나타내는 커플링 맵 또는 튜플 목록입니다.
  • 포함_미측정 - 활성 상태이지만 측정에 의해 종료되지 않은 큐비트도 관찰자로 처리할지 여부입니다. True 이면 각각에 터미널 측정값이 추가됩니다.
  • 스펙테이터_creg_name - 스펙테이터 큐비트 측정을 위해 추가된 클래식 레지스터의 이름입니다.
  • add_barrier - 관전자 측정 전에 모든 활성 및 관전자 큐비트에 작용하는 배리어를 추가할지 여부입니다.

속성

is_analysis_pass

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

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

is_transformation_pass

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

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


메소드

execute

execute(passmanager_ir, state, callback=None)

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

매개변수

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

리턴

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

리턴 유형

튜플 [ DAGCircuit, PassManagerState ]

name

name()

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

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

매개변수

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

레이즈

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

update_status

update_status(state, run_state)

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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