Skip to main content
IBM Quantum Platform

FullAncillaAllocation

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

GitHub

베이스: AnalysisPass

커플링 맵 또는 타겟의 모든 유휴 노드를 레이아웃의 앤실라로 할당합니다.

모든 유휴 물리 큐비트(커플링 맵이나 타깃에 존재하지만 다그 회로에는 없는 큐비트)를 앤실라로 할당하기 위한 패스입니다. 또한 이러한 물리적 앙실라에 대응하는 새로운 가상 큐비트를 선택합니다.

참고

이것은 분석 패스로, 물리적 앤실라 위치와 해당 가상 큐비트를 선택하는 역할만 담당합니다. 별도의 변환 패스를 통해 해당 가상 큐비트를 회로에 추가해야 합니다.

FullAncillaAllocation 이니셜라이저.

매개변수

coupling_map (Union[CouplingMap, Target]) – 커플링 맵을 나타내는 방향 그래프입니다.


속성

is_analysis_pass

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

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

is_transformation_pass

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

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


메소드

execute

execute(passmanager_ir, state, callback=None)

GitHub

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

매개변수

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

리턴

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

리턴 유형

튜플 [ IR_OUT, PassManagerState ]

name

name()

GitHub

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

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

새로운 (물리적 큐비트, 가상 큐비트) 쌍으로 레이아웃을 확장합니다. Dag는 이미 회로에 있는 가상 큐비트를 신호합니다. 이 패스는 새로운 가상 큐비트를 할당하여 충돌이 발생하지 않도록 합니다(즉, 레이아웃 편향성이 유지됨)

커플링_맵과 레이아웃은 함께 어떤 물리적 큐비트가 비어 있는지를 결정합니다.

매개변수

dag (DAGCircuit) – 분석할 회로

리턴

는 수정되지 않은 동일한 DAG 회로를 반환합니다

리턴 유형

DAGCircuit

레이즈

TranspilerError – 속성 집합에 레이아웃이 없거나 초기화 시점에 설정되지 않은 경우.

update_status

update_status(state, run_state)

GitHub

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

매개변수

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

리턴

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

리턴 유형

PassManagerState

validate_layout

static validate_layout(layout_qubits, dag_qubits)

GitHub

layout_qregs 의 모든 qreg가 dag_qregs 에 이미 존재하는지 확인합니다. 그렇지 않으면 올리세요.

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