Gray synthesis for {CNOT, Rz} circuits¶
Header: tweedledum/algorithms/synthesis/gray_synth.hpp
Algorithm¶
Warning
doxygenfunction: Unable to resolve multiple matches for function “tweedledum::gray_synth” with arguments (Network&, std::vector<uint32_t> const&, parity_terms const&, gray_synth_params) in doxygen xml output for project “tweedledum” from directory: doxyxml/xml. Potential matches:
- template <class Network>
Network tweedledum::gray_synth(uint32_t, parity_terms const&, gray_synth_params)
- template <class Network>
void tweedledum::gray_synth(Network&, std::vector<qubit_id> const&, parity_terms const&, gray_synth_params)
-
template <class Network>
Networktweedledum
::
gray_synth
(uint32_t num_qubits, parity_terms const &parities, gray_synth_params params = {})¶ Gray synthesis for {CNOT, Rz} networks.
This algorithm is based on the work in [AAM17].
The following code shows how to apply the algorithm to the example in the original paper.
- Return
- {CNOT, Rz} network
- Parameters
num_qubits
: Number of qubitsparities
: List of parities and rotation angles to synthesizeparams
: The parameters that configure the synthesis process. Seegray_synth_params
for details.