# quipnetwork/xquad

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/quipnetwork-xquad).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

5,585 stars · 17 forks · Python · AGPL-3.0

## Links

- GitHub: https://github.com/QuipNetwork/xquad
- Homepage: https://developers.quip.network/docs/xquad/
- awesome-repositories: https://awesome-repositories.com/repository/quipnetwork-xquad.md

## Topics

`constraint-programming` `quadratic-programming` `quantum-computing`

## Description

xquad is a toolkit for defining optimization problems once and running them on different solvers. A high-level programming interface describes constraints declaratively, and those constraints compile into a shared intermediate form and a human-readable assembly format that a compact stack-based virtual machine can execute. The same problem definition can then be lowered to quantum annealers or to classical CPU and GPU solvers without being rewritten.

What sets it apart is the combination of hardware-agnostic modeling and an embeddable execution engine. The core virtual machine needs no standard library, so it can run inside WebAssembly runtimes, blockchain pallets, and native binaries. Solver backends are optional installable extras behind one common dispatch interface, which allows results from quantum annealing to be compared against classical solvers using the same problem.

Day-to-day workflows are supported in two ways. A command-line front end offers separate subcommands to assemble, disassemble, run, and validate programs, so whole pipelines can be scripted without writing application code. Programs can also be loaded once and executed repeatedly with different input data, with outputs returned by slot along with leftover stack contents and step counts.

## Tags

### Part of an Awesome List

- [Quantum Annealing Tools](https://awesome-repositories.com/f/awesome-lists/data/quantum-annealing-tools.md) — Dispatches optimization problems to quantum annealers alongside classical CPU and GPU solvers through one common interface, so results can be compared on the same problem.
- [Constraint Solvers](https://awesome-repositories.com/f/awesome-lists/data/constraint-solvers.md) — Offers a high-level programming interface that declares optimization constraints separately from the solver that eventually executes them.

### Scientific & Mathematical Computing

- [Solver-Agnostic Optimization Interfaces](https://awesome-repositories.com/f/scientific-mathematical-computing/solver-agnostic-optimization-interfaces.md) — Defines an optimization problem once with high-level constraints and reuses that definition across many different solvers and hardware targets.
- [Cross-Solver Problem Compilers](https://awesome-repositories.com/f/scientific-mathematical-computing/optimization-problem-solvers/cross-solver-problem-compilers.md) — Translates a single problem definition into a shared intermediate form that targets any supported quantum or classical solver without rewriting. ([source](https://github.com/quipnetwork/xquad#readme))
- [Problem Modeling](https://awesome-repositories.com/f/scientific-mathematical-computing/optimization-problem-solvers/problem-modeling.md) — Expresses optimization constraints through a high-level programming interface and compiles them to an assembly format the virtual machine executes directly. ([source](https://github.com/quipnetwork/xquad#readme))

### Development Tools & Productivity

- [Optimization Constraint Modeling Interfaces](https://awesome-repositories.com/f/development-tools-productivity/constraint-based-configuration-languages/optimization-constraint-modeling-interfaces.md) — Provides a high-level programming interface for declaring optimization constraints, which compile down to an assembly format the virtual machine can run directly.
- [Assembler Command-Line Toolkits](https://awesome-repositories.com/f/development-tools-productivity/assembler-command-line-toolkits.md) — Offers separate subcommands to assemble, disassemble, run, and validate optimization programs so complete pipelines can be scripted without writing application code.

### Programming Languages & Runtimes

- [Embedded Virtual Machines](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-virtual-machines.md) — Provides a small virtual machine that can be embedded in WASM runtimes, blockchain pallets, and native binaries without a standard library. ([source](https://github.com/quipnetwork/xquad#readme))
- [Stack-Based Virtual Machines](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/stack-based-virtual-machines.md) — Executes optimization programs on a compact stack machine that reads inputs by slot and reports outputs, leftover stack contents, and step counts.
- [Intermediate Representation Lowering](https://awesome-repositories.com/f/programming-languages-runtimes/intermediate-representation-lowering.md) — Compiles one problem definition into a shared intermediate form that backend-specific lowering passes translate for each target solver.
- [Embedded Wasm Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly/embedded-wasm-runtimes.md) — Runs optimization programs inside WebAssembly runtimes, blockchain pallets, and native binaries that have no standard library.

### Software Engineering & Architecture

- [Solver Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/dynamic-programming/optimization-problem-solvers/solver-dispatchers.md) — Dispatches optimization problems to CPU, GPU, quantum annealer, or network solvers selected through optional extras, so one problem runs on different hardware. ([source](https://github.com/quipnetwork/xquad#readme))

### Operating Systems & Systems Programming

- [No-Std Environment Adapters](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/platform-support/environment-support-managers/no-std-environment-adapters.md) — Keeps the core execution engine free of standard library dependencies so it runs in WASM runtimes, blockchain pallets, and native binaries.
