Skip to main content
IBM Quantum Platform

트랜스파일러 패스

qiskit.transpiler.passes


레이아웃 선택 (배치)

SetLayout(*args, **kwargs)layout 속성을 지정된 레이아웃으로 설정합니다.
TrivialLayout(*args, **kwargs)장치 큐비트에 n 회로 큐비트를 할당하여 레이아웃을 선택합니다 0, .., n-1.
DenseLayout(*args, **kwargs)가장 많이 연결된 큐비트의 하위 집합을 찾아 레이아웃을 선택합니다.
SabreLayout(*args, **kwargs)입력 회로의 반복적인 양방향 라우팅을 통해 레이아웃을 선택합니다.
CSPLayout(*args, **kwargs)가능하면 백트래킹을 사용하여 레이아웃을 CSP로 선택합니다.
VF2Layout(*args, **kwargs)하위 그래프 동형 문제로서, VF2++ 에서 풀 수 있는 커플링 그래프에 회로의 레이아웃을 선택하는 패스입니다.
ApplyLayout(*args, **kwargs)DAGCircuit에서 가상 큐비트와 물리적 큐비트 간의 매핑을 적용하거나 업데이트합니다.
Layout2qDistance(*args, **kwargs)레이아웃 선택이 얼마나 잘되었는지 평가합니다.
EnlargeWithAncilla(*args, **kwargs)레이아웃에는 있지만 아직 회로에는 없는 가상 큐비트로 dag를 확장합니다.
FullAncillaAllocation(*args, **kwargs)커플링 맵 또는 타겟의 모든 유휴 노드를 레이아웃의 앤실라로 할당합니다.
SabrePreLayout(*args, **kwargs)추가 세이버 레이아웃 시험에 사용할 시작 레이아웃을 선택합니다.

라우팅

BasicSwap(*args, **kwargs)최소한의 노력으로 DAGCircuit을 coupling_map 에 매핑하여 스왑 게이트를 추가합니다.
Commuting2qGateRouter(*args, **kwargs)하나 이상의 통근 게이트를 커플링 맵으로 경로를 변경하는 클래스입니다.
LayoutTransformation(*args, **kwargs)주어진 (부분) 순열에 대한 스왑 회로를 회로에 추가합니다.
LookaheadSwap(*args, **kwargs)스왑 삽입을 통해 입력 회로를 백엔드 토폴로지에 매핑합니다.
SabreSwap(*args, **kwargs)스왑 삽입을 통해 입력 회로를 백엔드 토폴로지에 매핑합니다.
StarPreRouting()스타에서 선형 사전 라우팅으로 실행

기준 변경

BasisTranslator(*args, **kwargs)주어진 EquivalenceLibrary 에서 번역 집합을 검색하여 게이트를 대상 기준으로 번역합니다.
Decompose(*args, **kwargs)분해 규칙을 사용하여 회로에서 게이트를 확장합니다.
TranslateParameterizedGates(*args, **kwargs)매개변수화된 게이트를 지원되는 베이시스 집합으로 변환합니다.
Unroll3qOrMore(*args, **kwargs)회로에 2q 또는 1q 게이트만 포함될 때까지 3q+ 게이트를 재귀적으로 확장합니다.
UnrollCustomDefinitions(*args, **kwargs)사용자 정의 정의가 포함된 지침을 펼칩니다.

최적화

Collect1qRuns(*args, **kwargs)1-큐비트 하위 회로를 수집합니다.
Collect2qBlocks(*args, **kwargs)2쿼비트 하위 회로를 수집합니다.
CollectAndCollapse(*args, **kwargs)회로에서 노드 블록을 수집하고 통합하는 일반적인 트랜스파일러 패스입니다.
CollectCliffords(*args, **kwargs)클리포드 게이트 블록들을 모아 하나의 Clifford 객체로 대체합니다.
CollectLinearFunctions(*args, **kwargs)선형 게이트(CXGateSwapGate 게이트) 블록을 수집하여 선형 함수(LinearFunction)로 대체합니다.
CollectMultiQBlocks(*args, **kwargs)큐비트 그룹에서 작동하는 중단 없는 게이트 시퀀스를 수집합니다.
CommutationAnalysis(*args, **kwargs)분석 패스를 사용하여 DAG 노드 간의 정류 관계를 찾습니다.
CommutativeCancellation(*args, **kwargs)정류 관계를 통해 중복(자체 결합) 게이트를 취소합니다.
CommutativeInverseCancellation(*args, **kwargs)정류 관계를 악용하는 역 게이트 쌍을 취소합니다.
CommutativeOptimization(*args, **kwargs)교환법칙을 이용한 캔슬/머지 게이트
ConsolidateBlocks(*args, **kwargs)연속된 게이트의 각 블록을 단일 유니티 노드로 대체합니다.
ContractIdleWiresInControlFlow(*args, **kwargs)DAGCircuit의 제어 흐름 연산에서 유휴 큐비트를 제거합니다.
ConvertToPauliRotations(*args, **kwargs)양자 회로를 게이트와 PauliProductMeasurement 명령어로 구성된 PauliProductRotationGate 등가 회로로 변환하십시오.
ElidePermutations(*args, **kwargs)사전 레이아웃 회로에서 순열 연산 제거하기
HoareOptimizer(*args, **kwargs)Hoare 로직 회로 최적화를 사용한 트랜스파일러 패스입니다.
InverseCancellation(*args, **kwargs)서로 반비례하는 특정 게이트가 연달아 발생하면 취소합니다.
LightCone(*args, **kwargs)회로에서 측정 결과에 영향을 미치지 않는 게이트를 제거하십시오.
LitinskiTransformation(*args, **kwargs)회로에 리틴스키 변환을 적용합니다.
Optimize1qGates(*args, **kwargs)단일 큐비트 u1, u2, u3 게이트를 단일 게이트로 결합하여 체인을 최적화합니다.
Optimize1qGatesDecomposition(*args, **kwargs)단일 큐비트 게이트 체인을 단일 게이트로 결합하여 최적화합니다.
Optimize1qGatesSimpleCommutation(*args, **kwargs)2Q 게이트에 의해 중단된 1Q 게이트 문자열을 최적화하여 컴포넌트를 통근하고 결과를 재합성합니다.
OptimizeAnnotated(*args, **kwargs)주석이 달린 연산이 있는 회로에 대한 최적화 패스를 제공합니다.
OptimizeCliffordT(*args, **kwargs)연속된 Clifford+T 게이트 시퀀스를 최적화한다.
OptimizeCliffords(*args, **kwargs)동일한 큐비트 위에 연속된 클리퍼드를 결합합니다.
OptimizeSwapBeforeMeasure(*args, **kwargs)스왑을 제거한 다음 측정값을 조정합니다.
RemoveDiagonalGatesBeforeMeasure(*args, **kwargs)측정하기 전에 대각선 게이트(대각선 2Q 게이트 포함)를 제거합니다.
RemoveFinalReset(*args, **kwargs)큐비트 와이어의 마지막 명령어일 때 리셋을 제거합니다.
RemoveIdentityEquivalent(*args, **kwargs)효과가 미미한 게이트를 제거합니다.
RemoveResetInZeroState(*args, **kwargs)큐비트가 0 상태일 때 리셋 게이트를 제거합니다.
ResetAfterMeasureSimplification(*args, **kwargs)이 패스는 측정 후 재설정을 조건부 X 게이트로 대체합니다.
Split2QUnitaries(*args, **kwargs)a DAGCircuit 내의 두 큐비트 유니터리 연산을 두 개의 단일 큐비트 게이트로 분할해 보십시오.
SubstitutePi4Rotations(*args, **kwargs)각도가 π/4\pi/4 의 정수 배인 회전 게이트를 클리포드 게이트, TGateTdgGate 게이트의 이산 집합으로 변환하십시오.
TemplateOptimization(*args, **kwargs)템플릿 최적화 패스에 대한 클래스입니다.
TwoQubitPeepholeOptimization(*args, **kwargs)통합된 2-큐비트 유니터리 피프홀 최적화

스케줄링

ALAPScheduleAnalysis(*args, **kwargs)ALAP 스케줄링 패스는 지시의 중지 시간을 가능한 한 늦게 예약합니다.
ASAPScheduleAnalysis(*args, **kwargs)최대한 빨리 지침 시작 시간을 예약할 수 있는 최대한 빨리 예약하기 패스입니다.
ConstrainedReschedule(*args, **kwargs)하드웨어 정렬에 맞게 노드 시작 시간을 업데이트하는 스케줄러 패스를 다시 설정합니다.
ContextAwareDynamicalDecoupling(*args, **kwargs)게이트 및 큐비트 컨텍스트를 고려하여 X- 시퀀스 동적 디커플링을 구현합니다.
InstructionDurationCheck(*args, **kwargs)일정 변경을 위한 기간 유효성 검사 패스.
PadDelay(*args, **kwargs)지연 지침으로 유휴 시간을 늘리세요.
PadDynamicalDecoupling(*args, **kwargs)동적 디커플링 삽입 패스.
SetIOLatency(*args, **kwargs)입력 회로에 IOLatency 정보를 설정합니다.
TimeUnitConversion(*args, **kwargs)다음 시간 인식 패스에 사용할 시간 단위를 선택하고 모든 서킷 시간 단위를 해당 시간 단위와 일치하도록 설정합니다.

