Skip to main content
IBM Quantum Platform

PiecewiseLinearPauliRotations

class qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')

GitHub

ベース: FunctionalPauliRotations

断片的に線形制御されたパウリ回転。

区分線形(連続である必要はない)関数 f(x)f(x)、ブレークポイント、スロープ、オフセットを通して次のように定義される。 ブレークポイント (x0,...,xJ)(x_0, ..., x_J)[0,2n1][0, 2^n-1] のサブセットであるとする。 nn は状態量子ビットの数である。 さらに、対応するスロープとオフセットをそれぞれ aja_jbjb_j とする。 そしてf(x)は次のように定義される:

f(x)={0,x<x0aj(xxj)+bj,xjx<xj+1f(x) = \begin{cases} 0, x < x_0 \\ a_j (x - x_j) + b_j, x_j \leq x < x_{j+1} \end{cases}

ここで、暗黙のうちに xJ+1=2nx_{J+1} = 2^n を仮定する。

パラメーター

  • num_state_qubits (int | None) – 状態を表す量子ビットの数。
  • breakpoints (list[int] | None) – 区分線形関数を定義するブレークポイント。 デフォルトは[0]です。
  • slopes (list[float] | np.ndarray | None) – 区分線形関数の異なる区分の傾き。 デフォルトは[1]です。
  • offsets (list[float] | np.ndarray | None) – 区分線形関数の異なる区分のオフセット。 デフォルトは[0]です。
  • basis (str) – パウリ回転のタイプ ('X', 'Y', 'Z')。
  • name (str) – 回路の名前。

属性

breakpoints

区分線形関数のブレークポイント。

関数は区間 [point_i, point_{i+1}] において線形であり、最後の点は暗黙的に 2**(num_state_qubits + 1) である。

contains_zero_breakpoint

0が最初のブレークポイントかどうか。

戻り値

0が最初のブレークポイントなら真、そうでなければ偽。

mapped_offsets

内部表現にマッピングされたオフセット。

戻り値

マッピングされたオフセット。

mapped_slopes

内部表現にマッピングされたスロープ。

戻り値

地図にある斜面。

offsets

区分線形関数の切片。

関数は区間 [point_i, point_{i+1}] において線形であり、最後の点は暗黙的に 2**(num_state_qubits + 1) である。

slopes

区分線形関数の傾き。

関数は区間 [point_i, point_{i+1}] において線形であり、最後の点は暗黙的に 2**(num_state_qubits + 1) である。

name

タイプ: str

人間が読める回路名。

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit

方法

evaluate

evaluate(x)

GitHub

古典的に区分線形回転を評価する。

パラメーター

x (float) – 評価される値。

戻り値

xにおける区分線形関数の値。

戻りの型

浮動小数点

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