explaingit

quipnetwork/xq-rs

5,714RustAudience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

Early-stage Rust toolkit for quantum annealing, a bytecode format, assembler, disassembler, and virtual machine that lets you write QUBO optimization problems once and run them on different quantum hardware backends.

Mindmap

mindmap
  root((repo))
    What it does
      Quantum VM
      QUBO problems
      Common bytecode layer
    Components
      Assembler
      Disassembler
      Virtual machine
    Features
      Stack-based VM
      256-slot registers
      WebAssembly target
    Use cases
      Route optimization
      Problem encoding
      Hardware portability
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Encode a Travelling Salesman Problem as QUBO assembly and run it on the XQVM virtual machine.

USE CASE 2

Compile optimization problems to XQVM bytecode so they can target different quantum annealer backends without rewriting.

USE CASE 3

Inspect XQVM bytecode by disassembling it to human-readable assembly for debugging.

Tech stack

RustWebAssembly

Getting it running

Difficulty · hard Time to first run · 1day+

Requires knowledge of QUBO and Ising model formulations, the project is marked unstable and not ready for production use.

Use and modify freely, but any changes or network-accessible services built on this code must be shared under the same AGPL-3 license.

In plain English

Aglais XQVM is an early-stage Rust project building a virtual machine for quantum computing problems, specifically a class of optimization problems called QUBO and Ising models. These are mathematical formulations used to describe problems like route planning or scheduling in a way that quantum annealers, a type of quantum hardware, can process. The project is marked as unstable and not yet suitable for production use. The README describes the goal as creating something analogous to what LLVM does for classical computing: a common intermediate layer that lets you write a problem once and then run it on different hardware backends without rewriting it for each one. The core of the project is a bytecode format, a shared representation that sits between a human-readable problem description and the actual hardware. The workspace is split into four components. One defines the bytecode format itself, including the full table of 76 instructions. A text assembler converts human-readable assembly files into that bytecode. A disassembler converts bytecode back into a readable listing for inspection. A virtual machine interprets and executes the bytecode. All four produce command-line tools. The virtual machine uses a stack-based design with a 256-slot register file. Registers can hold integers, integer vectors, optimization model objects, and candidate solution objects. A worked example of encoding a Travelling Salesman Problem using the assembler is included in the repository. The core crates are built to work without the standard library, which means the bytecode and virtual machine components can be compiled to WebAssembly or run in bare-metal environments with no operating system. The project is licensed under the GNU Affero General Public License version 3 or later.

Copy-paste prompts

Prompt 1
I'm using XQVM to encode a Travelling Salesman Problem as a QUBO. Walk me through writing the assembly code step by step, from defining city distances to encoding the visit-each-city-once constraint.
Prompt 2
Show me how to use the XQVM assembler CLI to convert a .xqasm file to bytecode and then execute it with the virtual machine CLI. Include example commands and expected output format.
Prompt 3
How does the XQVM stack-based virtual machine work? Explain the register file layout, key instruction categories from the 76-instruction set, and how a candidate solution object is evaluated and scored.
Open on GitHub → Explain another repo

← quipnetwork on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.