2016/07/02 Sample implementation of Spin.Test and Stabilizer.ShowState released
In UserCode\DaveWecker there are two new releases of sample implementations. The first shows how to implement the Spin.Test routine that's caled by the __Ferro()
example in LIQUi|〉. There's also a new property on stabilizers called Tableau
which will return the current (raw) stabilizers. See the Tableau.fsx
sample in the same directory for further information. The README.md file is a good place to start.
2016/05/20 Channels/POVMs added
We've made a major addition to the available noise models in the system by adding Channels (via Kraus operators) and Generalized Measurement (via POVMs). The Users Manual has a new
section under "Advanced Noise Models" called "Channels and POVMs", the API docs have been updated and there's a new built in example called __Kraus
. A sample call would be:
__Kraus(1000,0.02,.02,true)
which would do 1000 runs with Amplitude Damping and Depolarizing noise. See the Users Manual for full details as well as the provided source code in Samples\Kraus.fsx
.
You can also find an example of a simple quantum game (Peres) using POVMs in the UserCode\MartinRoettler
directory.
2016/05/16 First Quantum Challenge Winners announced!
The winners of the first Quantum Challenge have been announced in the Microsoft Research Blog. Full information about the entries may be found in our GitHub repo.
2016/05/03 QuAM source code released
In UserCode\DaveWecker there's a new release of source code for the QuAM example that's built in to LIQUi|〉. See the README.md file in the same directory for details. We also exposed a few more APIs to help make this and other examples easier to code.
2016/04/23 QLSA source code released
In UserCode\DaveWecker there's a new release of source code for the QLSA example that's built in to LIQUi|〉. See the README.md file in the same directory for details.
2016/03/11 New introduction videos
Seven new short videos have been posted to the LIQUi|〉 Research site
2016/03/04 Outputting circuits for other Quantum Languages
We've uploaded sample code that shows how to print out circuits for other quantum languages. This specific example shows how to parse a circuit and generate QASM code. See UserCode example from DaveWecker
As always, we encourage you to join our (low volume) mailing list (instructions below) so you will directly receive announcements like these.
LIQUi|〉 is a simulation platform developed by the Quantum Architectures and Computation team at Microsoft Research to aid in the exploration of quantum computation.
LIQUi|〉 stands for “Language Integrated Quantum Operations”.
A quantum operation is usually referred to as a unitary operator (U) applied to a column state vector (also known as a ket: |>).
The “i” is just a constant scaling factor, hence the acronym.
LIQUi|〉 includes three simulators:
- A full state vector simulator that tracks the detailed evolution of the quantum state
- A stabilizer simulator based on CHP (Aaronson and Gottesman, http://arXiv.org/abs/quant-ph/0406196)
- A highly-optimized full state vector simulator for fermionic Hamiltonians
LIQUi|〉 is available under a Microsoft Research license.
See the StationQ website and the paper, LIQUi|〉: A Software Design Architecture and Domain-Specific Language for Quantum Computing.
To stay up to date on what we're doing with LIQUi|〉, please watch our repository and sign up for the LIQUi|〉 email list. To sign up, send an email to [email protected] with a one-line body reading:
SUB Liquid-news FirstName LastName
Replacing FirstName and LastName with your first and last names. If you prefer to remain anonymous, you may instead send an email containing:
SUB Liquid-news anonymous
If you use LIQUi|〉 in your research, please cite it as follows:
- bibTex:
@misc{1402.4467,
author = {Dave Wecker and Krysta M.~Svore},
title = {{LIQU}i|>: {A} {S}oftware {D}esign {A}rchitecture and {D}omain-{S}pecific
{L}anguage for {Q}uantum {C}omputing},
year = {2014},
eprint = {1402.4467},
url = {arXiv:1402.4467v1}
}
- Text:
D. Wecker and K. M. Svore, “LIQ<i>Ui</i>|〉: A Software Design Architecure and Domain-Specific
Language for Quantum Computing,” (2014), arXiv:1402.4467v1 [quant-ph],
http://arxiv.org/abs/1402.4467.
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|〉. A video of a recent talk at IQC on the reserach we've done with the simulator is at https://youtu.be/Q6M0ueXLTak?t=1s
You can download the LIQUi|〉 executable, libraries, sample scripts, and documentation from this site.
See the Getting Started page for directions on how to download and start using LIQUi|〉.
If you wish to use LIQUi|〉 on a Windows virtual machine, see the Using LIQUi|〉 on Microsoft Azure page for directions.
See the users' guide and the full help documentation. The help may also be downloaded as a single file, if desired. There is also a tutorial video available that will take you through the basics.
We've also posted seven short videos to the LIQUi|〉 Research site. These include:
- Station Q Overview
- LIQUi|〉 Simulator History
- The Quantum Challenge
- LIQUi|〉 Quantum Simulator QuickStart
- LIQUi|〉 Quantum Error Correction
- LIQUi|〉 Simulation Optimization
- LIQUi|〉 Quantum Chemistry
Note that this version of LIQUi|〉 is limited to a maximum of 23 physical qubits for full state vector simulation.
If you run into a problem or have a question, you can post an issue. If you have other feedback, you can contact the LIQUi|〉 team at [email protected].