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] Haener, T., 로텔러, M., & 스보어, K. M. (2018). 산술 연산을 위한 양자 회로 최적화. arXiv:1805.12445
[2] 카레라 바스케스, A., 힙트마이어, H., & 워너너, S. (2022). 리처드슨 외삽법을 사용한 양자 선형 시스템 알고리즘 개선하기. 양자 컴퓨팅에 관한 ACM 거래 3, 1, 2조 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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.