Skip to main content
IBM Quantum Platform

CollectCliffords

class qiskit_ibm_transpiler.ai.CollectCliffords(do_commutative_analysis: bool = True, min_block_size: int = 2, max_block_size: int = CLIFFORD_MAX_BLOCK_SIZE, collect_from_back: bool = False, num_reps: int = 10)

GitHub

ベース: RepeatedCollectAndCollapse

クリフォード・ブロックをインストラクション・オブジェクトとして収集し、合成後に比較するために元のサブサーキットを保存します。

パラメーター

  • do_commutative_analysis (bool) – 可換解析の有効/無効、デフォルトはTrue
  • min_block_size (int, optional) – CollectCliffordsパス中に生成されるブロックの最小サイズを設定する、デフォルトは2。
  • max_block_size (int, optional) – CollectCliffordsパス中に生成されるブロックの最大サイズを設定する、デフォルトは9。
  • collect_from_back (bool, optional) – ブロックを逆順に収集するかどうかを指定する。
  • num_reps (int, optional) – 最適化処理を何回繰り返すかを指定する。デフォルトは10回。
  • collect_function (callable) – DAGを受け取り、ノードの "収集された "ブロックのリストを返す関数
  • collapse_function (callable) – DAGと "収集された "ブロックのリストを受け取り、各ブロックを統合する関数。
  • do_commutative_analysis - Trueの場合、ノード間の可換関係を利用する。

属性

is_analysis_pass

パスが分析パスかどうかをチェックする。

パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。

is_transformation_pass

パスが変形パスかどうかをチェックする。

パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。


方法

execute

execute(passmanager_ir, state, callback=None)

入力Qiskit IRに対して最適化タスクを実行する。

パラメーター

  • passmanager_ir (Any) – Qiskit IRを最適化する。
  • state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
  • callback (Callable) – 最適化タスクの実行ごとに呼び出されるコールバック関数。

戻り値

Qiskit IRとワークフローの状態を最適化。

戻りの型

タプル [*Any*PassManagerState ]

name

name()

パスの名前

戻りの型

str

run

run(dag)

GitHub

dag に対して CollectLinearFunctions パスを実行する。 :param dag: 最適化される DAG。 :type dag:DAGCircuit

戻り値

最適化されたDAG

戻りの型

DAGサーキット

update_status

update_status(state, run_state)

ワークフローのステータスを更新する。

パラメーター

  • state (PassManagerState) – 更新するマネージャーの状態を渡す。
  • run_state (RunState) – 現在のタスクの完了状況。

戻り値

パスマネージャーの状態を更新。

戻りの型

PassManagerState

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