IQPansatz#
- class discopy.quantum.ansatze.IQPansatz(n_qubits, params)[source]#
Bases:
Build an IQP ansatz on n qubits, if n = 1 returns an Euler decomposition.
>>> pprint = lambda c: print(str(c.foliation()).replace(' >>', '\n >>')) >>> pprint(IQPansatz(3, [[0.1, 0.2], [0.3, 0.4]])) H @ H @ H >> CRz(0.1) @ qubit >> H @ CRz(0.2) >> qubit @ H @ H >> CRz(0.3) @ qubit >> qubit @ CRz(0.4) >>> print(IQPansatz(1, [0.3, 0.8, 0.4])) Rx(0.3) >> Rz(0.8) >> Rx(0.4)
- Return type: