Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version


synth_cnot_count_full_pmh(state, section_size=2)

GitHub(opens in a new tab)

Synthesize linear reversible circuits for all-to-all architecture using Patel, Markov and Hayes method.

This function is an implementation of the Patel, Markov and Hayes algorithm from [1] for optimal synthesis of linear reversible circuits for all-to-all architecture, as specified by an n x n matrix.


  • state (list[list] or ndarray) – n x n boolean invertible matrix, describing the state of the input circuit
  • section_size (int) – the size of each section, used in the Patel–Markov–Hayes algorithm [1]. section_size must be a factor of num_qubits.


a CX-only circuit implementing the linear transformation.

Return type



QiskitError – when variable “state” isn’t of type numpy.ndarray


  1. Patel, Ketan N., Igor L. Markov, and John P. Hayes, Optimal synthesis of linear reversible circuits, Quantum Information & Computation 8.3 (2008): 282-294. arXiv:quant-ph/0302002 [quant-ph](opens in a new tab)
Was this page helpful?
Report a bug or request content on GitHub.