트랜스파일러 패스
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) | 선형 게이트(CXGate 및 SwapGate 게이트) 블록을 수집하여 선형 함수(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) | 각도가 의 정수 배인 회전 게이트를 클리포드 게이트, TGate 및 TdgGate 게이트의 이산 집합으로 변환하십시오. |
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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.