Skip to main content
IBM Quantum Platform

PolynomialPauliRotations

class qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')

GitHub

ベース: FunctionalPauliRotations

多項式パウリ回転を実装した回路。

多項式 p(x)p(x)、基底状態 i|i\rangle、ターゲット量子ビット 0|0\rangle に対して、この演算子は次のように働く:

i0cos(p(i)2)i0+sin(p(i)2)i1|i\rangle |0\rangle \mapsto \cos\left(\frac{p(i)}{2}\right) |i\rangle |0\rangle + \sin\left(\frac{p(i)}{2}\right) |i\rangle |1\rangle

nを状態を表す量子ビットの数、dをp(x)の次数、q_iを量子ビットとすると、 q_0 は最下位量子ビットである。 そして

x=i=0n12iqi,x = \sum_{i=0}^{n-1} 2^i q_i,

と書くことができる

p(x)=j=0j=dcjxjp(x) = \sum_{j=0}^{j=d} c_j x^j

ここで、 cc は入力係数、 coeffs.

パラメーター

  • num_state_qubits (int | None) – 状態を表す量子ビットの数。
  • coeffs (list[float] | None) – 多項式の係数。 coeffs[i] はxのi乗の係数である。 デフォルトはlinear: [0, 1]。
  • basis (str) – パウリ回転の種類('X'、'Y'、'Z')。
  • name (str) – 回路の名前。

属性

coeffs

多項式の係数。

coeffs[i] は、関数入力 xx のi乗の係数である。つまり、回転角度は、次の式に従って、係数の値に基づいている

cjxj,j=0,...,dc_j x^j , j=0, ..., d

ここで、 dd は多項式 p(x)p(x) の次数、 cc は係数 coeffs

戻り値

多項式の係数。

degree

多項式の次数を返します。これは係数の数から 1 を引いた値に等しくなります。

戻り値

多項式の次数。 係数が設定されていない場合は0を返す。

name

タイプ: str

人間が読める回路名。

from qiskit import QuantumCircuit

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