{"id":170888,"date":"2011-12-19T10:19:35","date_gmt":"2011-12-19T10:19:35","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/language-integrated-quantum-operations-liqui\/"},"modified":"2018-11-02T11:06:22","modified_gmt":"2018-11-02T18:06:22","slug":"language-integrated-quantum-operations-liqui","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/language-integrated-quantum-operations-liqui\/","title":{"rendered":"Language-Integrated Quantum Operations: LIQUi|>"},"content":{"rendered":"

\"Microsoft's\" width=\"300\" height=\"186\" \/><\/a>LIQUi|> is a software architecture and toolsuite for quantum computing. It 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 being developed by the Quantum Architectures and Computation Group (QuArC)<\/a>\u00a0at Microsoft Research.<\/p>\n

<\/h2>\n

About LIQUi|><\/h2>\n

To aid in the development and understanding of quantum protocols, quantum algorithms, quantum error correction, and quantum devices, QuArC<\/a> 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.<\/p>\n

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\u2019s circuit for Shor\u2019s algorithm.<\/p>\n

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 ><\/a><\/strong><\/p>\n

<\/h2>\n

What LIQUi|> can do<\/h2>\n

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:<\/p>\n