| Crates.io | bicycle_common |
| lib.rs | bicycle_common |
| version | 0.1.0 |
| created_at | 2025-07-31 16:02:47.723029+00 |
| updated_at | 2025-07-31 16:02:47.723029+00 |
| description | Common definitions for bicycle architecture compiler crates |
| homepage | |
| repository | https://github.com/qiskit-community/bicycle-architecture-compiler |
| max_upload_size | |
| id | 1775256 |
| size | 21,322 |
bicycle_commonThis crate implements common functionality of the Bicycle Architecture Compiler. Its main contribution are the logical instruction of bivariate bicycle codes. It supports instantiating instructions and some methods for manipulation, random sampling, etc.
Pauli is also defined in this crate.
We list
type
display namedescription
of the bicycle instructions used in Tour de Gross arXiv:2506.03094:
sc Idle operation. Not used explicitly by the compiler, only inferred with timing information in the numerics.aut(_,_) Perform a unitary automorphism gate, see Section 9.2 of arXiv:2308.07915.meas(_,_) Measure the first and/or seventh qubit.jMeas(_,_) One half of a joint measurement between code modules. Measure the first and/or seventh qubit of each module.T(_,_,_) Apply $exp(i P\pi/8)$ for $P \in \set{X,Z,Y}$ on the first or seventh qubit.Note that we also define other logical instructions of bivariate bicycle codes that are not used (explicitly) by the compiler:
init0 Initialize all logical qubits in a code module to |0>.init+ Initialize all logical qubits in a code module to |+>.measZ Measure all logical qubits in a code module in Z basis.measX Measure all logical qubits in a code module in X basis.pMeas(_) Measure the first and seventh qubit independently.jBell One half of an instruction acting on two code modules. Initialize 12 Bell pairs using transversal CX.jCnot One half of an instruction acting on two code modules. Perform 12 CX gates via transversal CX.initT Initialize all logical qubits in a code module to |T>, at physical noise rate.