PyQuil

Quantum computing is a recent concept built on quantum physics, drawing on quantum mechanical phenomena such as to how light can be both a particle and a wave. Quantum computing system provider Rigetti Computing — which is working on both quantum hardware circuits as well as the software layers, allows to start using  quantum machine learning even without having personal have access to quantum computing hardware.

The Rigetti has developed  Forest Software Development Kit, which includes  following components:

  • pyQuil: An open source Python library to help you write and run quantum programs. The source is hosted on github.
  • Quil: The Quantum Instruction Language standard. Instructions written in Quil can be executed on any implementation of a quantum abstract machine, such as the quantum virtual machine (QVM), or on a real quantum processing unit (QPU). More details regarding Quil can be found in the whitepaper, A Practical Quantum Instruction Set Architecture.
  • QVM: The Quantum Virtual Machine is an implementation of a quantum abstract machine on classical hardware. The QVM lets you use a regular computer to simulate a small quantum computer and execute Quil programs.
  • QPU: Quantum processing unit. This refers to the physical hardware chip which we run quantum programs on.
  • Quil Compiler: The compiler, quilc, compiles Quil written for one quantum abstract machine (QAM) to another. Our compiler will take arbitrary Quil and compile it for the given QAM, according to its supported instruction set architecture.
  • Forest SDK: Our software development kit, optimized for near-term quantum computers that operate as coprocessors, working in concert with traditional processors to run hybrid quantum-classical algorithms. For references on problems addressable with near-term quantum computers, see Quantum Computing in the NISQ era and beyond.

PyQuil is a Python library for quantum programming using Quil, the quantum instruction language developed at Rigetti Computing. PyQuil serves three main functions:

  • Easily generating Quil programs from quantum gates and classical operations
  • Compiling and simulating Quil programs using the Quil Compiler (quilc) and the Quantum Virtual Machine (QVM)
  • Executing Quil programs on real quantum processors (QPUs) using Quantum Cloud Services (QCS)

Quantum Cloud Services offers users an on-premise, dedicated access point to our quantum computers. This access point is a fully-configured VM, which we call a Quantum Machine Image. A QMI is bundled with the same downloadable SDK mentioned above, and a command line interface (CLI), which is used for scheduling compute time on our quantum computers.