Skip to content
Construct PsiQDK Workbench

What is Workbench?

Workbench is a Python package designed for efficient writing and execution of quantum programs. It allows developers to create quantum circuits and algorithms using Python, while leveraging the performance of an optimized, multi-threaded C++ core.

The design philosophy behind Workbench is to make the operation of a quantum computer accessible and straightforward. To achieve this, it provides a powerful yet lightweight syntax that aligns with familiar programming conventions.

Workbench is an extensible library for quantum programming

Workbench enables quantum application development with the following three key layers:

  • Frontend API: A comprehensive Python SDK for implementing quantum algorithms.
  • Filter Pipelines: Modular and expandable snap-on components for consuming, compiling, and exporting Quantum Processing Unit (QPU) instructions.
  • Backend engine: An optimized machine-level native multi-core C++ simulator.

Features

  • FTQC Primitives: Build with abstractions designed for fault-tolerant quantum computing, including quantum data types, mid-circuit measurements, and automatic uncompute.

  • Built for Runtime: Scale to large circuits and runtime-style execution with support for streaming billions of operations without relying on fixed kernels.

  • Large Algorithm Library: Access more than 100 interoperable, FTQC-focused algorithm implementations, including alias sampling, quantum phase estimation, and more.

  • Quantum Resource Estimates (QREs): Generate accurate QREs for circuits of any size, including circuits with billions of gates, and analyze results with Resource Analyzer, Bartiq, or the Resource Estimator.

  • Hardware Agnostic: Write, compile, and optimize quantum algorithms for a range of FTQC hardware architectures.

  • Highly Performant Simulation: Iterate quickly with optimized C++ simulation, including native bit and Clifford simulators as well as GPU-powered tensor-network and state-vector simulation via CUDA-Q.

Next Steps

Getting Help

We welcome bug reports, feature requests, and discussions! Please file an issue on PsiQDK GitHub repo ⧉ to report a bug or to request a feature, or start a discussion ⧉ to ask a question.