Build quantum software with LIQUi|>

LIQUi|> is a modular software architecture designed to control quantum hardware. It enables easy programming, compilation, and simulation of quantum algorithms and circuits, and is independent of a specific quantum architecture.

LIQUi|> contains an embedded, domain-specific language designed for programming quantum algorithms, with F# as the host language Two different simulation environments are available to the user which allow a trade-off between number of qubits and class of operations. LIQUi|> is being developed by the Quantum Architectures and Computation Group (QuArC) at Microsoft Research.

LIQUi|> features:

  • Can run with built-in samples, from scripts or as a runtime in a custom application.
  • Managed runtimes make code easy to write and guarantee safe execution. .NET manages memory with a garbage collector, compiles your code with a JIT compiler.
  • Can be used to create  simulations that run on multiple OSes and CPUs. It runs on Windows, OSX and Linux.
  • Circuits may be rendered in either Web compatible SVG graphics or LaTaX compatible TikZ. Many formatting options are available.
  • A wide range of included optimizations allow for large circuits with a significant number of qubits to be simulated.
  • Runtime modularity allows for an extensibility model where the user can create their own quantum gates and circuits as hierarchical elements in a sophisticated library.
  • It comes with a large documentation set including an extensive Users’s Manual, API documentation (both compiled help and HTML) as well as an extensive samples suite.
  • Portable across various platforms, both in terms of operating systems and processor architectures. Code written for it is also portable across application stacks, such as Mono, making it feasible to move applications across app stacks as well.

LIQUi|> allows the simulation of Hamiltonians, quantum circuits, quantum stabilizer circuits, and quantum noise models, and supports Client, Service, and Cloud operation. It also 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.

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.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *