PiecewiseChebyshev
class qiskit.circuit.library.PiecewiseChebyshev(f_x, degree=None, breakpoints=None, num_state_qubits=None, name='pw_cheb')
ベース: BlueprintCircuit
入力関数に対する区分的チェビシェフ近似。
与えられた関数 と次数 に対して、このクラスは与えられた区間上の に対する クビット上の区分多項式チェビシェフ近似を実装します。 近似の多項式はすべて次数 。
パラメータの値は [1に従って]計算され、回路の構成とそれが量子ビットにどのように作用するかのより詳細な説明は [2を]参照。
例:
import numpy as np
from qiskit import QuantumCircuit
from qiskit.circuit.library.arithmetic.piecewise_chebyshev import PiecewiseChebyshev
f_x, degree, breakpoints, num_state_qubits = lambda x: np.arcsin(1 / x), 2, [2, 4], 2
pw_approximation = PiecewiseChebyshev(f_x, degree, breakpoints, num_state_qubits)
pw_approximation._build()
qc = QuantumCircuit(pw_approximation.num_qubits)
qc.h(list(range(num_state_qubits)))
qc.append(pw_approximation.to_instruction(), qc.qubits)
qc.draw(output='mpl')
参照資料:
[1] ヘーナー, T., ロエテラー, M. および スヴォア, K. M. (2018). 算術演算のための量子回路の最適化。 arXiv:1805.12445
[2] カレラ・バスケス、A、 Hiptmair, H., & Woerner, S. (2022). リチャードソン外挿を用いた量子線形システムアルゴリズムの強化。 ACM Transactions on Quantum Computing 3, 1, Article 2
パラメーター
- f_x (float | Callable[[int], float]) – 近似される関数。 定数関数は f_x = constant と指定する。
- degree (int | None) – 多項式の次数。 デフォルトは
1です。 - breakpoints (list[int] | None) – ブレイクポイントで区分線形関数を定義する。 デフォルトはフルインターバル。
- num_state_qubits (int | None) – 状態を表す量子ビットの数。
- name (str) – 回路オブジェクトの名前。
属性
breakpoints
区分近似のブレークポイント。
戻り値
区分近似のブレークポイント。
degree
多項式の次数。
戻り値
多項式の次数。
f_x
近似される関数。
戻り値
近似される関数。
num_state_qubits
状態 を表す状態量子ビットの数。
戻り値
状態量子ビットの数。
polynomials
name
タイプ: str
人間が読める回路名。
例
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuitこのページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。