Rigetti Computing has started to offer for beta test their software platform called Forest. Forest consists of a quantum instruction language called Quil, an open source Python library for construction Quil programs called pyQuil, a library of quantum programs called Grove, and a simulation environment called QVM standing for Quantum Virtual Machine. pyQuil and Grove are open source programs available on Github. Users would develop their programs using pyQuil and Grove on their own computer and then submit them to QVM for simulation over a web portal that is available for registered users. Apparently this same web portal will be usable in the future for running the program on a future Rigetti quantum processor in much the same way that users of the IBM Quantum Experience can develop a program (IBM calls it a Score) and run on either an IBM simulator or the five-qubit quantum processor installed at IBM Research.
There are a few unique capabilities available with Forest that are different from other quantum software solutions including the Microsoft LIQUi|> and Artiste-qb qubiter. Rigetti is a strong believer that many quantum algorithms will combine aspects of both quantum and classical processing to develop an answer. Therefore, they based Quil and pyQuil on the idea of a classical-quantum shared memory architecture. They have built into pyQuil and Quil capabilities for synchronizing the processing using special WAIT command that transfer processing back and forth between the quantum and the classical computing circuits. In addition, they have included conditional jump commands in the Quil language to provide control flow in the processing depending upon values measured and inserted into the classical bits. Finally one of the more amusing functions is the capability to send and process a small 140 character program to their Quantum Virtual Machine (QVM) via Twitter!
There are competitors to the Rigetti Forest platform, although they do not all provide the exact same functionality. IBM has just announced an upgrade of their IBM Quantum Experience to provide a higher level Python based front end called QISKIT. This appears to have some of the capabilities of Forest but does not have any classical-quantum processor synchronization commands similar to Forest. Microsoft LIQUi|> provides some higher-level capabilities and has additional compilation and optimizing capabilities. They also provide a larger sample library of over 100 different routines. They offer three different classes of simulator to provide different levels of abstraction. In addition, Microsoft’s LIQUi|> supports simulation on a user’s own machine rather than requiring submission of the program over a web portal. And finally, Qubiter has an interesting capability that can create a sequence of quantum gates that implements any arbitrary unitary matrix provided as input. Note that these observations do represent a current snapshot because I expect all parties will be working feverishly to improve and upgrade their capabilities so the relative functionality of each solution will be changing rapidly.
For those interested in for more details on Forest, here are some links. The Forest page on the Rigetti web site is located here, the arXiv paper that describes the Quil language is located here, a video on Forest presented by the Rigetti team at QIP 2017 is available here, and the Github link where you can download both pyQuil and Grove can be found here.