Skip to main content
IBM Quantum Platform

PiecewiseChebyshev

class qiskit.circuit.library.PiecewiseChebyshev(f_x, degree=None, breakpoints=None, num_state_qubits=None, name='pw_cheb')

GitHub

베이스: BlueprintCircuit

입력 함수에 대한 부분적인 체비셰프 근사치입니다.

주어진 함수 f(x)f(x) 와 차수 dd 에 대해 이 클래스는 주어진 간격으로 nn 큐비트에서 f(x)f(x) 로의 단편적인 다항식 체비셰프 근사를 구현합니다. 근사치의 모든 다항식은 차수 dd 입니다.

매개변수의 값은 [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

상태를 나타내는 상태 큐비트 수 x|x\rangle.

리턴

상태 큐비트 수입니다.

polynomials

조각별 근사치를 위한 다항식입니다.

리턴

조각별 근사치를 위한 다항식입니다.

레이즈

TypeError - 입력 기능이 올바른 형식이 아닌 경우.

name

유형: str

사람이 읽을 수 있는 회로의 이름입니다.

예제

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.