Skip to content
Amir Hameed edited this page Aug 1, 2026 · 1 revision

QuTub Transpiler Wiki

Welcome to the QuTub Transpiler documentation wiki.

QuTub Transpiler is a hardware-aware quantum circuit transpiler written in pure Rust. It provides an intermediate representation (IR), OpenQASM 2.0 parsing and emission, backend-aware compilation, routing, optimization, native gate decomposition, and fidelity estimation across multiple quantum hardware platforms.

This wiki serves as the primary technical reference for developers, contributors, researchers, and users of the project.


Getting Started

If you're new to QuTub Transpiler, we recommend exploring the documentation in the following order:

  1. Installation
  2. Architecture Overview
  3. Intermediate Representation (IR)
  4. Parsing OpenQASM
  5. Optimization Pipeline
  6. Backend Lowering
  7. Routing
  8. Fidelity Estimation
  9. Examples
  10. Contributing

Core Concepts

QuTub Transpiler is organized around several major components.

Intermediate Representation (IR)

The internal circuit representation used throughout the compilation pipeline.

Topics include:

  • Circuit construction
  • Gate definitions
  • Validation
  • Gate statistics
  • Programmatic circuit generation

Parsing

Import OpenQASM 2.0 circuits into the internal IR.

Features include:

  • OpenQASM parser
  • Error reporting
  • Circuit validation
  • Import pipeline

Optimization

Optimization passes operating on the source circuit before backend lowering.

Current optimizations include gate simplification and cancellation while preserving circuit semantics.


Backend Lowering

Convert architecture-independent circuits into native instruction sets supported by specific quantum hardware.

Supported targets include:

  • IBM Quantum
  • Rigetti
  • Trapped-Ion

Lowering performs hardware-specific gate decomposition while preserving logical circuit behavior.


Routing

Routing adapts circuits to backend connectivity constraints by inserting the necessary transformations required by each hardware topology.

Topics include:

  • Coupling maps
  • Connectivity constraints
  • SWAP insertion
  • Architecture-aware routing

Fidelity Estimation

Estimate circuit fidelity using backend calibration models.

The estimator enables comparison between hardware targets without requiring execution on physical quantum devices.


Circuit Emission

Export compiled circuits into backend-compatible OpenQASM for execution or further processing.


Examples

The repository includes practical examples demonstrating common workflows.

Current examples include:

  • Bell state generation
  • Backend cost comparison
  • End-to-end transpilation
  • Programmatic circuit construction

Project Architecture

A typical compilation pipeline is:

OpenQASM 2.0
        │
        ▼
Parser
        │
        ▼
Intermediate Representation
        │
        ▼
Source Optimization
        │
        ▼
Backend Lowering
        │
        ▼
Routing
        │
        ▼
Backend Optimization
        │
        ▼
Fidelity Estimation
        │
        ▼
OpenQASM Export

Each stage is designed to operate independently, allowing applications to integrate only the functionality they require.


Design Principles

QuTub Transpiler is built around several core principles:

  • Hardware-aware compilation
  • Modular compiler architecture
  • Strongly typed Rust APIs
  • Backend-independent intermediate representation
  • Extensible optimization framework
  • Reproducible compilation
  • Comprehensive documentation and examples

Contributing

Community contributions are welcome.

Contributions may include:

  • New optimization passes
  • Additional backend support
  • Documentation improvements
  • Examples
  • Bug fixes
  • Performance improvements
  • Test coverage

Please review the project's contribution guidelines before opening a pull request.


Additional Resources

  • API Documentation
  • Examples
  • Release Notes
  • GitHub Issues
  • Discussions
  • Roadmap

Thank you for your interest in QuTub Transpiler.

Whether you're building quantum applications, researching compiler techniques, or contributing new functionality, we hope this documentation helps you understand and extend the project.