mirror of https://github.com/Qiskit/qiskit.git
30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
---
|
|
features:
|
|
- |
|
|
A new class,
|
|
:class:`~qiskit.circuit.library.PiecewisePolynomialPauliRotations`, has
|
|
been added to the :mod:`qiskit.circuit.library` module. This circuit library
|
|
element is used for mapping a piecewise polynomial function, :math:`f(x)`,
|
|
which is defined through breakpoints and coefficients, on qubit amplitudes.
|
|
The breakpoints :math:`(x_0, ..., x_J)` are a subset of :math:`[0, 2^n-1]`,
|
|
where :math:`n` is the number of state qubits. The corresponding
|
|
coefficients :math:`[a_{j,1},...,a_{j,d}]`, where :math:`d` is the highest
|
|
degree among all polynomials. Then :math:`f(x)` is defined as:
|
|
|
|
.. math::
|
|
|
|
f(x) = \begin{cases}
|
|
0, x < x_0 \\
|
|
\sum_{i=0}^{i=d}a_{j,i} x^i, x_j \leq x < x_{j+1}
|
|
\end{cases}
|
|
|
|
where we implicitly assume :math:`x_{J+1} = 2^n`. And the mapping applied
|
|
to the amplitudes is given by
|
|
|
|
.. math::
|
|
|
|
F|x\rangle |0\rangle = \cos(p_j(x))|x\rangle |0\rangle + \sin(p_j(x))|x\rangle |1\rangle
|
|
|
|
This mapping is based on controlled Pauli Y-rotations and constructed using
|
|
the :class:`~qiskit.circuit.library.PolynomialPauliRotations`.
|