Skip to main content
IBM Quantum Platform

Optimize1qGates

class qiskit.transpiler.passes.Optimize1qGates(*args, **kwargs)

GitHub

ベース: TransformationPass

u1, u2, u3 ゲートを1つのゲートに組み合わせることで、1量子ビットのゲートの連鎖を最適化する。

Optimize1qGates イニシャライザー。

パラメーター

  • basis (list[str]) – 考慮する基底ゲート、例: [‘u3’、'cx']。 このパスの効果では、基底は、基底パラメータと集合 {‘u1’,’u2’,’u3’, ‘u’, ‘p’} の間の集合の交点である。
  • eps (float) – EPSの照合
  • target (Target) – バックエンドを表す Targetbasistarget の両方が指定されている場合は、この引数が優先され、 basis は無視されます。

属性

is_analysis_pass

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

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

is_transformation_pass

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

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


方法

compose_u3

static compose_u3(theta1, phi1, lambda1, theta2, phi2, lambda2)

GitHub

積のトリプル theta, phi, lambda を返す。

u3(theta ファイ、ラムダ)

= Γ= u3(theta1, phi1, lambda1).u3(theta2, phi2, lambda2 ) = Rz( phi1 ).Ry( theta1 ).Rz( lambda1+phi2 ).Ry( theta2 ).Rz( lambda2 ) = Rz( phi1 ).Rz(phi').Ry(lambda').Rz( lambda2 ) = u3(theta’, phi1 + phi', lambda2 + lambda')

テータ、ファイ、ラムダを返す。

execute

execute(passmanager_ir, state, callback=None)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

タプル [ Any, PassManagerState ]

name

name()

GitHub

パスの名前

戻りの型

str

run

run(dag)

GitHub

ダグに Optimize1qGates。

パラメーター

dag (DAGCircuit) – 最適化されるDAG。

戻り値

最適化されたDAG

戻りの型

DAGサーキット

レイズ

TranspilerError - YZYZYZ の角度が同じ回転行列を与えない場合。

update_status

update_status(state, run_state)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

yzy_to_zyz

static yzy_to_zyz(xi, theta1, theta2, eps=1e-09)

GitHub

Y.Z.Y シングル量子ビットゲートを Z.Y.Z ゲートとして表現する。

方程式を解く

Ry( theta1 ).Rz(xi).Ry( theta2 ) = Rz(phi).Ry(ta).Rz(lambda)

シータ、ファイ、ラムダの場合。

解のθ、φ、λを返す。

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