Skip to content

The RQM Ecosystem

RQM is a compiler-first quantum software platform built from focused, composable packages. Each package has a distinct responsibility. They are designed to work together without duplicating logic across boundaries.


Repository Roles

rqm-core — Canonical Math Engine

rqm-core defines the mathematical foundation of the platform. All quaternion operations, spinor normalizations, Bloch vector conversions, and SU(2) transformations originate here.

  • No backend dependency — pure mathematics and linear algebra
  • Single source of truth — all other packages import from rqm-core, not the other way around
  • Well-typed and testable — designed for reliability and reproducibility

rqm-compiler — Instruction Compiler

rqm-compiler sits between the math layer and the execution backends. It accepts backend-agnostic programs and produces a normalized intermediate representation (IR) that any backend can consume.

  • Depends on rqm-core for gate matrix resolution
  • Backend-independent — the compiler output is the same regardless of which backend will run the program
  • Enables optimization passes that apply once across all backends

rqm-qiskit — Qiskit Execution Backend

rqm-qiskit translates the compiler IR into Qiskit circuits and runs them on the Aer simulator or IBM hardware.

  • Depends on rqm-compiler for the normalized IR
  • Exposes QiskitBackend with run_local() and run_device() methods
  • Returns normalized results compatible with the RQM result contract

rqm-braket — AWS Braket Execution Backend

rqm-braket translates the compiler IR into Amazon Braket circuits and runs them locally or on AWS quantum hardware.

  • Depends on rqm-compiler for the normalized IR
  • Exposes BraketBackend with run_local() and run_device() methods
  • Returns normalized results compatible with the RQM result contract

rqm-notebooks — Demos and Learning

rqm-notebooks is a curated collection of Jupyter notebooks that guide users from first principles through practical quantum circuit execution.

  • Depends on rqm-core and execution backends
  • Structured as a learning path — notebooks are numbered and build on each other
  • Serves as living documentation of how the platform is used in practice

Architecture Diagram

rqm-core      → canonical math (quaternions, spinors, SU(2))
rqm-compiler  → instruction generation and normalization
rqm-qiskit    → Qiskit execution backend
rqm-braket    → AWS Braket execution backend
┌──────────────────────────────────────────────────────────┐
│                        rqm-docs                          │
│          (documentation, guides, API reference)          │
└────────────────────────┬─────────────────────────────────┘
                         │ references
         ┌───────────────┼───────────────┐
         ▼               ▼               ▼
  ┌─────────────┐ ┌──────────────┐ ┌───────────────┐
  │  rqm-core   │ │ rqm-compiler │ │ rqm-notebooks │
  │ (math/core) │◄│  (compiler)  │ │  (learning)   │
  └─────────────┘ └──────┬───────┘ └───────────────┘
             ┌───────────┴───────────┐
             ▼                       ▼
      ┌─────────────┐        ┌──────────────┐
      │ rqm-qiskit  │        │  rqm-braket  │
      │  (Qiskit)   │        │   (Braket)   │
      └─────────────┘        └──────────────┘

Goal Where to go
Understand the math rqm-core source + Concepts
Understand the compiler rqm-compiler + Architecture
Run on Qiskit rqm-qiskit + API guide
Run on Braket rqm-braket
Learn interactively rqm-notebooks + Notebooks guide
Read architecture rationale Architecture page
Install packages Installation guide