qiskit-documentation/docs/api/qiskit/0.40/qiskit.synthesis.synth_cnot...

38 lines
1.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: synth_cnot_count_full_pmh
description: API reference for qiskit.synthesis.synth_cnot_count_full_pmh
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.synthesis.synth_cnot_count_full_pmh
---
# qiskit.synthesis.synth\_cnot\_count\_full\_pmh
<Function id="qiskit.synthesis.synth_cnot_count_full_pmh" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.23/qiskit/synthesis/linear/graysynth.py" signature="synth_cnot_count_full_pmh(state, section_size=2)">
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.
**Parameters**
* **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 PatelMarkovHayes algorithm \[1]. section\_size must be a factor of num\_qubits.
**Returns**
a CX-only circuit implementing the linear transformation.
**Return type**
[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")
**Raises**
**QiskitError** when variable “state” isnt of type numpy.ndarray
**References**
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\]](https://arxiv.org/abs/quant-ph/0302002)
</Function>