diff --git a/docs/api/qiskit/dev/_toc.json b/docs/api/qiskit/dev/_toc.json
index 3c7b8a968b4..964acb7f136 100644
--- a/docs/api/qiskit/dev/_toc.json
+++ b/docs/api/qiskit/dev/_toc.json
@@ -265,6 +265,10 @@
"title": "ExcitationPreserving",
"url": "/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving"
},
+ {
+ "title": "fourier_checking",
+ "url": "/api/qiskit/dev/qiskit.circuit.library.fourier_checking"
+ },
{
"title": "FourierChecking",
"url": "/api/qiskit/dev/qiskit.circuit.library.FourierChecking"
@@ -289,6 +293,10 @@
"title": "GraphState",
"url": "/api/qiskit/dev/qiskit.circuit.library.GraphState"
},
+ {
+ "title": "GraphStateGate",
+ "url": "/api/qiskit/dev/qiskit.circuit.library.GraphStateGate"
+ },
{
"title": "GroverOperator",
"url": "/api/qiskit/dev/qiskit.circuit.library.GroverOperator"
@@ -313,6 +321,10 @@
"title": "HGate",
"url": "/api/qiskit/dev/qiskit.circuit.library.HGate"
},
+ {
+ "title": "hidden_linear_function",
+ "url": "/api/qiskit/dev/qiskit.circuit.library.hidden_linear_function"
+ },
{
"title": "HiddenLinearFunction",
"url": "/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction"
@@ -437,6 +449,10 @@
"title": "PermutationGate",
"url": "/api/qiskit/dev/qiskit.circuit.library.PermutationGate"
},
+ {
+ "title": "phase_estimation",
+ "url": "/api/qiskit/dev/qiskit.circuit.library.phase_estimation"
+ },
{
"title": "PhaseEstimation",
"url": "/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation"
@@ -613,6 +629,10 @@
"title": "UGate",
"url": "/api/qiskit/dev/qiskit.circuit.library.UGate"
},
+ {
+ "title": "unitary_overlap",
+ "url": "/api/qiskit/dev/qiskit.circuit.library.unitary_overlap"
+ },
{
"title": "UnitaryGate",
"url": "/api/qiskit/dev/qiskit.circuit.library.UnitaryGate"
diff --git a/docs/api/qiskit/dev/circuit_library.mdx b/docs/api/qiskit/dev/circuit_library.mdx
index a7c810484fb..525b6740265 100644
--- a/docs/api/qiskit/dev/circuit_library.mdx
+++ b/docs/api/qiskit/dev/circuit_library.mdx
@@ -274,20 +274,25 @@ These [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCi
## Particular Quantum Circuits
-| | |
-| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
-| [`FourierChecking`](qiskit.circuit.library.FourierChecking "qiskit.circuit.library.FourierChecking")(f, g) | Fourier checking circuit. |
-| [`GraphState`](qiskit.circuit.library.GraphState "qiskit.circuit.library.GraphState")(adjacency\_matrix) | Circuit to prepare a graph state. |
-| [`HiddenLinearFunction`](qiskit.circuit.library.HiddenLinearFunction "qiskit.circuit.library.HiddenLinearFunction")(adjacency\_matrix) | Circuit to solve the hidden linear function problem. |
-| [`IQP`](qiskit.circuit.library.IQP "qiskit.circuit.library.IQP")(interactions) | Instantaneous quantum polynomial (IQP) circuit. |
-| [`QuantumVolume`](qiskit.circuit.library.QuantumVolume "qiskit.circuit.library.QuantumVolume")(num\_qubits\[, depth, seed, ...]) | A quantum volume model circuit. |
-| [`quantum_volume`](qiskit.circuit.library.quantum_volume "qiskit.circuit.library.quantum_volume")(num\_qubits\[, depth, seed]) | A quantum volume model circuit. |
-| [`PhaseEstimation`](qiskit.circuit.library.PhaseEstimation "qiskit.circuit.library.PhaseEstimation")(num\_evaluation\_qubits, unitary) | Phase Estimation circuit. |
-| [`GroverOperator`](qiskit.circuit.library.GroverOperator "qiskit.circuit.library.GroverOperator")(oracle\[, state\_preparation, ...]) | The Grover operator. |
-| [`PhaseOracle`](qiskit.circuit.library.PhaseOracle "qiskit.circuit.library.PhaseOracle")(expression\[, synthesizer, var\_order]) | Phase Oracle. |
-| [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")(operator\[, time, label, ...]) | Time-evolution of an operator consisting of Paulis. |
-| [`HamiltonianGate`](qiskit.circuit.library.HamiltonianGate "qiskit.circuit.library.HamiltonianGate")(data, time\[, label]) | Class for representing evolution by a Hamiltonian operator as a gate. |
-| [`UnitaryOverlap`](qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. |
+| | |
+| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
+| [`FourierChecking`](qiskit.circuit.library.FourierChecking "qiskit.circuit.library.FourierChecking")(f, g) | Fourier checking circuit. |
+| [`fourier_checking`](#qiskit.circuit.library.fourier_checking "qiskit.circuit.library.fourier_checking")(f, g) | Fourier checking circuit. |
+| [`GraphState`](qiskit.circuit.library.GraphState "qiskit.circuit.library.GraphState")(adjacency\_matrix) | Circuit to prepare a graph state. |
+| [`GraphStateGate`](qiskit.circuit.library.GraphStateGate "qiskit.circuit.library.GraphStateGate")(adjacency\_matrix) | A gate representing a graph state. |
+| [`HiddenLinearFunction`](qiskit.circuit.library.HiddenLinearFunction "qiskit.circuit.library.HiddenLinearFunction")(adjacency\_matrix) | Circuit to solve the hidden linear function problem. |
+| [`hidden_linear_function`](#qiskit.circuit.library.hidden_linear_function "qiskit.circuit.library.hidden_linear_function")(adjacency\_matrix) | Circuit to solve the hidden linear function problem. |
+| [`IQP`](qiskit.circuit.library.IQP "qiskit.circuit.library.IQP")(interactions) | Instantaneous quantum polynomial (IQP) circuit. |
+| [`QuantumVolume`](qiskit.circuit.library.QuantumVolume "qiskit.circuit.library.QuantumVolume")(num\_qubits\[, depth, seed, ...]) | A quantum volume model circuit. |
+| [`quantum_volume`](qiskit.circuit.library.quantum_volume "qiskit.circuit.library.quantum_volume")(num\_qubits\[, depth, seed]) | A quantum volume model circuit. |
+| [`PhaseEstimation`](qiskit.circuit.library.PhaseEstimation "qiskit.circuit.library.PhaseEstimation")(num\_evaluation\_qubits, unitary) | Phase Estimation circuit. |
+| [`phase_estimation`](#qiskit.circuit.library.phase_estimation "qiskit.circuit.library.phase_estimation")(num\_evaluation\_qubits, unitary) | Phase Estimation circuit. |
+| [`GroverOperator`](qiskit.circuit.library.GroverOperator "qiskit.circuit.library.GroverOperator")(oracle\[, state\_preparation, ...]) | The Grover operator. |
+| [`PhaseOracle`](qiskit.circuit.library.PhaseOracle "qiskit.circuit.library.PhaseOracle")(expression\[, synthesizer, var\_order]) | Phase Oracle. |
+| [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")(operator\[, time, label, ...]) | Time-evolution of an operator consisting of Paulis. |
+| [`HamiltonianGate`](qiskit.circuit.library.HamiltonianGate "qiskit.circuit.library.HamiltonianGate")(data, time\[, label]) | Class for representing evolution by a Hamiltonian operator as a gate. |
+| [`UnitaryOverlap`](qiskit.circuit.library.UnitaryOverlap "qiskit.circuit.library.UnitaryOverlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. |
+| [`unitary_overlap`](#qiskit.circuit.library.unitary_overlap "qiskit.circuit.library.unitary_overlap")(unitary1, unitary2\[, ...]) | Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. |
### iqp
@@ -355,6 +360,196 @@ These [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCi
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
+### fourier\_checking
+
+
+ Fourier checking circuit.
+
+ The circuit for the Fourier checking algorithm, introduced in \[1], involves a layer of Hadamards, the function $f$, another layer of Hadamards, the function $g$, followed by a final layer of Hadamards. The functions $f$ and $g$ are classical functions realized as phase oracles (diagonal operators with \{-1, 1} on the diagonal).
+
+ The probability of observing the all-zeros string is $p(f,g)$. The algorithm solves the promise Fourier checking problem, which decides if f is correlated with the Fourier transform of g, by testing if $p(f,g) <= 0.01$ or $p(f,g) >= 0.05$, promised that one or the other of these is true.
+
+ The functions $f$ and $g$ are currently implemented from their truth tables but could be represented concisely and implemented efficiently for special classes of functions.
+
+ Fourier checking is a special case of $k$-fold forrelation \[2].
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit.library import fourier_checking
+ circuit = fourier_checking([1, -1, -1, -1], [1, 1, -1, -1])
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/circuit\_library-5.png](/images/api/qiskit/dev/circuit_library-5.png)
+
+ **Reference:**
+
+ \[1] S. Aaronson, BQP and the Polynomial Hierarchy, 2009 (Section 3.2). [arXiv:0910.4698](https://arxiv.org/abs/0910.4698)
+
+ \[2] S. Aaronson, A. Ambainis, Forrelation: a problem that optimally separates quantum from classical computing, 2014. [arXiv:1411.5729](https://arxiv.org/abs/1411.5729)
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+
+### hidden\_linear\_function
+
+
+ Circuit to solve the hidden linear function problem.
+
+ The 2D Hidden Linear Function problem is determined by a 2D adjacency matrix A, where only elements that are nearest-neighbor on a grid have non-zero entries. Each row/column corresponds to one binary variable $x_i$.
+
+ The hidden linear function problem is as follows:
+
+ Consider the quadratic form
+
+$$
+q(x) = \sum_{i,j=1}^{n}{x_i x_j} ~(\mathrm{mod}~ 4)
+$$
+
+ and restrict $q(x)$ onto the nullspace of A. This results in a linear function.
+
+$$
+2 \sum_{i=1}^{n}{z_i x_i} ~(\mathrm{mod}~ 4) \forall x \in \mathrm{Ker}(A)
+$$
+
+ and the goal is to recover this linear function (equivalently a vector $[z_0, ..., z_{n-1}]$). There can be multiple solutions.
+
+ In \[1] it is shown that the present circuit solves this problem on a quantum computer in constant depth, whereas any corresponding solution on a classical computer would require circuits that grow logarithmically with $n$. Thus this circuit is an example of quantum advantage with shallow circuits.
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit.library import hidden_linear_function
+ A = [[1, 1, 0], [1, 0, 1], [0, 1, 1]]
+ circuit = hidden_linear_function(A)
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/circuit\_library-6.png](/images/api/qiskit/dev/circuit_library-6.png)
+
+ **Parameters**
+
+ **adjacency\_matrix** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – a symmetric n-by-n list of 0-1 lists. n will be the number of qubits.
+
+ **Raises**
+
+ [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If A is not symmetric.
+
+ **Return type**
+
+ [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
+
+ **Reference:**
+
+ \[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. [arXiv:1704.00690](https://arxiv.org/abs/1704.00690)
+
+
+### unitary\_overlap
+
+
+ Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$.
+
+ The input quantum circuits must represent unitary operations, since they must be invertible. If the inputs will have parameters, they are replaced by [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")s with names “p1” (for circuit `unitary1`) and “p2” (for circuit `unitary_2`) in the output circuit.
+
+ This circuit is usually employed in computing the fidelity:
+
+$$
+\left|\langle 0| U_2^{\dag} U_1|0\rangle\right|^{2}
+$$
+
+ by computing the probability of being in the all-zeros bit-string, or equivalently, the expectation value of projector $|0\rangle\langle 0|$.
+
+ **Reference Circuit:**
+
+ ```python
+ import numpy as np
+ from qiskit.circuit.library import EfficientSU2, unitary_overlap
+
+ # get two circuit to prepare states of which we compute the overlap
+ circuit = EfficientSU2(2, reps=1)
+ unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
+ unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
+
+ # create the overlap circuit
+ overlap = unitary_overlap(unitary1, unitary2)
+ overlap.draw('mpl')
+ ```
+
+ ![../\_images/circuit\_library-7.png](/images/api/qiskit/dev/circuit_library-7.png)
+
+ **Parameters**
+
+ * **unitary1** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – Unitary acting on the ket vector.
+ * **unitary2** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – Unitary whose inverse operates on the bra vector.
+ * **prefix1** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the parameter vector associated to `unitary1`, if it is parameterized. Defaults to `"p1"`.
+ * **prefix2** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the parameter vector associated to `unitary2`, if it is parameterized. Defaults to `"p2"`.
+ * **insert\_barrier** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether to insert a barrier between the two unitaries.
+
+ **Raises**
+
+ * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – Number of qubits in `unitary1` and `unitary2` does not match.
+ * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – Inputs contain measurements and/or resets.
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+
+### phase\_estimation
+
+
+ Phase Estimation circuit.
+
+ In the Quantum Phase Estimation (QPE) algorithm \[1, 2, 3], the Phase Estimation circuit is used to estimate the phase $\phi$ of an eigenvalue $e^{2\pi i\phi}$ of a unitary operator $U$, provided with the corresponding eigenstate $|\psi\rangle$. That is
+
+$$
+U|\psi\rangle = e^{2\pi i\phi} |\psi\rangle
+$$
+
+ This estimation (and thereby this circuit) is a central routine to several well-known algorithms, such as Shor’s algorithm or Quantum Amplitude Estimation.
+
+ **Parameters**
+
+ * **num\_evaluation\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The number of evaluation qubits.
+ * **unitary** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The unitary operation $U$ which will be repeated and controlled.
+ * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the circuit.
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit import QuantumCircuit
+ from qiskit.circuit.library import phase_estimation
+ unitary = QuantumCircuit(2)
+ unitary.x(0)
+ unitary.y(1)
+ circuit = phase_estimation(3, unitary)
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/circuit\_library-8.png](/images/api/qiskit/dev/circuit_library-8.png)
+
+ **References:**
+
+ **\[1]: Kitaev, A. Y. (1995). Quantum measurements and the Abelian Stabilizer Problem. 1–22.**
+
+ [quant-ph/9511026](http://arxiv.org/abs/quant-ph/9511026)
+
+ **\[2]: Michael A. Nielsen and Isaac L. Chuang. 2011.**
+
+ Quantum Computation and Quantum Information: 10th Anniversary Edition (10th ed.). Cambridge University Press, New York, NY, USA.
+
+ **\[3]: Qiskit**
+
+ [textbook](https://github.com/Qiskit/textbook/blob/main/notebooks/ch-algorithms/quantum-phase-estimation.ipynb)
+
+
## N-local circuits
These `BlueprintCircuit` subclasses are used as parameterized models (a.k.a. ansatzes or variational forms) in variational algorithms. They are heavily used in near-term algorithms in e.g. Chemistry, Physics or Optimization.
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx
index 6d95a9c20cb..ae1baee43d5 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.FourierChecking
# FourierChecking
-
+
Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
Fourier checking circuit.
@@ -29,10 +29,14 @@ python_api_name: qiskit.circuit.library.FourierChecking
Create Fourier checking circuit.
+
+ The class `qiskit.circuit.library.fourier_checking.FourierChecking` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.fourier\_checking instead.
+
+
**Parameters**
- * **f** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – truth table for f, length 2\*\*n list of \{1,-1}.
- * **g** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – truth table for g, length 2\*\*n list of \{1,-1}.
+ * **f** ([*Sequence*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – truth table for f, length 2\*\*n list of \{1,-1}.
+ * **g** ([*Sequence*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]*) – truth table for g, length 2\*\*n list of \{1,-1}.
**Raises**
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx
index 022708da62c..00c621185f9 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GraphState
# GraphState
-
+
Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
Circuit to prepare a graph state.
@@ -39,6 +39,10 @@ $$
Create graph state preparation circuit.
+
+ The class `qiskit.circuit.library.graph_state.GraphState` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.GraphStateGate instead.
+
+
**Parameters**
**adjacency\_matrix** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – input graph as n-by-n list of 0-1 lists
@@ -107,7 +111,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GraphStateGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GraphStateGate.mdx
new file mode 100644
index 00000000000..0689e876bdf
--- /dev/null
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.GraphStateGate.mdx
@@ -0,0 +1,188 @@
+---
+title: GraphStateGate
+description: API reference for qiskit.circuit.library.GraphStateGate
+in_page_toc_min_heading_level: 1
+python_api_type: class
+python_api_name: qiskit.circuit.library.GraphStateGate
+---
+
+# GraphStateGate
+
+
+ Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate")
+
+ A gate representing a graph state.
+
+ Given a graph G = (V, E), with the set of vertices V and the set of edges E, the corresponding graph state is defined as
+
+$$
+|G\rangle = \prod_{(a,b) \in E} CZ_{(a,b)} {|+\rangle}^{\otimes V}
+$$
+
+ Such a state can be prepared by first preparing all qubits in the $+$ state, then applying a $CZ$ gate for each corresponding graph edge.
+
+ Graph state preparation circuits are Clifford circuits, and thus easy to simulate classically. However, by adding a layer of measurements in a product basis at the end, there is evidence that the circuit becomes hard to simulate \[2].
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit import QuantumCircuit
+ from qiskit.circuit.library import GraphStateGate
+ import rustworkx as rx
+
+ G = rx.generators.cycle_graph(5)
+ circuit = QuantumCircuit(5)
+ circuit.append(GraphStateGate(rx.adjacency_matrix(G)), [0, 1, 2, 3, 4])
+ circuit.decompose().draw('mpl')
+ ```
+
+ ![../\_images/qiskit-circuit-library-GraphStateGate-1.png](/images/api/qiskit/dev/qiskit-circuit-library-GraphStateGate-1.png)
+
+ **References:**
+
+ **\[1] M. Hein, J. Eisert, H.J. Briegel, Multi-party Entanglement in Graph States,**
+
+ [arXiv:0307130](https://arxiv.org/pdf/quant-ph/0307130.pdf)
+
+ **\[2] D. Koh, Further Extensions of Clifford Circuits & their Classical Simulation Complexities.**
+
+ [arXiv:1512.07892](https://arxiv.org/pdf/1512.07892.pdf)
+
+ **Parameters**
+
+ **adjacency\_matrix** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – input graph as n-by-n list of 0-1 lists
+
+ **Raises**
+
+ [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If adjacency\_matrix is not symmetric.
+
+ The gate represents a graph state with the given adjacency matrix.
+
+ ## Attributes
+
+ ### adjacency\_matrix
+
+
+ Returns the adjacency matrix.
+
+
+ ### base\_class
+
+
+ Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`.
+
+ The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioral perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.library.GraphStateGate.base_class "qiskit.circuit.library.GraphStateGate.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrized gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrized gate.
+
+ This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example:
+
+ ```python
+ >>> isinstance(XGate(), XGate)
+ True
+ >>> type(XGate()) is XGate
+ False
+ >>> XGate().base_class is XGate
+ True
+ ```
+
+ In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that `Instruction.name` should be a more suitable discriminator in most situations.
+
+
+ ### condition
+
+
+ The classical condition on the instruction.
+
+
+ The property `qiskit.circuit.instruction.Instruction.condition` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0.
+
+
+
+ ### condition\_bits
+
+
+ Get Clbits in condition.
+
+
+ The property `qiskit.circuit.instruction.Instruction.condition_bits` is deprecated as of qiskit 1.3.0. It will be removed in 2.0.0.
+
+
+
+ ### decompositions
+
+
+ Get the decompositions of the instruction from the SessionEquivalenceLibrary.
+
+
+ ### definition
+
+
+ Return definition in terms of other basic gates.
+
+
+ ### duration
+
+
+ Get the duration.
+
+
+ The property `qiskit.circuit.instruction.Instruction.duration` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0.
+
+
+
+ ### label
+
+
+ Return instruction label
+
+
+ ### mutable
+
+
+ Is this instance is a mutable unique instance or not.
+
+ If this attribute is `False` the gate instance is a shared singleton and is not mutable.
+
+
+ ### name
+
+
+ Return the name.
+
+
+ ### num\_clbits
+
+
+ Return the number of clbits.
+
+
+ ### num\_qubits
+
+
+ Return the number of qubits.
+
+
+ ### params
+
+
+ The parameters of this `Instruction`. Ideally these will be gate angles.
+
+
+ ### unit
+
+
+ Get the time unit of duration.
+
+
+ The property `qiskit.circuit.instruction.Instruction.unit` is deprecated as of qiskit 1.3.0. It will be removed in Qiskit 2.0.0.
+
+
+
+ ## Methods
+
+ ### validate\_parameter
+
+
+ Parameter validation
+
+
+
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx
index edcc5ac6800..1a7795ff7d1 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx
@@ -218,7 +218,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx
index 57c048ab74c..f3fa0e837f7 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx
@@ -119,7 +119,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx
index 9fd4d39501f..304002697de 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HiddenLinearFunction
# HiddenLinearFunction
-
+
Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
Circuit to solve the hidden linear function problem.
@@ -43,9 +43,13 @@ $$
Create new HLF circuit.
+
+ The class `qiskit.circuit.library.hidden_linear_function.HiddenLinearFunction` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.hidden\_linear\_function instead.
+
+
**Parameters**
- **adjacency\_matrix** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.13)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*]] |* [*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.1)")) – a symmetric n-by-n list of 0-1 lists. n will be the number of qubits.
+ **adjacency\_matrix** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – a symmetric n-by-n list of 0-1 lists. n will be the number of qubits.
**Raises**
@@ -109,7 +113,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx
index 3f47916c699..06a32e59a95 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx
@@ -101,7 +101,7 @@ python_api_name: qiskit.circuit.library.IQP
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx
index bdca917b55d..815aadad48d 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx
@@ -112,7 +112,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx
index 6ecae27da17..8e03118e37c 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx
@@ -98,7 +98,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx
index aeb4b9b3752..0889c396bac 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx
@@ -123,7 +123,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx
index a269616435f..9dd38f0f880 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx
@@ -114,7 +114,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx
index c5a206c8f99..869caafbf81 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx
@@ -105,7 +105,7 @@ python_api_name: qiskit.circuit.library.MCMT
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx
index 9779adc955b..5a9be6a95e4 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx
@@ -116,7 +116,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx
index a6a95e07161..a9825b5656f 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx
@@ -164,7 +164,7 @@ python_api_name: qiskit.circuit.library.NLocal
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx
index 52689ec1264..5e24a910b09 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx
@@ -93,7 +93,7 @@ python_api_name: qiskit.circuit.library.OR
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx
index 8084f70fea1..a6da4a99db3 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliEvolutionGate
# PauliEvolutionGate
-
+
Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate")
Time-evolution of an operator consisting of Paulis.
@@ -65,9 +65,9 @@ $$
**Parameters**
* **operator** ([*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") *|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")) – The operator to evolve. Can also be provided as list of non-commuting operators where the elements are sums of commuting operators. For example: `[XY + YX, ZZ + ZI + IZ, YY]`.
- * **time** (*Union\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")*,* [*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")*]*) – The evolution time.
- * **label** (*Optional\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")*]*) – A label for the gate to display in visualizations. Per default, the label is set to `exp(-it )` where `` is the sum of the Paulis. Note that the label does not include any coefficients of the Paulis. See the class docstring for an example.
- * **synthesis** (*Optional\[*[*EvolutionSynthesis*](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.EvolutionSynthesis")*]*) – A synthesis strategy. If None, the default synthesis is the Lie-Trotter product formula with a single repetition.
+ * **time** (*ParameterValueType*) – The evolution time.
+ * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) – A label for the gate to display in visualizations. Per default, the label is set to `exp(-it )` where `` is the sum of the Paulis. Note that the label does not include any coefficients of the Paulis. See the class docstring for an example.
+ * **synthesis** ([*EvolutionSynthesis*](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.EvolutionSynthesis") *| None*) – A synthesis strategy. If None, the default synthesis is the Lie-Trotter product formula with a single repetition.
## Attributes
@@ -196,12 +196,12 @@ $$
### validate\_parameter
-
+
Gate parameters should be int, float, or ParameterExpression
**Return type**
- [float](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") | [*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")
+ [*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") | [float](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx
index f562a7d9caf..31112dbf287 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliFeatureMap
# PauliFeatureMap
-
+
Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal")
The Pauli Expansion circuit.
@@ -237,7 +237,7 @@ $$
### instances
-
+
### layout
@@ -525,7 +525,7 @@ $$
### get\_entangler\_map
-
+
Get the entangler map for in the repetition `rep_num` and the block `block_num`.
The entangler map for the current block is derived from the value of `self.entanglement`. Below the different cases are listed, where `i` and `j` denote the repetition number and the block number, respectively, and `n` the number of qubits in the block.
@@ -572,7 +572,7 @@ $$
### pauli\_evolution
-
+
Get the evolution block for the given pauli string.
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx
index 404f4036030..ff8bfc9fde4 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx
@@ -162,7 +162,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx
index d4d27e1ffdf..c7002b8215e 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx
@@ -91,7 +91,7 @@ python_api_name: qiskit.circuit.library.Permutation
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx
index 53f7ec902c1..3a3cd6d01b7 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseEstimation
# PhaseEstimation
-
+
Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
Phase Estimation circuit.
@@ -35,11 +35,15 @@ $$
[textbook](https://github.com/Qiskit/textbook/blob/main/notebooks/ch-algorithms/quantum-phase-estimation.ipynb)
+
+ The class `qiskit.circuit.library.phase_estimation.PhaseEstimation` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.phase\_estimation instead.
+
+
**Parameters**
* **num\_evaluation\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The number of evaluation qubits.
- * **unitary** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The unitary operation $U$ which will be repeated and controlled.
- * **iqft** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") *| None*) – A inverse Quantum Fourier Transform, per default the inverse of [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT") is used. Note that the QFT should not include the usual swaps!
+ * **unitary** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The unitary operation $U$ which will be repeated and controlled.
+ * **iqft** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| None*) – A inverse Quantum Fourier Transform, per default the inverse of [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT") is used. Note that the QFT should not include the usual swaps!
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the circuit.
@@ -108,7 +112,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx
index 9ffbde02921..3e07149cae2 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx
@@ -85,7 +85,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx
index c3836d52f98..4ab153d7f56 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx
@@ -140,7 +140,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx
index 2d4b7ca38e4..d47a90995fd 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx
@@ -123,7 +123,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx
index 041b849a048..908e797d82a 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx
@@ -181,7 +181,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx
index 12e08aad1a8..985ac7df4c8 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx
@@ -141,7 +141,7 @@ $$
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx
index 39ec39ef3c3..81ca9763e68 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx
@@ -156,7 +156,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz
### instances
-
+
### layout
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx
index 4394d4387cb..a4142dc3040 100644
--- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap
# UnitaryOverlap
-
+
Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$.
@@ -30,13 +30,13 @@ $$
from qiskit.circuit.library import EfficientSU2, UnitaryOverlap
from qiskit.primitives import Sampler
- # get two circuit to prepare states of which we comput the overlap
+ # get two circuit to prepare states of which we compute the overlap
circuit = EfficientSU2(2, reps=1)
unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
# create the overlap circuit
- overlap = UnitaryOverap(unitary1, unitary2)
+ overlap = UnitaryOverlap(unitary1, unitary2)
# sample from the overlap
sampler = Sampler(options={"shots": 100})
@@ -46,6 +46,10 @@ $$
fidelity = result.quasi_dists[0].get(0, 0)
```
+
+ The class `qiskit.circuit.library.overlap.UnitaryOverlap` is pending deprecation as of qiskit 1.3. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Use qiskit.circuit.library.unitary\_overlap instead.
+
+
**Parameters**
* **unitary1** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – Unitary acting on the ket vector.
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.fourier_checking.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.fourier_checking.mdx
new file mode 100644
index 00000000000..4e0040b1890
--- /dev/null
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.fourier_checking.mdx
@@ -0,0 +1,46 @@
+---
+title: fourier_checking
+description: API reference for qiskit.circuit.library.fourier_checking
+in_page_toc_min_heading_level: 1
+python_api_type: class
+python_api_name: qiskit.circuit.library.fourier_checking
+---
+
+
+
+# fourier\_checking
+
+
+ Bases:
+
+ Fourier checking circuit.
+
+ The circuit for the Fourier checking algorithm, introduced in \[1], involves a layer of Hadamards, the function $f$, another layer of Hadamards, the function $g$, followed by a final layer of Hadamards. The functions $f$ and $g$ are classical functions realized as phase oracles (diagonal operators with \{-1, 1} on the diagonal).
+
+ The probability of observing the all-zeros string is $p(f,g)$. The algorithm solves the promise Fourier checking problem, which decides if f is correlated with the Fourier transform of g, by testing if $p(f,g) <= 0.01$ or $p(f,g) >= 0.05$, promised that one or the other of these is true.
+
+ The functions $f$ and $g$ are currently implemented from their truth tables but could be represented concisely and implemented efficiently for special classes of functions.
+
+ Fourier checking is a special case of $k$-fold forrelation \[2].
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit.library import fourier_checking
+ circuit = fourier_checking([1, -1, -1, -1], [1, 1, -1, -1])
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/qiskit-circuit-library-fourier\_checking-1.png](/images/api/qiskit/dev/qiskit-circuit-library-fourier_checking-1.png)
+
+ **Reference:**
+
+ \[1] S. Aaronson, BQP and the Polynomial Hierarchy, 2009 (Section 3.2). [arXiv:0910.4698](https://arxiv.org/abs/0910.4698)
+
+ \[2] S. Aaronson, A. Ambainis, Forrelation: a problem that optimally separates quantum from classical computing, 2014. [arXiv:1411.5729](https://arxiv.org/abs/1411.5729)
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.hidden_linear_function.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.hidden_linear_function.mdx
new file mode 100644
index 00000000000..4a347b2845a
--- /dev/null
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.hidden_linear_function.mdx
@@ -0,0 +1,65 @@
+---
+title: hidden_linear_function
+description: API reference for qiskit.circuit.library.hidden_linear_function
+in_page_toc_min_heading_level: 1
+python_api_type: class
+python_api_name: qiskit.circuit.library.hidden_linear_function
+---
+
+
+
+# hidden\_linear\_function
+
+
+ Bases:
+
+ Circuit to solve the hidden linear function problem.
+
+ The 2D Hidden Linear Function problem is determined by a 2D adjacency matrix A, where only elements that are nearest-neighbor on a grid have non-zero entries. Each row/column corresponds to one binary variable $x_i$.
+
+ The hidden linear function problem is as follows:
+
+ Consider the quadratic form
+
+$$
+q(x) = \sum_{i,j=1}^{n}{x_i x_j} ~(\mathrm{mod}~ 4)
+$$
+
+ and restrict $q(x)$ onto the nullspace of A. This results in a linear function.
+
+$$
+2 \sum_{i=1}^{n}{z_i x_i} ~(\mathrm{mod}~ 4) \forall x \in \mathrm{Ker}(A)
+$$
+
+ and the goal is to recover this linear function (equivalently a vector $[z_0, ..., z_{n-1}]$). There can be multiple solutions.
+
+ In \[1] it is shown that the present circuit solves this problem on a quantum computer in constant depth, whereas any corresponding solution on a classical computer would require circuits that grow logarithmically with $n$. Thus this circuit is an example of quantum advantage with shallow circuits.
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit.library import hidden_linear_function
+ A = [[1, 1, 0], [1, 0, 1], [0, 1, 1]]
+ circuit = hidden_linear_function(A)
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/qiskit-circuit-library-hidden\_linear\_function-1.png](/images/api/qiskit/dev/qiskit-circuit-library-hidden_linear_function-1.png)
+
+ **Parameters**
+
+ **adjacency\_matrix** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)") *| np.ndarray*) – a symmetric n-by-n list of 0-1 lists. n will be the number of qubits.
+
+ **Raises**
+
+ [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If A is not symmetric.
+
+ **Return type**
+
+ [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
+
+ **Reference:**
+
+ \[1] S. Bravyi, D. Gosset, R. Koenig, Quantum Advantage with Shallow Circuits, 2017. [arXiv:1704.00690](https://arxiv.org/abs/1704.00690)
+
+
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.phase_estimation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.phase_estimation.mdx
new file mode 100644
index 00000000000..9b62c6709e0
--- /dev/null
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.phase_estimation.mdx
@@ -0,0 +1,64 @@
+---
+title: phase_estimation
+description: API reference for qiskit.circuit.library.phase_estimation
+in_page_toc_min_heading_level: 1
+python_api_type: class
+python_api_name: qiskit.circuit.library.phase_estimation
+---
+
+
+
+# phase\_estimation
+
+
+ Bases:
+
+ Phase Estimation circuit.
+
+ In the Quantum Phase Estimation (QPE) algorithm \[1, 2, 3], the Phase Estimation circuit is used to estimate the phase $\phi$ of an eigenvalue $e^{2\pi i\phi}$ of a unitary operator $U$, provided with the corresponding eigenstate $|\psi\rangle$. That is
+
+$$
+U|\psi\rangle = e^{2\pi i\phi} |\psi\rangle
+$$
+
+ This estimation (and thereby this circuit) is a central routine to several well-known algorithms, such as Shor’s algorithm or Quantum Amplitude Estimation.
+
+ **Parameters**
+
+ * **num\_evaluation\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The number of evaluation qubits.
+ * **unitary** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – The unitary operation $U$ which will be repeated and controlled.
+ * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the circuit.
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+ **Reference Circuit:**
+
+ ```python
+ from qiskit.circuit import QuantumCircuit
+ from qiskit.circuit.library import phase_estimation
+ unitary = QuantumCircuit(2)
+ unitary.x(0)
+ unitary.y(1)
+ circuit = phase_estimation(3, unitary)
+ circuit.draw('mpl')
+ ```
+
+ ![../\_images/qiskit-circuit-library-phase\_estimation-1.png](/images/api/qiskit/dev/qiskit-circuit-library-phase_estimation-1.png)
+
+ **References:**
+
+ **\[1]: Kitaev, A. Y. (1995). Quantum measurements and the Abelian Stabilizer Problem. 1–22.**
+
+ [quant-ph/9511026](http://arxiv.org/abs/quant-ph/9511026)
+
+ **\[2]: Michael A. Nielsen and Isaac L. Chuang. 2011.**
+
+ Quantum Computation and Quantum Information: 10th Anniversary Edition (10th ed.). Cambridge University Press, New York, NY, USA.
+
+ **\[3]: Qiskit**
+
+ [textbook](https://github.com/Qiskit/textbook/blob/main/notebooks/ch-algorithms/quantum-phase-estimation.ipynb)
+
+
diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.unitary_overlap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.unitary_overlap.mdx
new file mode 100644
index 00000000000..6c4046613ab
--- /dev/null
+++ b/docs/api/qiskit/dev/qiskit.circuit.library.unitary_overlap.mdx
@@ -0,0 +1,63 @@
+---
+title: unitary_overlap
+description: API reference for qiskit.circuit.library.unitary_overlap
+in_page_toc_min_heading_level: 1
+python_api_type: class
+python_api_name: qiskit.circuit.library.unitary_overlap
+---
+
+
+
+# unitary\_overlap
+
+
+ Bases:
+
+ Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$.
+
+ The input quantum circuits must represent unitary operations, since they must be invertible. If the inputs will have parameters, they are replaced by [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")s with names “p1” (for circuit `unitary1`) and “p2” (for circuit `unitary_2`) in the output circuit.
+
+ This circuit is usually employed in computing the fidelity:
+
+$$
+\left|\langle 0| U_2^{\dag} U_1|0\rangle\right|^{2}
+$$
+
+ by computing the probability of being in the all-zeros bit-string, or equivalently, the expectation value of projector $|0\rangle\langle 0|$.
+
+ **Reference Circuit:**
+
+ ```python
+ import numpy as np
+ from qiskit.circuit.library import EfficientSU2, unitary_overlap
+
+ # get two circuit to prepare states of which we compute the overlap
+ circuit = EfficientSU2(2, reps=1)
+ unitary1 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
+ unitary2 = circuit.assign_parameters(np.random.random(circuit.num_parameters))
+
+ # create the overlap circuit
+ overlap = unitary_overlap(unitary1, unitary2)
+ overlap.draw('mpl')
+ ```
+
+ ![../\_images/qiskit-circuit-library-unitary\_overlap-1.png](/images/api/qiskit/dev/qiskit-circuit-library-unitary_overlap-1.png)
+
+ **Parameters**
+
+ * **unitary1** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – Unitary acting on the ket vector.
+ * **unitary2** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")) – Unitary whose inverse operates on the bra vector.
+ * **prefix1** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the parameter vector associated to `unitary1`, if it is parameterized. Defaults to `"p1"`.
+ * **prefix2** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – The name of the parameter vector associated to `unitary2`, if it is parameterized. Defaults to `"p2"`.
+ * **insert\_barrier** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether to insert a barrier between the two unitaries.
+
+ **Raises**
+
+ * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – Number of qubits in `unitary1` and `unitary2` does not match.
+ * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – Inputs contain measurements and/or resets.
+
+ **Return type**
+
+ [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")
+
+
diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx
index fc935067d60..d547fca973f 100644
--- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx
+++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx
@@ -164,6 +164,8 @@ python_api_name: qiskit.dagcircuit.DAGCircuit
**Raises**
[**Exception**](https://docs.python.org/3/library/exceptions.html#Exception "(in Python v3.13)") – if the gate is of type string and params is None.
+
+ DEPRECATED since Qiskit 1.3.0 and will be removed in Qiskit 2.0.0
### add\_captured\_var
diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx
index 68961aa6db9..a88d37b4c46 100644
--- a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx
+++ b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp
# SparsePauliOp
-
+
Bases: `LinearOp`
Sparse N-qubit operator in a Pauli basis representation.
@@ -133,7 +133,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp
### apply\_layout
-
+
Apply a transpiler layout to this [`SparsePauliOp`](#qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")
**Parameters**
@@ -220,7 +220,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp
### assign\_parameters
-
+
Bind the free `Parameter`s in the coefficients to provided values.
**Parameters**
@@ -480,7 +480,7 @@ $$
### group\_commuting
-
+
Partition a SparsePauliOp into sets of commuting Pauli strings.
**Parameters**
@@ -539,7 +539,7 @@ $$
### label\_iter
-
+
Return a label representation iterator.
This is a lazy iterator that converts each term in the SparsePauliOp into a tuple (label, coeff). To convert the entire table to labels use the `to_labels()` method.
@@ -555,7 +555,7 @@ $$
### matrix\_iter
-
+
Return a matrix representation iterator.
This is a lazy iterator that converts each term in the SparsePauliOp into a matrix as it is used. To convert to a single matrix use the [`to_matrix()`](#qiskit.quantum_info.SparsePauliOp.to_matrix "qiskit.quantum_info.SparsePauliOp.to_matrix") method.
@@ -575,7 +575,7 @@ $$
### noncommutation\_graph
-
+
Create the non-commutation graph of this SparsePauliOp.
This transforms the measurement operator grouping problem into graph coloring problem. The constructed graph contains one node for each Pauli. The nodes will be connecting for any two Pauli terms that do \_not\_ commute.
@@ -809,7 +809,7 @@ $$
### to\_matrix
-
+
Convert to a dense or sparse matrix.
**Parameters**
@@ -828,7 +828,7 @@ $$
### to\_operator
-
+
Convert to a matrix Operator object
**Return type**
@@ -836,6 +836,12 @@ $$
[*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.operators.operator.Operator")
+ ### to\_sparse\_list
+
+
+ Convert to a sparse Pauli list format with elements (pauli, qubits, coefficient).
+
+
### transpose
diff --git a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx
index 0feded3568e..8c8d5d35fc5 100644
--- a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx
+++ b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx
@@ -8,8 +8,8 @@ python_api_name: qiskit.synthesis.LieTrotter
# LieTrotter
-
- Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula")
+
+ Bases: [`SuzukiTrotter`](qiskit.synthesis.SuzukiTrotter "qiskit.synthesis.evolution.suzuki_trotter.SuzukiTrotter")
The Lie-Trotter product formula.
@@ -22,17 +22,13 @@ $$
In this implementation, the operators are provided as sum terms of a Pauli operator. For example, we approximate
$$
-e^{-it(XX + ZZ)} = e^{-it XX}e^{-it ZZ} + \mathcal{O}(t^2).
+e^{-it(XI + ZZ)} = e^{-it XI}e^{-it ZZ} + \mathcal{O}(t^2).
$$
**References**
\[1]: D. Berry, G. Ahokas, R. Cleve and B. Sanders, “Efficient quantum algorithms for simulating sparse Hamiltonians” (2006). [arXiv:quant-ph/0508139](https://arxiv.org/abs/quant-ph/0508139) \[2]: N. Hatano and M. Suzuki, “Finding Exponential Product Formulas of Higher Orders” (2005). [arXiv:math-ph/0506007](https://arxiv.org/pdf/math-ph/0506007.pdf)
-
- The ‘Callable\[\[Pauli | SparsePauliOp, float], QuantumCircuit]’ signature of the ‘atomic\_evolution’ argument is pending deprecation as of qiskit 1.2. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead you should update your ‘atomic\_evolution’ function to be of the following type: ‘Callable\[\[QuantumCircuit, Pauli | SparsePauliOp, float], None]’.
-
-
**Parameters**
* **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")) – The number of time steps.
@@ -59,10 +55,38 @@ $$
## Methods
+ ### expand
+
+
+ Expand the Hamiltonian into a Suzuki-Trotter sequence of sparse gates.
+
+ For example, the Hamiltonian `H = IX + ZZ` for an evolution time `t` and 1 repetition for an order 2 formula would get decomposed into a list of 3-tuples containing `(pauli, indices, rz_rotation_angle)`, that is:
+
+ ```text
+ ("X", [0], t), ("ZZ", [0, 1], 2t), ("X", [0], 2)
+ ```
+
+ Note that the rotation angle contains a factor of 2, such that that evolution of a Pauli $P$ over time $t$, which is $e^{itP}$, is represented by `(P, indices, 2 * t)`.
+
+ For `N` repetitions, this sequence would be repeated `N` times and the coefficients divided by `N`.
+
+ **Parameters**
+
+ **evolution** ([*PauliEvolutionGate*](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")) – The evolution gate to expand.
+
+ **Returns**
+
+ The Pauli network implementing the Trotter expansion.
+
+ **Return type**
+
+ [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)"), [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")], ParameterValueType]]
+
+
### synthesize
-
- Synthesize an `qiskit.circuit.library.PauliEvolutionGate`.
+
+ Synthesize a [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate").
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx
index 4ded7f0f34c..8762d2d53a3 100644
--- a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx
+++ b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.ProductFormula
# ProductFormula
-
+
Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis")
Product formula base class for the decomposition of non-commuting operator exponentials.
@@ -26,7 +26,7 @@ python_api_name: qiskit.synthesis.ProductFormula
* **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether to insert barriers between the atomic evolutions.
* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)")) – How to arrange the CX gates for the Pauli evolutions, can be `"chain"`, where next neighbor connections are used, or `"fountain"`, where all qubits are connected to one. This only takes effect when `atomic_evolution is None`.
* **atomic\_evolution** (*Callable\[\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | Callable\[\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*,* [*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")*], None] | None*) – A function to apply the evolution of a single [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli"), or [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") of only commuting terms, to a circuit. The function takes in three arguments: the circuit to append the evolution to, the Pauli operator to evolve, and the evolution time. By default, a single Pauli evolution is decomposed into a chain of `CX` gates and a single `RZ` gate. Alternatively, the function can also take Pauli operator and evolution time as inputs and returns the circuit that will be appended to the overall circuit being built.
- * **wrap** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether to wrap the atomic evolutions into custom gate objects. This only takes effect when `atomic_evolution is None`.
+ * **wrap** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)")) – Whether to wrap the atomic evolutions into custom gate objects. Note that setting this to `True` is slower than `False`. This only takes effect when `atomic_evolution is None`.
## Attributes
@@ -46,10 +46,28 @@ python_api_name: qiskit.synthesis.ProductFormula
## Methods
+ ### expand
+
+
+ Apply the product formula to expand the Hamiltonian in the evolution gate.
+
+ **Parameters**
+
+ **evolution** ([*PauliEvolutionGate*](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")) – The [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate"), whose Hamiltonian we expand.
+
+ **Returns**
+
+ A list of Pauli rotations in a sparse format, where each element is `(paulistring, qubits, coefficient)`. For example, the Lie-Trotter expansion of `H = XI + ZZ` would return `[("X", [1], 1), ("ZZ", [0, 1], 1)]`.
+
+ **Return type**
+
+ [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)"), [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")], ParameterValueType]]
+
+
### synthesize
-
- Synthesize an `qiskit.circuit.library.PauliEvolutionGate`.
+
+ Synthesize a [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate").
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx
index f7b81a433b1..665edae2207 100644
--- a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx
+++ b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.QDrift
# QDrift
-
+
Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula")
The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. Based on the work of Earl Campbell in Ref. \[1].
@@ -48,10 +48,28 @@ python_api_name: qiskit.synthesis.QDrift
## Methods
+ ### expand
+
+
+ Apply the product formula to expand the Hamiltonian in the evolution gate.
+
+ **Parameters**
+
+ **evolution** ([*PauliEvolutionGate*](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")) – The [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate"), whose Hamiltonian we expand.
+
+ **Returns**
+
+ A list of Pauli rotations in a sparse format, where each element is `(paulistring, qubits, coefficient)`. For example, the Lie-Trotter expansion of `H = XI + ZZ` would return `[("X", [1], 1), ("ZZ", [0, 1], 1)]`.
+
+ **Return type**
+
+ [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)"), [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")], [float](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)")]]
+
+
### synthesize
-
- Synthesize an `qiskit.circuit.library.PauliEvolutionGate`.
+
+ Synthesize a [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate").
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx
index a689cea2752..ff43941e6b3 100644
--- a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx
+++ b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.SuzukiTrotter
# SuzukiTrotter
-
+
Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula")
The (higher order) Suzuki-Trotter product formula.
@@ -24,7 +24,7 @@ $$
In this implementation, the operators are provided as sum terms of a Pauli operator. For example, in the second order Suzuki-Trotter decomposition we approximate
$$
-e^{-it(XX + ZZ)} = e^{-it/2 ZZ}e^{-it XX}e^{-it/2 ZZ} + \mathcal{O}(t^3).
+e^{-it(XI + ZZ)} = e^{-it/2 XI}e^{-it ZZ}e^{-it/2 XI} + \mathcal{O}(t^3).
$$
**References**
@@ -66,10 +66,38 @@ $$
## Methods
+ ### expand
+
+
+ Expand the Hamiltonian into a Suzuki-Trotter sequence of sparse gates.
+
+ For example, the Hamiltonian `H = IX + ZZ` for an evolution time `t` and 1 repetition for an order 2 formula would get decomposed into a list of 3-tuples containing `(pauli, indices, rz_rotation_angle)`, that is:
+
+ ```text
+ ("X", [0], t), ("ZZ", [0, 1], 2t), ("X", [0], 2)
+ ```
+
+ Note that the rotation angle contains a factor of 2, such that that evolution of a Pauli $P$ over time $t$, which is $e^{itP}$, is represented by `(P, indices, 2 * t)`.
+
+ For `N` repetitions, this sequence would be repeated `N` times and the coefficients divided by `N`.
+
+ **Parameters**
+
+ **evolution** ([*PauliEvolutionGate*](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate")) – The evolution gate to expand.
+
+ **Returns**
+
+ The Pauli network implementing the Trotter expansion.
+
+ **Return type**
+
+ [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.13)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)"), [list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.13)")\[[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)")], ParameterValueType]]
+
+
### synthesize
-
- Synthesize an `qiskit.circuit.library.PauliEvolutionGate`.
+
+ Synthesize a [`PauliEvolutionGate`](qiskit.circuit.library.PauliEvolutionGate "qiskit.circuit.library.PauliEvolutionGate").
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx b/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx
index f55c3d5b6aa..fd9b62ee71b 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx
@@ -8,13 +8,17 @@ python_api_name: qiskit.transpiler.PassManagerConfig
# PassManagerConfig
-
+
Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.13)")
Pass Manager Configuration.
Initialize a PassManagerConfig object
+
+ `qiskit.transpiler.passmanager_config.PassManagerConfig.__init__()`’s argument `inst_map` is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package.
+
+
**Parameters**
* **initial\_layout** ([*Layout*](qiskit.transpiler.Layout "qiskit.transpiler.Layout")) – Initial position of virtual qubits on physical qubits.
@@ -41,7 +45,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig
### from\_backend
-
+
Construct a configuration based on a backend and user input.
This method automatically generates a PassManagerConfig object based on the backend’s features. User options can be used to overwrite the configuration.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx
index 618171dc00a..6955eaddbba 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx
@@ -8,12 +8,12 @@ python_api_name: qiskit.transpiler.passes.GateDirection
# GateDirection
-
+
Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass")
Modify asymmetric gates to match the hardware coupling direction.
- This pass makes use of the following identities:
+ This pass supports replacements for the cx, cz, ecr, swap, rzx, rxx, ryy and rzz gates, using the following identities:
```python
┌───┐┌───┐┌───┐
@@ -29,6 +29,9 @@ python_api_name: qiskit.transpiler.passes.GateDirection
│ ECR │ = ┌┴───┴┐├────┤└┬───┬┘│ Ecr │├───┤
q_1: ┤1 ├ q_1: ┤ Sdg ├┤ √X ├─┤ S ├─┤0 ├┤ H ├
└──────┘ └─────┘└────┘ └───┘ └──────┘└───┘
+ Note: This is done in terms of less-efficient S/SX/Sdg gates instead of the more natural
+ `RY(pi /2)` so we have a chance for basis translation to keep things in a discrete basis
+ during resynthesis, if that's what's being asked for.
┌──────┐ ┌───┐┌──────┐┌───┐
@@ -36,6 +39,8 @@ python_api_name: qiskit.transpiler.passes.GateDirection
│ RZX │ = ├───┤│ RZX │├───┤
q_1: ┤1 ├ q_1: ┤ H ├┤0 ├┤ H ├
└──────┘ └───┘└──────┘└───┘
+
+ cz, swap, rxx, ryy and rzz directions are fixed by reversing their qargs order.
```
This pass assumes that the positions of the qubits in the [`DAGCircuit.qubits`](qiskit.dagcircuit.DAGCircuit#qubits "qiskit.dagcircuit.DAGCircuit.qubits") attribute are the physical qubit indices. For example if `dag.qubits[0]` is qubit 0 in the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") or [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target").
@@ -44,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection
**Parameters**
- * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")) – Directed graph represented a coupling map.
+ * **coupling\_map** ([*CouplingMap*](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")) – Directed graph representing a coupling map.
* **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The backend target to use for this pass. If this is specified it will be used instead of the coupling map
## Attributes
@@ -99,7 +104,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection
### run
-
+
Run the GateDirection pass on dag.
Flips the cx nodes to match the directed coupling map. Modifies the input dag.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation.mdx
index f41bfe97863..035c574ad8f 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPerm
# ACGSynthesisPermutation
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The permutation synthesis plugin based on the Alon, Chung, Graham method.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPerm
### run
-
+
Run synthesis for the given Permutation.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisClifford.mdx
index 3c4ea1028b5..7bab79d6bfd 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisCliff
# AGSynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Clifford synthesis plugin based on the Aaronson-Gottesman method.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.AGSynthesisCliff
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisClifford.mdx
index 6f56aaec2e8..de569acb6f3 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisCliff
# BMSynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Clifford synthesis plugin based on the Bravyi-Maslov method.
@@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.BMSynthesisCliff
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPermutation.mdx
index 5187089fa4a..9a317185eda 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPermutation.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPermutation.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPe
# BasicSynthesisPermutation
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The permutation synthesis plugin based on sorting.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.BasicSynthesisPe
### run
-
+
Run synthesis for the given Permutation.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisClifford.mdx
index 6090f014eb3..e3fd9e2444f 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesis
# DefaultSynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The default clifford synthesis plugin.
@@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesis
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction.mdx
index 83dea3ce870..5adfe068ef0 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesis
# DefaultSynthesisLinearFunction
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The default linear function synthesis plugin.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesis
### run
-
+
Run synthesis for the given LinearFunction.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisClifford.mdx
index 3055133f196..99c84936383 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisC
# GreedySynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Clifford synthesis plugin based on the greedy synthesis Bravyi-Hu-Maslov-Shaydulin method.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.GreedySynthesisC
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction.mdx
index ddc19062f75..dbef235d34b 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLine
# KMSSynthesisLinearFunction
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Linear function synthesis plugin based on the Kutin-Moulton-Smithline method.
@@ -29,7 +29,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLine
### run
-
+
Run synthesis for the given LinearFunction.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPermutation.mdx
index ebdb492da8f..b5af2d12bbc 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPermutation.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPermutation.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPerm
# KMSSynthesisPermutation
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The permutation synthesis plugin based on the Kutin, Moulton, Smithline method.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisPerm
### run
-
+
Run synthesis for the given Permutation.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesisClifford.mdx
index 1790aa4fd97..fd589f569fb 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesi
# LayerLnnSynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers, with each layer synthesized adhering to LNN connectivity.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.LayerLnnSynthesi
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisClifford.mdx
index b2d1334d6da..09803583a4b 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisClifford.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisClifford.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisCl
# LayerSynthesisClifford
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.LayerSynthesisCl
### run
-
+
Run synthesis for the given Clifford.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDefault.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDefault.mdx
index 703f6fdcc0b..e4dcf64cb7e 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDefault.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDefault.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDef
# MCMTSynthesisDefault
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
A default decomposition for MCMT gates.
@@ -17,7 +17,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisDef
### run
-
+
Run synthesis for the given Operation.
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoAux.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoAux.mdx
index 55db1824b00..7b256574caf 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoAux.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoAux.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoA
# MCMTSynthesisNoAux
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
A V-chain based synthesis for `MCMTGate`.
@@ -17,7 +17,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisNoA
### run
-
+
Run synthesis for the given Operation.
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVChain.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVChain.mdx
index be17ecaa69a..2d0821fbc2b 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVChain.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVChain.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVCh
# MCMTSynthesisVChain
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
A V-chain based synthesis for `MCMTGate`.
@@ -17,7 +17,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCMTSynthesisVCh
### run
-
+
Run synthesis for the given Operation.
**Parameters**
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanB95.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanB95.mdx
index 0f102f7f428..bd5f8e1323e 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanB95.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1CleanB95.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1Cle
# MCXSynthesis1CleanB95
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for a multi-controlled X gate based on the paper by Barenco et al. (1995).
@@ -31,7 +31,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesis1Cle
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefault.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefault.mdx
index 481409f049b..0eafdc13493 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefault.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefault.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefa
# MCXSynthesisDefault
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The default synthesis plugin for a multi-controlled X gate.
@@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisDefa
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGrayCode.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGrayCode.mdx
index 896d9cb61d2..86ee1d9244b 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGrayCode.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGrayCode.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGray
# MCXSynthesisGrayCode
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for a multi-controlled X gate based on the Gray code.
@@ -23,7 +23,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisGray
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCleanM15.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCleanM15.mdx
index 38a9a143853..dfd73078b63 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCleanM15.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCleanM15.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCle
# MCXSynthesisNCleanM15
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for a multi-controlled X gate based on the paper by Maslov (2016).
@@ -31,7 +31,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNCle
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15.mdx
index 810a386d4a2..a896268cb1e 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDirtyI15.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDir
# MCXSynthesisNDirtyI15
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for a multi-controlled X gate based on the paper by Iten et al. (2016).
@@ -34,7 +34,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNDir
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAuxV24.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAuxV24.mdx
index 559a4c16a22..ecb7f1f975c 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAuxV24.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAuxV24.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAu
# MCXSynthesisNoAuxV24
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for a multi-controlled X gate based on the implementation for MCPhaseGate, which is in turn based on the paper by Vale et al. (2024).
@@ -27,7 +27,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.MCXSynthesisNoAu
### run
-
+
Run synthesis for the given MCX gate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction.mdx
index 3b90512ac08..b6934062ced 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLine
# PMHSynthesisLinearFunction
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Linear function synthesis plugin based on the Patel-Markov-Hayes method.
@@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLine
### run
-
+
Run synthesis for the given LinearFunction.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull.mdx
index 9e8f5acc26d..e8bd168bf12 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
# QFTSynthesisFull
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for QFT gates using all-to-all connectivity.
@@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
### run
-
+
Run synthesis for the given QFTGate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine.mdx
index 7e07f755cc8..c6dba7ab888 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine
# QFTSynthesisLine
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Synthesis plugin for QFT gates using linear connectivity.
@@ -36,7 +36,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine
### run
-
+
Run synthesis for the given QFTGate.
diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation.mdx
index 39a9fc1465e..fe2527432d6 100644
--- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation.mdx
+++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation.mdx
@@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynt
# TokenSwapperSynthesisPermutation
-
+
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
The permutation synthesis plugin based on the token swapper algorithm.
@@ -33,7 +33,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynt
### run
-
+
Run synthesis for the given Permutation.
diff --git a/docs/api/qiskit/dev/transpiler_preset.mdx b/docs/api/qiskit/dev/transpiler_preset.mdx
index f8db6f4575a..058aca39758 100644
--- a/docs/api/qiskit/dev/transpiler_preset.mdx
+++ b/docs/api/qiskit/dev/transpiler_preset.mdx
@@ -24,7 +24,7 @@ This module contains functions for generating the preset pass managers for the t
### generate\_preset\_pass\_manager
-
+
Generate a preset [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager")
This function is used to quickly generate a preset pass manager. Preset pass managers are the default pass managers used by the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function. This function provides a convenient and simple method to construct a standalone [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that mirrors what the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function internally builds and uses.
diff --git a/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx b/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx
index ea475654339..794ab1e5dbb 100644
--- a/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx
+++ b/docs/api/qiskit/dev/transpiler_synthesis_plugins.mdx
@@ -276,6 +276,12 @@ creates a high-level synthesis configuration that uses the `kms` plugin for synt
| [`PMHSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction")() | Linear function synthesis plugin based on the Patel-Markov-Hayes method. |
| [`DefaultSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.hls_plugins.DefaultSynthesisLinearFunction")() | The default linear function synthesis plugin. |
+##### Pauli Evolution Synthesis
+
+| Plugin name | Plugin class | Description |
+| ----------- | -------------------------------- | ------------------------------------------- |
+| `"default"` | `PauliEvolutionSynthesisDefault` | use a diagonalizing Clifford per Pauli term |
+
##### Permutation Synthesis
| Plugin name | Plugin class | Targeted connectivity | Description |
diff --git a/public/api/qiskit/dev/objects.inv b/public/api/qiskit/dev/objects.inv
index bb5464f8c84..3cb867edf79 100644
Binary files a/public/api/qiskit/dev/objects.inv and b/public/api/qiskit/dev/objects.inv differ
diff --git a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png
index 7a723e31880..6917f5cbabd 100644
Binary files a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png and b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png differ
diff --git a/public/images/api/qiskit/dev/circuit-2.png b/public/images/api/qiskit/dev/circuit-2.png
index 01394fbdc71..82df06a6695 100644
Binary files a/public/images/api/qiskit/dev/circuit-2.png and b/public/images/api/qiskit/dev/circuit-2.png differ
diff --git a/public/images/api/qiskit/dev/circuit_library-4.png b/public/images/api/qiskit/dev/circuit_library-4.png
index 79f80609416..6461aedefe0 100644
Binary files a/public/images/api/qiskit/dev/circuit_library-4.png and b/public/images/api/qiskit/dev/circuit_library-4.png differ
diff --git a/public/images/api/qiskit/dev/circuit_library-5.png b/public/images/api/qiskit/dev/circuit_library-5.png
new file mode 100644
index 00000000000..e502994f1b5
Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-5.png differ
diff --git a/public/images/api/qiskit/dev/circuit_library-6.png b/public/images/api/qiskit/dev/circuit_library-6.png
new file mode 100644
index 00000000000..ba1269885c2
Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-6.png differ
diff --git a/public/images/api/qiskit/dev/circuit_library-7.png b/public/images/api/qiskit/dev/circuit_library-7.png
new file mode 100644
index 00000000000..b0d4436da67
Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-7.png differ
diff --git a/public/images/api/qiskit/dev/circuit_library-8.png b/public/images/api/qiskit/dev/circuit_library-8.png
new file mode 100644
index 00000000000..258f6847a8e
Binary files /dev/null and b/public/images/api/qiskit/dev/circuit_library-8.png differ
diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png
index 832a44d538e..f85e967014f 100644
Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png differ
diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png
index 51363bdb5a7..3aa7cc2ac0e 100644
Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png differ
diff --git a/public/images/api/qiskit/dev/pulse-2.png b/public/images/api/qiskit/dev/pulse-2.png
index 64af0ee194a..a093f92b00c 100644
Binary files a/public/images/api/qiskit/dev/pulse-2.png and b/public/images/api/qiskit/dev/pulse-2.png differ
diff --git a/public/images/api/qiskit/dev/pulse-3.png b/public/images/api/qiskit/dev/pulse-3.png
index ea753ffeddc..40cd26adbfc 100644
Binary files a/public/images/api/qiskit/dev/pulse-3.png and b/public/images/api/qiskit/dev/pulse-3.png differ
diff --git a/public/images/api/qiskit/dev/pulse-4.png b/public/images/api/qiskit/dev/pulse-4.png
index 0377259072e..01260c5d1f0 100644
Binary files a/public/images/api/qiskit/dev/pulse-4.png and b/public/images/api/qiskit/dev/pulse-4.png differ
diff --git a/public/images/api/qiskit/dev/pulse-5.png b/public/images/api/qiskit/dev/pulse-5.png
index d173e419ef4..a51f3afccc2 100644
Binary files a/public/images/api/qiskit/dev/pulse-5.png and b/public/images/api/qiskit/dev/pulse-5.png differ
diff --git a/public/images/api/qiskit/dev/pulse-6.png b/public/images/api/qiskit/dev/pulse-6.png
index 6753aafb9f7..1f0a2ca27a5 100644
Binary files a/public/images/api/qiskit/dev/pulse-6.png and b/public/images/api/qiskit/dev/pulse-6.png differ
diff --git a/public/images/api/qiskit/dev/pulse-7.png b/public/images/api/qiskit/dev/pulse-7.png
index 44474d02f3a..d9436462f45 100644
Binary files a/public/images/api/qiskit/dev/pulse-7.png and b/public/images/api/qiskit/dev/pulse-7.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png
index 68a2c71a22d..a647a02967a 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png
index e1e74ea939e..63c120a8934 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png
index 67a18c1661d..19fe68f750c 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-AndGate-2.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png
index b6c90e3b778..3113a59160f 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-BitwiseXorGate-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GraphStateGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GraphStateGate-1.png
new file mode 100644
index 00000000000..b51ca953e34
Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-GraphStateGate-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png
index 0fe402e3656..90460bce203 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProductGate-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png
index 3ce688c0ec6..0a421a8ef76 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png
index c784c92b98f..5b314aa06f3 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-OrGate-2.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png
index b1854cc6dd2..10d4e6c543a 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png
index 08870a6022c..a7c2d3a7f1b 100644
Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-fourier_checking-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-fourier_checking-1.png
new file mode 100644
index 00000000000..e502994f1b5
Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-fourier_checking-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-hidden_linear_function-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-hidden_linear_function-1.png
new file mode 100644
index 00000000000..ba1269885c2
Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-hidden_linear_function-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-phase_estimation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-phase_estimation-1.png
new file mode 100644
index 00000000000..8d191aa3379
Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-phase_estimation-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-unitary_overlap-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-unitary_overlap-1.png
new file mode 100644
index 00000000000..251fa66ea19
Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-circuit-library-unitary_overlap-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png
index 0b8c69ea6ab..9501473bac5 100644
Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png
index 8feaf38a0c4..c8eadd49ef5 100644
Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png
index 06a9df4e0ae..07eeb4f3351 100644
Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png
index 7645a85080f..88d7edd5124 100644
Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png differ
diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png
index af721cf11a8..b7c99f9dc03 100644
Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png differ
diff --git a/public/images/api/qiskit/dev/release_notes-3.png b/public/images/api/qiskit/dev/release_notes-3.png
index d1ae012d142..5ec4f763850 100644
Binary files a/public/images/api/qiskit/dev/release_notes-3.png and b/public/images/api/qiskit/dev/release_notes-3.png differ
diff --git a/public/images/api/qiskit/dev/transpiler-16.png b/public/images/api/qiskit/dev/transpiler-16.png
index 8df52bc314d..1e3c46254a6 100644
Binary files a/public/images/api/qiskit/dev/transpiler-16.png and b/public/images/api/qiskit/dev/transpiler-16.png differ
diff --git a/public/images/api/qiskit/dev/transpiler-17.png b/public/images/api/qiskit/dev/transpiler-17.png
index 68815f2cfe4..4762c0d69f6 100644
Binary files a/public/images/api/qiskit/dev/transpiler-17.png and b/public/images/api/qiskit/dev/transpiler-17.png differ
diff --git a/public/images/api/qiskit/dev/transpiler-5.png b/public/images/api/qiskit/dev/transpiler-5.png
index 625e8763e5b..e922bcbbbee 100644
Binary files a/public/images/api/qiskit/dev/transpiler-5.png and b/public/images/api/qiskit/dev/transpiler-5.png differ
diff --git a/scripts/config/api-html-artifacts.json b/scripts/config/api-html-artifacts.json
index 69238537345..17cca6773ce 100644
--- a/scripts/config/api-html-artifacts.json
+++ b/scripts/config/api-html-artifacts.json
@@ -1,6 +1,6 @@
{
"qiskit": {
- "dev": "https://api.github.com/repos/Qiskit/qiskit/actions/artifacts/2135017887/zip",
+ "dev": "https://api.github.com/repos/Qiskit/qiskit/actions/artifacts/2142373745/zip",
"1.2": "https://ibm.box.com/shared/static/nnao3s3gy1y5hyea506htupby9khrve1.zip",
"1.1": "https://ibm.box.com/shared/static/bplxij6mapevjapr8ij7rluiayls982k.zip",
"1.0": "https://ibm.box.com/shared/static/9mgo99x54z3rpo8irs23olqsov3uo1ly.zip",
@@ -29,7 +29,7 @@
"0.19": "https://ibm.box.com/shared/static/wjoea4x5tnxd0l4lgo2v3kxnx6btxvvl.zip"
},
"qiskit-ibm-runtime": {
- "dev": "https://api.github.com/repos/Qiskit/qiskit-ibm-runtime/actions/artifacts/2135652941/zip",
+ "dev": "https://api.github.com/repos/Qiskit/qiskit-ibm-runtime/actions/artifacts/2143984853/zip",
"0.32": "https://ibm.box.com/shared/static/enr0tnwaxzpvrypzjav4f1vjip3yfqcy.zip",
"0.31": "https://ibm.box.com/shared/static/z19dt14je6cz69oi4knraitjglzo29w7.zip",
"0.30": "https://ibm.box.com/shared/static/f950vkx3uq13o8g017bazpm4o9bcei2i.zip",
diff --git a/scripts/config/historical-pages-to-latest.json b/scripts/config/historical-pages-to-latest.json
index ea8c6631f77..7327eb96b31 100644
--- a/scripts/config/historical-pages-to-latest.json
+++ b/scripts/config/historical-pages-to-latest.json
@@ -18491,10 +18491,15 @@
"qiskit.circuit.CommutationChecker": "/",
"qiskit.circuit.library.AndGate": "/",
"qiskit.circuit.library.BitwiseXorGate": "/",
+ "qiskit.circuit.library.GraphStateGate": "/",
"qiskit.circuit.library.InnerProductGate": "/",
"qiskit.circuit.library.MCMTGate": "/",
"qiskit.circuit.library.OrGate": "/",
+ "qiskit.circuit.library.fourier_checking": "/",
+ "qiskit.circuit.library.hidden_linear_function": "/",
+ "qiskit.circuit.library.phase_estimation": "/",
"qiskit.circuit.library.quantum_volume": "/",
+ "qiskit.circuit.library.unitary_overlap": "/",
"qiskit.quantum_info.SparseObservable": "/",
"qiskit.transpiler.passes.RemoveIdentityEquivalent": "/",
"qiskit.transpiler.passes.synthesis.hls_plugins.ACGSynthesisPermutation": "/",