Skip to main content
IBM Quantum Platform

QAOAアプローチ

class qiskit.circuit.library.QAOAAnsatz(cost_operator=None, reps=1, initial_state=None, mixer_operator=None, name='QAOA', flatten=None)

GitHub

ベース: EvolvedOperatorAnsatz

カスタム初期状態とミキサーをサポートした一般化QAOA量子回路。

参照資料:

[1] ファーリら、 量子近似最適化アルゴリズム。 arXiv:1411.4028

パラメーター

  • cost_operator (BaseOperator or OperatorBase, optional) – 最適化問題のコストを表す演算子で、原著論文では U(C,γ)U(C, \gamma) と表記されている。 コンストラクタかプロパティ・セッターで設定しなければならない。
  • reps (int) – 整数のパラメータpは、原著論文で指定されている回路の深さを決めるもので、デフォルトは1である。
  • initial_state (QuantumCircuit, optional) – オプションの初期状態。 Noneが渡された場合、ハダマードゲートのセットがすべての量子ビットに初期状態として適用される。
  • mixer_operator (BaseOperator or OperatorBase or QuantumCircuit, optional) – グローバルXローテーションの代わりに使用するオプションのカスタムミキサー。原著論文では U(B,β)U(B, \beta) と表記。 演算子、またはパラメータ化された量子回路を指定することができる。
  • name (str) – 回路の名前。デフォルトは「qaoa」
  • flatten (bool | None) – これを True に設定すると、ゲートオブジェクトの複数のレイヤーの中に入れ子にする代わりに、フラットな回路を出力する。 現在デフォルトでは、出力回路の内容は、よりきれいに視覚化するためにネストされたオブジェクトにラップされる。 しかし、この回路を視覚化以外に使用する場合は、パラメータ・バインディングの大きなパフォーマンス・オーバーヘッドを避けるため、このフラグを True に設定することを強くお勧めします。

属性

cost_operator

最適化問題のコストを表す演算子を返します。

戻り値

コスト・オペレーター。

戻りの型

BaseOperator または OperatorBase

initial_state

任意の初期状態を回路として返す

mixer_operator

オプションのミキサー演算子を演算子または量子回路として返します。

戻り値

ミキサーのオペレーターまたは回路。

戻りの型

BaseOperator または OperatorBase または QuantumCircuit (オプション

num_qubits

operators

この回路で進化する演算子。

戻り値

進化するオペレーター

(と回路)である。

戻りの型

リスト[ユニオン[ BaseOperator, OperatorBase, QuantumCircuit ]]

parameter_bounds

回路の未束縛パラメータのパラメータ境界。

戻り値

境界を示すペアのリスト。 Noneは、対応する方向のパラメータが束縛されていないことを示す。 Noneが返された場合、問題は完全に非束縛となる。

reps

回路の深さを決定する reps パラメータを返す。

name

タイプ: str

人間が読める回路名。

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。