Applications that use 1QBit’s hardware-agnostic platform continually benefit from advances in quantum and classical computing without the need to refactor them.
1QBit’s hardware-agnostic platform leverages the best available techniques to solve industry problems without the operational overhead of integrating with specialized classical and quantum hardware.
Our partners’ applications are built on 1QBit’s API in their preferred programming language. The API is built on our internal software development kit (SDK) which can solve many NP-complete problems using both classical and quantum hardware. The SDK also contains methods for decomposing problems to push the limits of what’s possible with available hardware. New classical, quantum, and quantum-inspired hardware architectures are continually added to the SDK to enable rapid testing and adjustment of the combination of solvers and interfacing techniques that will generate the strongest solution.
As our research team develops novel algorithms and techniques they are added to 1QBit’s platform, and our partners benefit without having to make updates to their applications to take advantage of new advances in technology. 1QBit maintains partnerships and relationships with a vast ecosystem of hardware partners so that our clients don’t have to. As new versions of the hardware are released and added to our platform, they are seamlessly accessed by the applications our partners build on our API.
1QBit’s internal software development kit (SDK) enables our researchers, software developers, and professional services team to rapidly test and develop hardware-agnostic applications. We provide our strategic partners with access to the 1QBit SDK, along with support from our technical experts, to enable their internal teams to quickly prototype and test custom applications.
The 1QBit™ SDK has three main components: the Common Solver Interface, Binary Polynomial, and Algorithms layers. The Common Solver Interface and Binary Polynomial layers can be used to implement new algorithms. Efficient implementations of multiple well known and frequently used algorithms are provided in the Algorithms layer.
The SDK’s modular design allows for customizability at any layer, from the algorithms to the binary polynomial to the underlying solvers. This enables users to customize 1QBit’s pre-developed functions or develop and integrate entirely new algorithms within the robust SDK framework.
1QBit’s SDK and accompanying documentation provide the tools necessary for users to solve optimization, simulation, and machine learning problems. The documentation for the SDK is frequently updated and maintained by our interdisciplinary team, and consists of both a technical guide for the SDK and a set of detailed tutorials to facilitate the rapid development of applications for quantum hardware.
At the highest level of abstraction, users need to understand only high-level algorithms to use 1QBit's software development kit.
An easy-to-use mechanism to transform problems into polynomial form before being sent to the Common Solver Interface layer.
A common interface to the quantum hardware and classical solvers. The solver can be switched at any time, while leaving the application-level code intact.
The Minimum K-Cut Partitioning algorithm partitions the vertex set of a graph into k non-empty and fixed-size subsets such that the total weight of edges connecting distinct subsets (edge cut) is minimized. This algorithm has applications in parallel computing and VLSI design.
The Coloring algorithm checks whether a graph can be coloured using k colours. That means finding a mapping of k colours to the nodes of a graph such that no two adjacent nodes have the same colour and all of the nodes are coloured. Both the decision and optimization versions of this algorithm are included in the SDK. This algorithm has applications in airline scheduling and bandwidth allocation.
A clique in a graph is a subgraph in which every node is connected to every other node. A k-plex is a subgraph that relaxes this definition; each node in a k-plex can be disconnected from up to k other nodes in the k-plex. The Maximum K-Plex algorithm finds the largest k-plex in a graph. This algorithm has applications in areas such as social network analysis.
The Clique Cover algorithm determines if the vertices of a graph can be partitioned into k cliques. 1QBit's SDK includes both the decision and optimization versions of the algorithm. This algorithm has applications in computational biology and the semiconductor industry.
The Knapsack algorithm solves the classic linear knapsack problem. The objective of the optimization is to choose a subset of items each with a weight and a value such that the total value is maximized while the total weight does not exceed a certain capacity. This algorithm has many applications, including the selection of investments, budget control, and cargo loading.
The Quasi-K-Clique algorithm finds the maximum number of nodes in a graph for which the vertex-induced subgraph is missing only k edges. This algorithm has applications in areas such as community detection and financial engineering.
This algorithm finds the maximum co-k-plex in a graph. For an input graph G, we call a subset of vertices a co-k-plex if the vertex-induced subgraph has a maximum degree of k. In other words, S is a co-k-plex in G if and only if S is a k-plex in the complement graph of G.
The Graph Similarity algorithm finds the common substructures in two graphs and provides a similarity measure based on these substructures. It has been implemented using the Co-K-Plex algorithm in 1QBit's SDK. The Graph Similarity algorithm has applications in anomaly detection and machine learning methods for molecular classification.
This module automates the process of transforming a higher-order polynomial into a quadratic polynomial.
There is a linear transformation from a QUBO formulation to an Ising model and vice versa. The Ising model is the actual problem that gets solved by the quantum computing processor. The transformation between the QUBO formulation and the Ising model is provided by this component.
Operations like adding, multiplying, and exponentiating are provided in the Binary Polynomials layer. These are useful tools when creating the QUBO formulation that is going to be sent to the Common Solver Interface layer.
This component is a heuristic QUBO solver that provides the same interface as the one provided by D-Wave. It is able to solve QUBO problems with many more variables compared to problems current quantum computing hardware can handle. Although it cannot guarantee the optimality of the solution, heuristic approaches like this are currently used with classical computers to solve problems that will be solvable using quantum processors.
This component is a software wrapper that connects to D-Wave’s quantum computing processor. It is meant to abstract away the complexities of directly interfacing with the hardware. This component makes use of helper modules to achieve simplicity and provide an easy-to-use interface.
Embedding is an extremely complex problem that needs to be solved every time a QUBO problem is going to be solved on a quantum computing processor. This module provides users with pre-calculated general embeddings so that they do not have to solve the embedding problem each time.
This component allows users to reuse their previously calculated embeddings to speed up the embedding process.
This component provides user-friendly statistics and information about the status of the quantum processing chip and the architecture.
“Quantum computing will disrupt finance in ways not seen since the introduction of algorithmic trading. As with every disruption, there will be a few winners and many losers. 1QBit offers the best platform and services to avoid your company being left behind.”