Tools for Quantum Algorithm Development on Dynex - dynexcoin/DynexSDK GitHub Wiki

Dynex's platform supports a variety of tools for creating and working with both n.quantum gate circuits and n.quantum annealing models:

For quantum gate circuits, support for tools such as Qiskit, Cirq, Pennylane, and OpenQASM are seamlessly integrated into the Dynex platform, enabling users to leverage these advanced quantum gate circuit languages. This enables the execution of well-known quantum algorithms like Shor's algorithm for efficient problem-solving in number theory, Grover's algorithm for database search, Simon's algorithm for finding hidden periods, or the Deutsch-Josza algorithm for determining the parity of a function.

For n.quantum annealing, tools like Dimod offer a shared API for samplers and provide classes for quadratic and higher-order models. PyQUBO allows the easy creation of QUBOs or Ising models from flexible mathematical expressions, complete with automatic constraint validation and parameter tuning. AutoQUBO by Fujitsu Research automates the conversion of Python functions to QUBO representations, facilitating the use of Ising machines on the Dynex platform to solve combinatorial optimization problems. Qubolite, developed by the Lamarr Institute, is a lightweight toolbox in NumPy for creating, analyzing, and solving QUBO instances, incorporating cutting-edge research algorithms.

This comprehensive support ensures that both quantum gate circuits and quantum annealing models can be efficiently executed on the Dynex neuromorphic computing platform.

PennyLane

Dynex supports PennyLane circuits. PennyLane.ai is a cutting-edge software framework designed for quantum machine learning, quantum computing, and quantum chemistry applications. Developed by Xanadu, PennyLane bridges the gap between quantum hardware and classical machine learning libraries, enabling the creation and optimization of hybrid quantum-classical algorithms. By integrating seamlessly with popular machine learning libraries such as TensorFlow and PyTorch, PennyLane allows researchers and developers to leverage the power of quantum computing to solve complex problems in various fields. Its versatile and user-friendly interface supports a wide range of quantum devices and simulators, making it an invaluable tool for advancing the frontiers of quantum technology and research.

IBM Qiskit

Dynex supports IBM Qiskit circuits. IBM Qiskit is a comprehensive open-source quantum computing software development framework created by IBM. It is designed to enable researchers, developers, and enthusiasts to create and execute quantum algorithms on real quantum hardware and simulators. Qiskit provides a robust set of tools and libraries for quantum programming, including modules for quantum circuits, quantum algorithms, and quantum applications across various domains such as chemistry, machine learning, and optimization. Its integration with classical computing resources and compatibility with other scientific computing frameworks make it a powerful resource for pushing the boundaries of what is possible in quantum computing research and application.

Google CIRQ

Dynex supports Google's Cirq. Google Cirq is an open-source quantum computing framework developed by Google, tailored specifically for creating, simulating, and executing quantum circuits on Google's quantum processors. Cirq is designed to be highly efficient and user-friendly, providing developers and researchers with a powerful platform to develop quantum algorithms and run them on actual quantum hardware. The framework includes a suite of tools for building and optimizing quantum circuits, along with comprehensive support for noise modeling and quantum error correction, essential for practical quantum computations. By integrating seamlessly with classical computing environments and offering detailed simulation capabilities, Cirq enables the exploration of quantum computing's potential in solving complex problems across various scientific and industrial domains. Its focus on near-term quantum devices makes it a crucial resource for advancing quantum computing research and applications, fostering innovation, and bridging the gap between theoretical and practical quantum computing.

OpenQASM

At the core of Dynex' capability to execute quantum gate circuits stands OpenQASM. OpenQASM (Open Quantum Assembly Language) is a standardized intermediate representation for describing quantum circuits and algorithms, developed to facilitate the communication and execution of quantum programs across different quantum computing platforms. It serves as a bridge between high-level quantum programming languages and the low-level instructions executed by quantum hardware. OpenQASM's syntax and structure resemble classical assembly languages, but it is specifically designed to capture the operations and measurements pertinent to quantum computing. By providing a common language for expressing quantum programs, OpenQASM promotes interoperability and portability, allowing researchers and developers to write quantum algorithms that can be run on various types of quantum processors. Its adoption as a standard language helps streamline the development of quantum software, fostering collaboration and innovation in the rapidly evolving field of quantum computing.

Dimod: A Shared API for QUBO/ISING Samplers

Dimod is a shared API for samplers. It provides classes for quadratic models—such as the binary quadratic model (BQM) class that contains Ising and QUBO models used by samplers such as the Dynex Neuromorphic Platform or the D-Wave system—and higher-order (non-quadratic) models, reference examples of samplers and composed samplers and abstract base classes for constructing new samplers and composed samplers:

PyQUBO: QUBOs or Ising Models from Flexible Mathematical Expressions

PyQUBO allows you to create QUBOs or Ising models from flexible mathematical expressions easily. It is Python based (C++ backend), fully integrated with Ocean SDK, supports automatic validation of constraints and features placeholder for parameter tuning.

AutoQUBO: Automated Conversion from Python functions to QUBO

AUTOmated QUBO Generator (by Fujitsu Research) is an automatic tool for converting a high-level description of an optimization problem, written in Python, into an equivalent QUBO representation. It is doing this by using a novel data driven translation method that can completely decouple the input and output representation. The QUBO framework provides a way to model, in principle, any combinatorial optimization problem and enables the use of Ising machines, like available on the Dynex Platform, to solve it. It introduces symbolic sampling, which provides QUBO formulations for entire problem classes.

Qubolite: light-weight toolbox for working with QUBO instances in NumPy

Quantum Computing (QC) has ushered in a new era of computation, promising to solve problems that are practically infeasible for classical computers. One of the most exciting applications of quantum computing is its ability of solving combinatorial optimization problems, such as Quadratic Unconstrained Binary Optimization (QUBO). This problem class has regained significant attention with the advent of Quantum Computing. These hard-to-solve combinatorial problems appear in many different domains, including finance, logistics, Machine Learning and Data Mining. To harness the power of Quantum Computing for QUBO, The Lamarr Institute introduced qubolite, a Python package comprising utilities for creating, analyzing, and solving QUBO instances, which incorporates current research algorithms developed by scientists at the Lamarr Institute. Qubolite is a light-weight toolbox for working with QUBO instances in NumPy. This fork showcases the use of Qubolite to compute on the Dynex Neuromorphic computing platform.