회로 분석

CountOps(*args, **kwargs)DAG 회로에서 연산을 계산합니다.
CountOpsLongestPath(*args, **kwargs)DAGCircuit에서 가장 긴 경로에 포함된 연산 횟수를 세어보세요.
DAGLongestPath(*args, **kwargs)DAGOutNodeDAGOpNodea DAGCircuit 내의 가장 긴 경로를 s, DAGInNodes, s로 구성된 리스트로 반환하십시오.
Depth(*args, **kwargs)DAG 회로의 깊이를 계산합니다.
NumTensorFactors(*args, **kwargs)DAG 회로의 텐서 인자 수를 계산합니다.
ResourceEstimation(*args, **kwargs)리소스 추정을 위해 자동으로 분석 패스를 요구합니다.
Size(*args, **kwargs)DAG 회로의 크기를 계산합니다.
Width(*args, **kwargs)DAG 회로의 폭을 계산합니다.

종합

합성 트랜스파일러 플러그인 관련 문서는 qiskit.transpiler.passes.synthesis.plugin 페이지에서 확인할 수 있습니다.

HLSConfig( [use_default_on_unspecified,...] )고수준 합성 구성을 사용하면 HighLevelSynthesis 변환 단계에서 다양한 유형의 고수준 객체를 합성하는 데 사용되는 “메서드” 목록을 지정할 수 있습니다.
HighLevelSynthesis(*args, **kwargs)상위 레벨 오브젝트를 합성하고 사용자 정의 정의를 해제합니다.
LinearFunctionsToPermutations(*args, **kwargs)가능한 경우 선형 함수를 순열로 승격합니다.
SolovayKitaev(*args, **kwargs)솔로베이-키타에프 알고리즘을 사용하여 1q 게이트를 이산 단위로 대략 분해합니다.
SynthesizeRZRotations(*args, **kwargs)RZ 게이트를 클리포드+T 분해로 대체한다.
UnitarySynthesis(*args, **kwargs)기본 게이트에 따라 게이트를 합성합니다.

게시물 레이아웃

다음은 포스트 큐비트 선택입니다.

VF2PostLayout(*args, **kwargs)회로를 커플링 그래프로 변환한 후 기존 레이아웃을 개선하기 위한 패스로, 하위 그래프 동형 문제로서 VF2++ 에서 해결합니다.

추가 패스

BarrierBeforeFinalMeasurements(*args, **kwargs)최종 측정 전에 장벽을 추가합니다.
CheckGateDirection(*args, **kwargs)2큐비트 게이트가 커플링 맵을 기준으로 올바른 방향을 따르는지 확인합니다.
CheckMap(*args, **kwargs)DAG 회로가 이미 커플링 맵에 매핑되어 있는지 확인합니다.
ContainsInstruction(*args, **kwargs)DAG에 특정 명령어가 포함되어 있는지 감지하는 분석 패스입니다.
DAGFixedPoint(*args, **kwargs)DAG가 고정 지점에 도달했는지 확인합니다.
Error(*args, **kwargs)오류 발생 시 호출할 오류 패스를 설정합니다.
FilterOpNodes(*args, **kwargs)필터 기능과 일치하는 모든 작업을 제거합니다
FixedPoint(*args, **kwargs)프로퍼티가 고정 지점에 도달했는지 확인합니다.
GateDirection(*args, **kwargs)하드웨어 결합 방향에 맞게 비대칭 게이트를 수정합니다.
GatesInBasis(*args, **kwargs)DAG의 모든 게이트가 주어진 게이트 세트에 있는지 확인합니다
MergeAdjacentBarriers(*args, **kwargs)인접한 장벽이 병합된 회로를 반환합니다.
MinimumPoint(*args, **kwargs)DAG가 이전 실행에 비해 상대적으로 반 안정된 지점에 도달했는지 확인합니다
RemoveBarriers(*args, **kwargs)장벽이 제거된 회로를 반환합니다.
RemoveFinalMeasurements(*args, **kwargs)회로의 끝에서 최종 측정값과 장벽을 제거합니다.
UnrollForLoops(*args, **kwargs)UnrollForLoops 트랜스필레이션 패스는 가능한 경우 포루프를 언롤합니다.
WrapAngles(*args, **kwargs)대상에 지정된 바운드를 벗어난 각도를 래핑합니다.

추가 데이터

qiskit.transpiler.passes.utils.wrap_angles.WRAP_ANGLE_REGISTRY

WrapAngles.DEFAULT_REGISTRY.의 기존 위치입니다. 이 경로는 Qiskit( 2.2 )과의 완전한 호환성이 필요한 경우에만 사용해야 합니다.

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