# How does D WAVE do the mapping?

After we calculated the bias on each qubit and the coupler strength on each edge, we can get our Hamiltonian function. The next step would be connecting to the D WAVE system sampler and let the Quantum annealer envolves to it's lowest energy state and find the corresponding assignment on those qubits. So can anyone tell me how does D WAVE map the Ising model to the Chimera graph?

• For our particular implementation, find_embedding, you can take a look at the open source code in GitHub:
https://github.com/dwavesystems/minorminer

In particular, if you take a look at the README.rst file, you will see a link to the following paper:
https://arxiv.org/abs/1406.2741

This gist of this algorithm is that it picks a random spot and then tries to build the embedding.
It is not always successful.

There are also other embedding algorithms, such as clique embedding.

Here is a reference to the code:
https://docs.ocean.dwavesys.com/projects/system/en/stable/_modules/dwave/embedding/chimera.html#find_clique_embedding

Clique embedding uses polynomial embedder:
https://github.com/dwavesystems/dwave-system/blob/master/dwave/embedding/polynomialembedder.py

There is a paper on clique embedding here:
https://arxiv.org/abs/1507.04774

• Hello,

Let me link you to a couple of resource!

This Community post talks about how problems are solved on the QPU.

The Getting Started Guide walks through formulating a problem to running it on the QPU.

Specifically you might want to look at the Chimera Graph page and the Minor Embedding page, which talk about the QPU architecture, and mapping a problem to that architecture respectively.

The QPU represents ising problems natively, representing qubits as spins taking on a +1 or -1 state, as described in this document, specifically in section 2.1.1 Ising Model.