NEASQC quantum-based, open-source application libraries: the initial release

One of the core objectives of the NEASQC project is to provide a selection of industry-grade open source NISQ programming libraries, with a view to facilitate code-reusability, and to provide newcomers to the quantum computing software community with well-documented and high-quality exemplary industrial cases.

As NEASQC just passed the halfway point, five open-source libraries have been released. More libraries will be released until the end of the project.

Methodology

To ensure a high-quality standard in the various libraries and a relative homogeneity, the project gives basic coding guidelines and support tools to the different use cases.

The methodology adopted by the project is based on best practice and user experience. It aims to implement enough uniformity of the libraries to allow for interoperability between them. The methodology is as follows:

  1. The libraries focus on circuit-based programming
  2. The programming language is myQLM python (pyAQASM)
  3. Atos acts as the integrator of the libraries, and notifies developers when new bugs are introduced due to changes in the core quantum programming library
  4. Following the best practice in software engineering, continuous integration (CI) is used. Candidates for additional libraries are regularly examined.
  5. The libraries (source codes and compiled) are made public only once they have reached a correct level of integration quality.
  6. The library source code must be documented and accompanied by application examples in jupyter notebooks, according to standard coding best practices

Financial applications

The Quantum Quantitative Finance Library (QQuantLib) assembles different quantum algorithms and techniques for use in the financial industry. It is available from the NEASQC GitHub: https://github.com/NEASQC/FinancialApplications

QQuantLib is organised in the following packages:

  • The Data Loading package which contains modules related to the loading of the data into the quantum circuits.
  • The Amplitude Amplification package deals with the construction of amplitude amplification (Grover-like) operators given an input oracle.
  • The Amplitude Estimation package is devoted to different amplitude amplification algorithms.
  • The Phase Estimation package contains modules for phase estimation algorithms that can be used in amplitude estimation procedure.
  • The Utils package contains auxiliary modules used for all the beforementioned packages.

Drug discovery

The Variational_Algorithms repository (https://github.com/NEASQC/Variationals_algorithms) collects Python scripts and Jupyter notebooks that allow the user to test different variational algorithms. It contains custom functions developed by NEASQC partners, such as Variational Hamiltonian Ansatz and PBO (Pre-Born-Oppenheimer) Hamiltonian.

Quantum probabilistic safety assessment (QPSA)

Fault trees are a type of model which captures how small failures in probabilistic systems can propagate and ultimately lead to a critical system failure. An important component of fault tree analysis is finding small subsets of events which can cause a critical failure (often called “cut sets”). Finding these small cut sets is important because they often correspond to the most likely way a system will fail.

THE NEASQC team working on QPSA has developed an open source implementation (https://github.com/NEASQC/ft-2-quantum-sat) of a procedure which computes minimal cut sets from fault trees by translating the problem to a satisfiability (SAT) problem. This SAT formula can then either be solved with a classical SAT solver, or with a quantum algorithm: specifically, Grover’s algorithm for amplitude amplification. The solutions found by both methods are the same, but the quantum algorithm allows for a quadradic speedup in time complexity. Additionally, for quantum computers which have too few qubits to handle the entire problem instance, a divide and conquer approach can theoretically be used to split the problem up and obtain smaller quantum speedups.

CO2 recapture

As part of the use case dedicated to C02 recapture, NEASQC is making available code that allows for the calculation of the ground state energy of benzene under spatial de-formations by using a state-of-the-art quantum computing methodology – the variational quantum eigensolver (VQE). Two types of quantum computing ansatze are implemented (the hardware efficient one and the qUCC). The code supports noisy simulations and three types of spatial deformations of the benzene molecule. The code is available on Github : https://github.com/NEASQC/D4.2.

Quantum natural language processing (QNLP)

The objective of the QNLP use case in NEASQC is to investigate, develop and compare existing methods in classical NLP with a QNLP approach to encode and process sentences in a hybrid classical-quantum workflow.

The “QNLP alpha prototype” (https://github.com/NEASQC/WP6_QNLP/tree/v0.2-alpha-d0.9) is an incremental update to the pre-alpha prototype delivered previously (https://github.com/NEASQC/WP6_QNLP). The alpha prototype goes beyond the DisCoCat method used in the pre-alpha prototype to explore and implement an alternate method based on Dressed Quantum Circuits.

Our website uses cookies to give you the most optimal experience online by: measuring our audience, understanding how our webpages are viewed and improving consequently the way our website works, providing you with relevant and personalized marketing content. You have full control over what you want to activate. You can accept the cookies by clicking on the “Accept all cookies” button or customize your choices by selecting the cookies you want to activate. You can also decline all cookies by clicking on the “Decline all cookies” button. Please find more information on our use of cookies and how to withdraw at any time your consent on our privacy policy.
Accept all cookies
Decline all cookies
Privacy Policy