DenseLayout
class qiskit.transpiler.passes.DenseLayout(*args, **kwargs)
베이스: AnalysisPass
가장 연결된 큐비트의 하위 집합을 찾아 레이아웃을 선택합니다.
이 패스는 회로의 각 가상 큐비트(큐비트)에 물리적 큐비트(int)를 연결합니다.
'layout' 은 엄밀히 말해 DAG 의 속성은 아니지만, 트랜스파일러 아키텍처에서는 property_set 에 설정하여 패스 사이에 전달되는 것이 가장 좋습니다.
DenseLayout 이니셜라이저.
매개변수
- coupling_map (Coupling) – 커플링 맵을 나타내는 방향 그래프입니다.
- target (Target) – 대상 백엔드를 나타내는 대상입니다.
속성
is_analysis_pass
패스가 분석 패스인지 확인합니다.
패스가 AnalysisPass, 인 경우 패스가 DAG를 분석하고 해당 분석 결과를 속성 집합에 쓸 수 있음을 의미합니다. 이러한 종류의 패스에서는 DAG에 대한 수정이 허용되지 않습니다.
is_transformation_pass
패스가 변환 패스인지 확인합니다.
패스가 TransformationPass, 인 경우 패스가 DAG를 조작할 수는 있지만 속성 집합을 수정할 수는 없음을 의미합니다(단, 읽을 수는 있음).
메소드
execute
execute(passmanager_ir, state, callback=None)
입력된 키스킷 IR에 대한 최적화 작업을 실행합니다.
매개변수
- passmanager_ir (IR) – 최적화할 Qiskit IR.
- state (PassManagerState) – 패스 관리자 자체의 워크플로 실행과 관련된 상태입니다.
- callback (Callable[[Task, IR_OUT, PropertySet, float, int], None] | None) – 최적화 작업이 실행될 때마다 호출되는 콜백 함수입니다.
리턴
최적화된 키스킷 IR 및 워크플로 상태.
리턴 유형
튜플 [ IR_OUT, PassManagerState ]
name
run
run(dag)
Dag에서 DenseLayout 패스를 실행합니다.
가장 적합한 큐비트 연결에 따라 편리한 레이아웃을 선택하고 속성 레이아웃을 설정합니다.
매개변수
dag (DAGCircuit) – DAG에 대한 레이아웃을 찾습니다.
레이즈
TranspilerError – dag의 너비가 self.coupling_map 보다 넓을 경우
update_status
update_status(state, run_state)
워크플로 상태를 업데이트합니다.
매개변수
- state (PassManagerState) – 관리자 상태를 전달하여 업데이트합니다.
- run_state (RunState) – 현재 작업의 완료 상태입니다.
리턴
패스 관리자 상태가 업데이트되었습니다.
리턴 유형