Linear synthesis for {CNOT, Rz} circuits

Header: tweedledum/algorithms/synthesis/linear_synth.hpp

Parameters

struct linear_synth_params

Parameters for linear_synth.

Algorithm

Warning

doxygenfunction: Unable to resolve multiple matches for function “tweedledum::linear_synth” with arguments (Network&, std::vector<uint32_t> const&, parity_terms const&, linear_synth_params) in doxygen xml output for project “tweedledum” from directory: doxyxml/xml. Potential matches:

- template <class Network>
  Network tweedledum::linear_synth(uint32_t, parity_terms const&, linear_synth_params)
- template <class Network>
  void tweedledum::linear_synth(Network&, std::vector<qubit_id> const&, parity_terms const&, linear_synth_params)
template <class Network>
Network tweedledum::linear_synth(uint32_t num_qubits, parity_terms const &parities, linear_synth_params params = {})

Linear synthesis for small {CNOT, Rz} networks.

Synthesize all linear combinations.

Return
{CNOT, Rz} network
Parameters
  • num_qubits: Number of qubits
  • parities: List of parities and rotation angles to synthesize
  • params: The parameters that configure the synthesis process. See linear_synth_params for details.