Skip to main content
IBM Quantum Platform

TemplateOptimization

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

GitHub

베이스: TransformationPass

템플릿 최적화 패스에 대한 클래스입니다.

매개변수

  • template_list (list[QuantumCircuit()]) – 적용할 다양한 템플릿 회로 목록.
  • heuristics_backward_param (list[int]) –[length, survivor] 이것들은 알고리즘의 역방향 부분에 휴리스틱을 적용하기 위한 매개변수들입니다. 알고리즘의 이 부분은 매칭 시나리오 트리를 생성합니다. 이 나무는 기하급수적으로 자랍니다. 이 휴리스틱은 어떤 시나리오의 일치 길이가 가장 긴지 평가하고, 해당 시나리오들만 유지합니다. '길이'는 트리를 분할하는 구간을 의미하며, '생존'은 유지되는 시나리오의 수를 나타냅니다. 상당한 시간적 이점을 얻으려면 l=3 과 s=1 을 사용하는 것이 좋습니다. 이 휴리스틱을 사용하면 최대 일치 수 중 일부를 놓치게 된다는 점을 다시 한 번 상기시켜 드립니다. 자세한 내용은 참고 문헌을 확인하십시오.
  • heuristics_qubits_param (list[int]) –[length] 큐비트 선택을 위한 휴리스틱은 탐색해야 할 큐비트 구성의 수를 제한하기 위해 회로의 DAG 의존성을 바탕으로 추정을 수행합니다. 길이는 회로의 DAG 의존 관계에서 탐색될 후속 노드(선행 노드는 제외)의 수를 의미하며, 각 노드의 큐비트는 승인된 큐비트 집합에 추가됩니다. length=1 을 사용할 것을 권장합니다. 자세한 내용은 참고 문헌을 확인하십시오.
  • user_cost_dict (Dict[str, int]) – 양자 비용 사전이 TemplateSubstitution 에 전달되어 해당 동작을 구성합니다. None이 지정되지 않은 경우, 이 값은 모든 기본값을 덮어씁니다. 핵심은 게이트의 이름과 그 양자 비용 값입니다.

속성

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 (DAGCircuit) – DAG 회로.

리턴

최적화된 DAG 회로.

리턴 유형

DAGCircuit

레이즈

TranspilerError – 템플릿의 형태가 올바르지 않거나, 출력 회로가 입력 회로와 다르게 동작하는 경우.

update_status

update_status(state, run_state)

GitHub

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

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