Skip to main content
IBM Quantum Platform

CollectCliffords

class qiskit_ibm_transpiler.ai.CollectCliffords(do_commutative_analysis: bool = True, min_block_size: int = 2, max_block_size: int = CLIFFORD_MAX_BLOCK_SIZE, collect_from_back: bool = False, num_reps: int = 10)

GitHub

베이스: RepeatedCollectAndCollapse

클리포드 블록을 인스트럭션 오브젝트로 수집하고 합성 후 비교할 원본 서브회로를 저장합니다.

매개변수

  • do_commutative_analysis (bool) – 정류 분석 활성화 또는 비활성화, 기본값은 True입니다
  • min_block_size (int, optional) – 클리포드 패스를 수집하는 동안 생성되는 블록의 최소 크기를 설정합니다(기본값은 2).
  • max_block_size (int, optional) – 클리포드 패스를 수집하는 동안 생성되는 블록의 최대 크기를 설정합니다(기본값은 9).
  • collect_from_back (bool, optional) – 블록을 역순으로 수집할지 여부를 지정하며, 기본값은 False입니다.
  • num_reps (int, optional) – 최적화 프로세스를 반복할 횟수를 지정합니다(기본값은 10회).
  • collect_function (callable) – dAG를 받아 "수집된" 노드 블록 목록을 반환하는 함수입니다
  • collapse_function (callable) – dAG와 "수집된" 블록 목록을 가져와 각 블록을 통합하는 함수입니다.
  • do_commutative_analysis - True인 경우, 노드 간의 정류 관계를 활용합니다.

속성

is_analysis_pass

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

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

is_transformation_pass

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

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


메소드

execute

execute(passmanager_ir, state, callback=None)

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

매개변수

  • passmanager_ir (Any) – 키스킷 IR을 최적화합니다.
  • state (PassManagerState) – 패스 관리자 자체의 워크플로 실행과 관련된 상태입니다.
  • callback (Callable) – 최적화 작업을 실행할 때마다 호출자가 되는 콜백 함수입니다.

리턴

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

리턴 유형

튜플 [*임의*, PassManagerState ]

name

name()

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

CollectLinearFunctions 패스를 실행합니다. :param dag: 최적화할 DAG. :type dag: DAGCircuit

리턴

최적화된 DAG입니다.

리턴 유형

DAGCircuit

update_status

update_status(state, run_state)

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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