Special Purpose Quantum Computing - dynexcoin/DynexSDK GitHub Wiki

The Dynex platform leverages neuromorphic quantum computing to enhance a range of computational problems. The Q-CFD project integrates quantum computing into Computational Fluid Dynamics (CFD) using OpenFoam, while Q-SISR formulates super-resolution as a sparse coding optimization problem, demonstrating improved accuracy. Q-FOLDING utilizes quantum optimization for RNA and protein folding tasks. The Scikit-Learn plugin integrates seamlessly with the Dynex platform to enhance feature selection in machine learning workflows. Additionally, the QBoost algorithm, inspired by a collaboration between Google and D-Wave, optimizes binary classifiers using quantum adiabatic methods on the Dynex Neuromorphic Platform. These projects highlight the versatility and advanced capabilities of Dynex in tackling complex computational challenges across various domains.

Grover's Algorithm

This quantum circuit implements Grover's algorithm for integer factorization using quantum gates. The circuit involves several qubit registers: wires_p and wires_q represent the prime factors, while wires_solution stores the product. Here's a breakdown of the operations:

  1. Hadamard Gates: Apply superposition to all qubits in wires_p and wires_q.
  2. Multiplication Function: This function uses the Quantum Fourier Transform (QFT) and controlled rotations (Kfourier) to multiply the values in wires_p and wires_q, storing the result in wires_solution.
  3. FlipSign and Grover's Operator: These operations perform the amplitude amplification, essential for Grover's search algorithm, to iteratively enhance the probability of measuring the correct factors.

The circuit returns the probabilities of each possible combination of factors after the Grover iterations. This process leverages the power of quantum parallelism and Grover's algorithm to factorize the integer n.

Shor's Algorithm

This Shor’s algorithm circuit is designed to factorize an integer 𝑁 using quantum computation, particularly by finding the period (or order) of a modular function. Here's how it works:

  1. Quantum State Preparation: The circuit prepares a superposition of states using Hadamard gates on the qubits responsible for estimating the period (estimate qubits). The last target qubit is initialized in the |1⟩ state using a Pauli-X gate.

  2. Controlled Unitaries: Controlled operations apply powers of a unitary matrix π‘ˆπ‘π΄ (constructed from the integers π‘Ž and 𝑁) to the target qubits, controlled by the estimate qubits. These operations encode the modular exponentiation function into the quantum state.

  3. Inverse Quantum Fourier Transform (QFT): The inverse QFT is applied to the estimate qubits to extract the phase information, which is related to the period of the function.

  4. Measurement: The circuit samples the final state, which provides information about the period.

  5. Post-Processing: The sampled result is used to calculate the period, from which the factors of 𝑁 are derived.

Shor’s algorithm leverages quantum parallelism and the QFT to efficiently factorize large integers, a problem that is classically hard but feasible with quantum computing. This circuit is a practical implementation of Shor’s algorithm, targeting specific numbers like 𝑁=35 with a randomly chosen base π‘Ž=12. The algorithm iteratively searches for the period π‘Ÿ, and once found, uses it to derive the prime factors of 𝑁.

Quantum Computational Fluid Dynamics (Q-CFD)

Implementation of QC in Computational Fluid Dynamics (CFD) as QUBO/Ising Problem using DYNEX Neuromorphic Quantum Computing and OpenFoam importer.

Quantum Single Image Super Resolution (Q-SISR)

This algorithm demonstrates formulating quantum SISR as a sparse coding optimization problem, which is solved using the Dynex Neuromorphic Computing Platform via the Dynex SDK. This AQC-based algorithm is demonstrated to achieve improved SISR accuracy.

Quantum Folding

RNA and protein folding on the Dynex Neuromorphic Computing Platform utilising enhanced optimisation capabilities.

  • Example: Quantum Protein Folding | Scientific background: IrbΓ€ck, Anders & Knuthson, Lucas & Mohanty, Sandipan & Peterson, Carsten. (2022). Folding lattice proteins with quantum annealing.

  • Example: Quantum RNA Folding of the Tobacco Mild Green Mosaic Virus | Scientific background: Fox DM, MacDermaid CM, Schreij AMA, Zwierzyna M, Walker RC. RNA folding using quantum computers,. PLoS Comput Biol. 2022 Apr 11;18(4):e1010032. doi: 10.1371/journal.pcbi.1010032. PMID: 35404931; PMCID: PMC9022793

Scikit-Learn

This package provides a scikit-learn transformer for feature selection using the Dynex Neuromorphic Computing Platform. It is built to integrate seamlessly with scikit-learn, an industry-standard, state-of-the-art ML library for Python.

The Dynex scikit-learn Plugin makes it easier to use the Dynex platform for the feature selection piece of ML workflows. Feature selection – a key building block of machine learning – is the problem of determining a small set of the most representative characteristics to improve model training and performance in ML. With this new plug-in, ML developers need not be experts in optimization or hybrid solving to get the business and technical benefits of both. Developers creating feature selection applications can build a pipeline with scikit-learn and then embed the Dynex Platform into this workflow more easily and efficiently. ​

QBoost

The D-Wave quantum computer has been widely studied as a discrete optimization engine that accepts any problem formulated as quadratic unconstrained binary optimization (QUBO). In 2008, Google and D-Wave published a paper, Training a Binary Classifier with the Quantum Adiabatic Algorithm, which describes how the Qboost ensemble method makes binary classification amenable to quantum computing: the problem is formulated as a thresholded linear superposition of a set of weak classifiers and the D-Wave quantum computer is used to optimize the weights in a learning process that strives to minimize the training error and number of weak classifiers

The Dynex QBoost Implementation provides a QBoost algorithm plugin to use the Dynex Neuromorphic Platform.