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)レイアウトにはあるが回路にはまだない仮想量子ビットを使ってダグを拡張する。
FullAncillaAllocation(*args, **kwargs)カ ッ プ リ ン グ マ ッ プ ま たは タ ーゲ ッ ト か ら すべてのア イ ド ル ノ ー ド を レ イ ア ウ ト 上のア ン シ ラ と し て割 り 当て る。
SabrePreLayout(*args, **kwargs)セイバーレイアウトの追加トライアルに使用するスタートレイアウトを選択する。

ルーティング

BasicSwap(*args, **kwargs)DAGCircuitを(最小限の労力で)スワップゲートを追加した coupling_map
Commuting2qGateRouter(*args, **kwargs)1つ以上の通勤ゲートをカップリング・マップに入れ替えるクラス。
LayoutTransformation(*args, **kwargs)与えられた(部分的な)順列のSwap回路を回路に追加する。
LookaheadSwap(*args, **kwargs)SWAPの挿入により、入力回路をバックエンドのトポロジーにマッピングする。
SabreSwap(*args, **kwargs)SWAPの挿入により、入力回路をバックエンドのトポロジーにマッピングする。
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)連続するゲートの各ブロックを1つのユニタリー・ノードで置き換える。
ContractIdleWiresInControlFlow(*args, **kwargs)の制御フロー操作からアイドル量子ビットを取り除く。 DAGCircuit.
ConvertToPauliRotations(*args, **kwargs)1量子ビット、2量子ビット、および3量子ビットの標準ゲート、障壁、および測定を含む量子回路を、ゲートと PauliProductMeasurementPauliProductRotationGate 命令を含む等価回路に変換する。
ElidePermutations(*args, **kwargs)レイアウト前の回路から順列演算を取り除く
HoareOptimizer(*args, **kwargs)これは、Hoare論理回路の最適化を使用したトランスパイラー・パスである。
InverseCancellation(*args, **kwargs)相反する特定のゲートをキャンセルする。
LightCone(*args, **kwargs)回路の測定結果に影響を与えないゲートを取り除く。
LitinskiTransformation(*args, **kwargs)回路にリチンスキー変換を適用する。
Optimize1qGates(*args, **kwargs)u1, u2, u3 ゲートを1つのゲートに組み合わせることで、1量子ビットのゲートの連鎖を最適化する。
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)量子ビットがゼロ状態のときにリセット・ゲートを取り除く。
ResetAfterMeasureSimplification(*args, **kwargs)このパスは、小節後のリセットを条件付きXゲートに置き換える。
Split2QUnitaries(*args, **kwargs)a における2量子ビットのユニタリー DAGCircuit 演算を、2つの単一量子ビットゲートに分解しようとする。
SubstitutePi4Rotations(*args, **kwargs)角度が π/4\pi/4 の整数倍である回転ゲートを、クリフォードゲート、 TGate および TdgGate ゲートの離散集合に変換する。
TemplateOptimization(*args, **kwargs)テンプレート最適化パスのクラス。

スケジューリング

ALAPScheduleAnalysis(*args, **kwargs)ALAPスケジューリングパス。これは、命令の停止時刻を可能な限り遅くスケジューリングする。
ASAPScheduleAnalysis(*args, **kwargs)ASAPスケジューリングパスは、指導開始時間をできるだけ早くスケジューリングします。
ConstrainedReschedule(*args, **kwargs)ノードの開始時刻をハードウェアのアライメントに合わせて更新するリスケジューラーパス。
ContextAwareDynamicalDecoupling(*args, **kwargs)ゲートと量子ビットのコンテキストを考慮したX系列の動的デカップリングを実装する。
InstructionDurationCheck(*args, **kwargs)リスケジュールのための期間確認パス。
PadDelay(*args, **kwargs)Delay命令によるアイドル時間の水増し。
PadDynamicalDecoupling(*args, **kwargs)ダイナミック・デカップリング挿入パス。
SetIOLatency(*args, **kwargs)入力回路にIOLatency情報を設定する。
TimeUnitConversion(*args, **kwargs)以下の時間認識パスで使用する時間単位を選択し、すべての回路の時間単位をそれに一致させる。

回路解析

CountOps(*args, **kwargs)DAG回路の演算を数える。
CountOpsLongestPath(*args, **kwargs)で最も長いパスの操作を数える。 DAGCircuit.
DAGLongestPath(*args, **kwargs)の最長パスを DAGCircuit の最長パスを DAGOpNodes, DAGInNodes、および DAGOutNodes.
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,...] )高位合成コンフィグでは、変換パスがさまざまなタイプの高位オブジェクトを合成する際に使用する「メソッド」のリストを指定することができる。 HighLevelSynthesis 変換パスで使用される "メソッド "のリストを指定することができます。
HighLevelSynthesis(*args, **kwargs)高レベルのオブジェクトを合成し、カスタム定義を展開する。
LinearFunctionsToPermutations(*args, **kwargs)可能であれば、線形関数を順列に昇格させる。
SolovayKitaev(*args, **kwargs)Solovay-Kitaevアルゴリズムを使用して、 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 トランスパイルパスは、可能な限りforループをアンロールする。
WrapAngles(*args, **kwargs)ターゲットで指定された境界の外側の角度をラップする。

追加データ

qiskit.transpiler.passes.utils.wrap_angles.WRAP_ANGLE_REGISTRY

. WrapAngles.DEFAULT_REGISTRYの従来の場所 このパスは、Qiskit 2.2 との完全な互換性が必要な場合にのみ使用してください。

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。