FoldRzzAngle
class FoldRzzAngle(*args, **kwargs)
베이스: TransformationPass
로컬 게이트 조정을 통해 Rzz 게이트 각도를 보정된 범위( 0-pi/2 )로 접습니다.
IBM 퀀텀 ISA에서 Rzz(세타) 명령어의 유효한 "세타" 값은 [0( pi/2] )이며, 이 범위를 벗어나는 모든 명령어는 퀀텀 백엔드에서 ISA가 아닌 연산이 됩니다. 트랜스파일러 패스는 입력 양자 회로의 논리적 동등성을 유지하면서 이러한 비 ISA Rzz 게이트를 발견하고 단일 큐비트 게이트를 추가하여 게이트 각도를 보정된 범위로 접습니다. 추가된 로컬 게이트는 다음 단일 큐비트 최적화 패스를 통해 인접한 단일 큐비트 게이트로 효율적으로 병합될 수 있습니다.
이 패스를 사용하면 키스킷 사용자는 임의의 실수 각도로 Rzz 게이트를 순진하게 사용할 수 있습니다.
이 패스는 Rzz 게이트 각도가 바인딩되지 않은 파라미터인 경우 회로를 변환하지 않습니다. 이 경우 사용자가 트랜스필레이션 전에 게이트 각도를 지정하거나 보정된 범위인 [0, pi/2] 에서 파라미터를 선택해야 합니다.
속성
is_analysis_pass
패스가 분석 패스인지 확인합니다.
패스가 AnalysisPass, 인 경우 패스가 DAG를 분석하고 해당 분석 결과를 속성 집합에 쓸 수 있음을 의미합니다. 이러한 종류의 패스에서는 DAG에 대한 수정이 허용되지 않습니다.
is_transformation_pass
패스가 변환 패스인지 확인합니다.
패스가 TransformationPass, 인 경우 패스가 DAG를 조작할 수는 있지만 속성 집합을 수정할 수는 없음을 의미합니다(단, 읽을 수는 있음).
메소드
__call__
__call__(circuit, property_set=None)
회로에서 패스를 실행합니다.
매개변수
- circuit (QuantumCircuit) – 통행이 이루어지는 날짜.
- property_set (PropertySet | dict | None) – 입력/출력 속성 집합. 분석 패스는 속성 집합을 인플레이스(in-place)로 변경할 수 있습니다. 지정되지 않은 경우, 패스의 기존
property_set속성이 사용됩니다(설정된 경우).
리턴
변환이 성공하면, 결과값인 QuantumCircuit이 반환됩니다. 분석이 통과되면 입력 회로로 연결됩니다.
리턴 유형
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
update_status
update_status(state, run_state)
워크플로 상태를 업데이트합니다.
매개변수
- state (PassManagerState) – 관리자 상태를 전달하여 업데이트합니다.
- run_state (RunState) – 현재 작업의 완료 상태입니다.
리턴
패스 관리자 상태가 업데이트되었습니다.
리턴 유형