Skip to main content
IBM Quantum Platform

LinearPauliRotations

class qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')

GitHub

ベース: FunctionalPauliRotations

X、YまたはZ回転をリニアに制御。

状態量子ビット x|x\rangle、ターゲット量子ビット 0|0\rangle、基底 'Y' のレジスタに対して、この回路は次のように動作する:

    q_0: ─────────────────────────■───────── ... ──────────────────────

                                  .

q_(n-1): ─────────────────────────┼───────── ... ───────────■──────────
          ┌────────────┐  ┌───────┴───────┐       ┌─────────┴─────────┐
    q_n: ─┤ RY(offset) ├──┤ RY(2^0 slope) ├  ...  ┤ RY(2^(n-1) slope) ├
          └────────────┘  └───────────────┘       └───────────────────┘

これは例えば、 a=a = slope /2/2b=b = offset /2/2 と基底 'Y' を使って、一次関数を近似するのに使うことができる:

x0cos(ax+b)x0+sin(ax+b)x1|x\rangle |0\rangle \mapsto \cos(ax + b)|x\rangle|0\rangle + \sin(ax + b)|x\rangle |1\rangle

小さな引数 sin(x)x\sin(x) \approx x の場合、この演算子は線形関数を近似するのに使えるからだ。

パラメーター

  • num_state_qubits (int | None) – 状態 x|x\rangle を表す量子ビットの数。
  • slope (float) – コントロールされた回転の傾き。
  • offset (float) – 制御された回転のオフセット。
  • basis (str) – パウリ回転の種類('X'、'Y'、'Z')。
  • name (str) – 回路オブジェクトの名前。

属性

offset

ターゲット量子ビットのオフセット回転角度。

制御された回転を適用する前に、角度 offset の単一の回転がターゲット量子ビットに適用される。

戻り値

オフセット角度。

slope

制御された回転の回転角の乗法係数。

回転角度は、 slope * 2^0, slope * 2^1,..., slope * 2^(n-1) であり、 n は状態量子ビットの数である。

戻り値

すべてのコントロールされた回転に共通する回転角度。

name

タイプ: str

人間が読める回路名。

from qiskit import QuantumCircuit

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