IQP
class qiskit.circuit.library.IQP(interactions)
Bases: QuantumCircuit
Instantaneous quantum polynomial (IQP) circuit.
The circuit consists of a column of Hadamard gates, a column of powers of T gates, a sequence of powers of CS gates (up to of them), and a final column of Hadamard gates, as introduced in [1].
The circuit is parameterized by an n x n interactions matrix. The powers of each T gate are given by the diagonal elements of the interactions matrix. The powers of the CS gates are given by the upper triangle of the interactions matrix.
Reference Circuit:

Expanded Circuit:

References:
[1] M. J. Bremner et al. Average-case complexity versus approximate simulation of commuting quantum computations, Phys. Rev. Lett. 117, 080501 (2016). arXiv:1504.07999
Create IQP circuit.
The class qiskit.circuit.library.iqp.IQP is deprecated as of Qiskit 2.1. It will be removed in Qiskit 3.0. Use the qiskit.circuit.library.iqp function instead.
Parameters
interactions (list | np.ndarray) – input n-by-n symmetric matrix.
Raises
CircuitError – if the inputs is not as symmetric matrix.
Attributes
name
Type: str
A human-readable name for the circuit.
Example
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit