LogoLogo
  • Welcome to Quantum Cloud Services
  • Getting Started
    • Set up your environment
      • JupyterLab IDE
      • Install Locally
        • Quil SDK Docker Image
    • Quil SDK Overview
    • Running your first Quantum Program
  • Guides
    • Quil
      • What is Quil?
      • Language Support
      • Dynamic Control Flow
      • Customizing Program Readout
    • QPU vs. Simulator (QVM)
    • How to Use Rigetti QPUs
    • Access a QPU
      • QPU Reservations
      • On-Demand Access
      • QCS QPU Gateway
    • QCS Group Accounts
    • Interactive Tutorials
    • How Programs Are Built & Run
      • Execution and Request timeouts
    • The Lifecycle of a Program
    • The Rigetti QCS API
    • Using the QCS CLI
      • Using the Legacy QCS CLI
    • QCS Credentials
    • Benchmarking and Fidelity
  • Troubleshooting
    • Gathering Diagnostics
    • Report an Issue
  • Glossary
  • FAQ
  • References
    • pyQuil Reference
    • QCS API Specification
    • QCS CLI Reference
    • QCS Client Configuration
    • Quil / Quil-T Specification
    • quilc Reference
    • quil-rs Reference
    • QVM Reference
    • Rigetti Module for Cirq
    • Rigetti Provider for Qiskit
Powered by GitBook
On this page
  • pyQuil
  • quilc
  • QVM

Was this helpful?

  1. Getting Started

Quil SDK Overview

PreviousQuil SDK Docker ImageNextRunning your first Quantum Program

Last updated 1 year ago

Was this helpful?

Quil is the language you'll use to write quantum programs and the Quil SDK is a suite of software to help you build and run Quil programs. See What is Quil? to learn more about Quil the programming language. Here, we'll cover the tools in the Quil SDK available to you.

pyQuil

pyQuil is Rigetti's flagship library for building and running quantum programs written in Quil. It provides high level tools for writing, compiling, and running Quil programs against the QVM or Rigetti QPUs. pyQuil is the primary tool most users will use to interact with QCS. However, it's important to note that pyQuil joins multiple related tools and libraries together.

In the previous step you installed quilc and the QVM. We run both of these tools in the background as servers so that pyQuil can use them to compile programs for a target QPU and simulate programs against the QVM, respectively. Without them, pyQuil is limited in functionality.

quilc

For most programs, compilation withquilc is an essential step in preparing the program to be run. It both optimizes and nativizes your program for the target QPU by using information about its architecture. See How Programs Are Built & Run for a more in-depth dive on quilc and the other steps involved in preparing a program to be run.

QVM

The Quantum Virtual Machine is a state-vector simulator that executes Quil programs on a virtual machine that can model a real QPU or generic quantum system. The number of qubits it can simulate in a single program is typically limited by the amount of system memory available to it. In addition to a limited qubit count when compared to a flagship Rigetti QPU, there are other important differences to keep in mind. See QPU vs. Simulator (QVM) for a detailed guide on the differences between the simulator and a real QPU.


Now that you know all of the essential tools, head to Running your first Quantum Program!

Welcome to the docs for pyQuil! — pyQuil 4.4.0 documentation
See the pyQuil documentation for more information
Logo
GitHub - quil-lang/quilc: The optimizing Quil compiler.GitHub
See quilc on GitHub for more information
GitHub - quil-lang/qvm: The high-performance and featureful Quil simulator.GitHub
See QVM on GitHub for more information
Logo
Logo