Microsoft has a lot of interest in quantum computing and even though we don't actually have any such thing at the moment this hasn't stopped it from creating a simulator called LIQUi|>.

As many other news sources have explained in great detail, LIQUi|> isn't a typo but a sort of physicist's joke.

The name of the simulator is Language Integrated Quantum Operations - so that should be LIQO - but a quantum operation is a unitary operator U acting on a state ket which is written U|> - the i is put in just to make the acronym work, but it is explained away as a normalizing constant.

Cute, but there is a point here. The joke is an in joke; just easy enough to explain to the non-expert, but to be honest if you don't get it on your own you aren't going to be using the simulation anyway. This isn't easy stuff despite the warm fuzzy presentation in this promo video and the suggestion that this is going to get programmers into quantum computing:

Essentially LIQUi|> is a set of three simulators with F# as a scripting language. There have been suggestions for special quantum computing languages, but this really doesn't seem to be necessary.

The three simulators are: a full universal modeler that allows general qubits to be subjected to a range of gates, a stabilizer modeler that allows a restricted range of circuits to be simulated more efficiency and a physical modeller that is basically a Hamiltonian simulator. The physical modeller is sophisticated enough to be used to do quantum chemistry.

The universal modeller is limited to 30 qbits on a machine with 32GBytes of RAM. It has been used to implement the classic Shor factoring algorithm and has factored a 13-bit number using 27 qbits and five days of runtime - a real quantum computer could do the job a lot faster of course.

Some examples of what you can use LIQUi|> for are:

Simple quantum teleportation

Shor's factoring algorithm

Quantum chemistry: computing the ground state energy of a molecule

Quantum error correction

Quantum associative memory

Quantum linear algebra

and these and others are included in the set of examples which is now freely available on GitHub.

At the moment the hope is that other people will use the simulator to learn about quantum computing and test out ideas.

"The researchers are hoping that, using LIQUi|>, computer scientists at Microsoft and other academic and research institutions will be able to perfect the algorithms they need to efficiently use a quantum computer even as the computers themselves are simultaneously being developed."

In the future, when and if there is a quantum computer, then the role of LIQUi|> will change to being a system that creates real quantum programs:

"Ultimately, LIQUi|> will 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. It will include compilers, optimizers, translators, and various simulators."

Of course, there are people who think that a quantum computer is impossible to build because of the problems of noise spoiling the quantum state. Others think that there might be some physical law that means that a quantum computer could work, but only produce results as fast as a conventional computer.

As the result of extensive analysis of Stack Overflow questions and answers, researchers have come up with some dos and don'ts about framing questions that will result in useful answers.

Facebook has added a new feature to Buck, its open-sourced fast build system. The addition can be used to get faster compile times for Android projects.