LIQUi|> is a software architecture and toolsuite for quantum computing. It is includes a programming language, optimization and scheduling algorithms, and quantum simulators. LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into the low-level machine instructions for a quantum device. LIQUi|> is developed by the Quantum Architectures and Computation Group (QuArC) at Microsoft Research.
LIQUi|> is a software platform for quantum computing.
To aid in the development and understanding of quantum protocols, quantum algorithms, quantum error correction, and quantum devices, QuArC has developed an extensive software platform called LIQUi|>. LIQUi|> allows the simulation of Hamiltonians, quantum circuits, quantum stabilizer circuits, and quantum noise models, and supports Client, Service, and Cloud operation. It allows the user to express circuits in a high-level functional language (F#), and supports the extraction of circuit data structures that can be passed to other components for circuit optimization, quantum error correction, gate replacement, export or rendering. The system is architected to be fully modular to permit easy extension as desired.
LIQUi|> includes state-of-the-art circuit simulation of up to 30 qubits on a single machine with 32 GB RAM, limited only by memory and computing threads. The largest number factored to date on the simulator is a 13-bit number, which required 27 qubits, half a million gates, and 5 days runtime. The circuit was based on Beauregard’s circuit for Shor’s algorithm.
LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into low-level machine instructions for a quantum device. The toolkit includes a compiler, optimizers, translators, various simulators and a host of examples. The complete platform is freely available on GitHub.
LIQUi|> is being developed by the Quantum Architectures and Computation Group (QuArC).
What LIQUi|> can do
You can use LIQUi|> to define quantum circuits, render them into a variety of graphical formats, and execute them using an appropriate simulator. Some of the specific algorithms you can simulate with LIQUi|> are:
- Simple quantum teleportation
- Shor's factoring algorithm
- Quantum chemistry: computing the ground state energy of a molecule
- Quantum error correction
- Quantum associative memory (Ventura and Martinez, http://arxiv.org/abs/quant-ph/9807053)
- Quantum linear algebra (Harrow, Hassidim, and Lloyd, http://arxiv.org/abs/0811.3171)
All of these algorithms, and many more, are included as samples with LIQUi|>.
How to get LIQUi|>
LIQUi|> is available via GitHub at www.github.com/msr-quarc/liquid . To be notified of updates and other announcements, sign up on our listserv at:
SUB liquid-news FirstName LastName
Or, to subscribe anonymously:
SUB liquid-news anonymous
- Dave Wecker and Krysta M. Svore, LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing, February 2014.
Members of the LIQUi|> team will be at these events:
- ScaleQIT International Conference 2016, Delft, 27-29 January 2016, invited talk by Alan Geller
- Bristol Quantum Information Technologies Workshop (BQIT), April 6-8, 2016, talk by Krysta Svore
- Aspen Winter Conference on Advances in Quantum Algorithms and Computation; March 20- 26, 2016; Aspen, CO; Co-chaired by Krysta Svore, Matthias Troyer, Aram Harrow
- BIRS Workshop on Quantum Programming Languages and Circuits, April 17-22, Banff
SuperComputing 2015, Austin, Texas, Nov 15-20, 2015, keynote by Dave Wecker
Quantum Information Processing, QIP, Banff, Canada, Jan 10-16, 2016, LIQUi|>Tutorial by Dave Wecker