Skip to main contentIBM Quantum Documentation

PauliEvolutionSynthesisRustiq

class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisRustiq

GitHub

Bases: HighLevelSynthesisPlugin

Synthesize a PauliEvolutionGate using Rustiq.

This plugin name is :PauliEvolution.rustiq which can be used as the key on an HLSConfig object to use this method with HighLevelSynthesis.

The Rustiq synthesis algorithm is described in [1], and is implemented in Rust-based quantum circuit synthesis library available at https://github.com/smartiel/rustiq-core.

On large circuits the plugin may take a significant runtime.

The plugin supports the following additional options:

  • optimize_count (bool): if True the synthesis algorithm will try to optimize

    the 2-qubit gate count; and if False then the 2-qubit depth.

  • preserve_order (bool): whether the order of paulis should be preserved, up to

    commutativity.

  • upto_clifford (bool): if True, the final Clifford operator is not synthesized.

  • upto_phase (bool): if True, the global phase of the returned circuit may

    differ from the global phase of the given pauli network.

  • resynth_clifford_method (int): describes the strategy to synthesize the final

    Clifford operator. Allowed values are 0 (naive approach), 1 (qiskit greedy synthesis), 2 (rustiq isometry synthesis).

References

  1. Timothée Goubault de Brugière and Simon Martiel, Faster and shorter synthesis of Hamiltonian simulation circuits, arXiv:2404.03280 [quant-ph]

Methods

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Run synthesis for the given Operation.

Parameters

  • high_level_object (Operation) – The Operation to synthesize to a DAGCircuit object.
  • coupling_map (CouplingMap) – The coupling map of the backend in case synthesis is done on a physical circuit.
  • target (Target) – A target representing the target backend.
  • qubits (list) – List of qubits over which the operation is defined in case synthesis is done on a physical circuit.
  • options – Additional method-specific optional kwargs.

Returns

The quantum circuit representation of the Operation

when successful, and None otherwise.

Return type

QuantumCircuit

Was this page helpful?
Report a bug or request content on GitHub.