Skip to the content.

embera

Build Status Coverage Status Python 3.6

embera offers a collection of minor-Embedding Resources and Algorithms for QUBO/Ising-model sampling applications.

Why embera?

The name embera is a nod to the Emberá indigeneous communities.

The reason for embera as an open-source project lies in the limited connectivity of practical quantum (or digital) annealing samplers, which means that a straightforward one-to-one mapping, from variables to qubits, is not likely to lead to a valid implementation, and may require the use of qubit chains. A chain is an extension of a problem vertex over multiple connected qubits. Finding a good solution to the problem is vital for at least two reasons: (a) the capabilities of the mapping algorithm can determine the size (or complexity) of the problems that can be solved, especially in the presence of defective qubits, and (b) the quality (energy levels) of the samples heavily depends on the structure of the mapping.

A mapping of the problem graph G={P,E}, with nodes P and edges E, to the sampler graph H={Q,C}, with qubits Q and couplers C, can be formulated as a minor-embedding problem.

Definition:

A graph G is a minor of H if G is isomorphic to a graph obtained from a subgraph of H by successively contracting edges.

Resources:

Algortihms:

Some of our methods can be used as composites making part of the D-Wave Ocean software stack or, otherwise, from their interface functions, such as find_embedding().

Installation

To install from source:

python setup.py install

Example Usage

A set of examples are provided in the examples folder.