Expand description
rustiq-core
is a quantum circuit synthesis library.
It contains data structures representing various mathematical objects together with synthesis methods able to generate efficient circuits targeting 2-qubit gate count or depth.
§Data structures
- CliffordCircuit and CliffordGate - Data structures used to represent Clifford gates and circuits.
- PauliSet - A data structure used to store a list of Pauli operators. The list can be efficiently conjugated by
CliffordGate
orCliffordCircuit
objects. - Tableau - A Clifford Tableau implementation built on top of
PauliSet
. - IsometryTableau - An extension of the Tableau data structure that describes a Clifford operator applied to a partially stabilized input.
- GraphState - A data structure representing a graph state
§Synthesis algorithms
All synthesis algorithms are located in the synthesis submodule.
- Synthesis of Clifford operators are handled by the isometry_synthesis method.
This method can handle synthesis of
IsometryTableau
objects intoCliffordCircuit
. - Graph states and stabilizer states can be synthesized using synthesize_graph_state and synthesize_stabilizer_state.
- Method codiagonalize can be used to produce a
CliffordCircuit
that codiagonalizes a given set of pairwise commuting Pauli operators. - Method greedy_pauli_network can be used to implement a sequence of Pauli rotations.
Modules§
- This module contains various helpers
- This module contains all the data structures
- This module contains all the synthesis methods