Embedding with Lidar's repetition code to do error correction on Dwave's QPU
I tried to run some TSP problem on DWave and have the usual problem when problem size increases (I read comments in forum and I am aware of minimal gap of Hamiltonian, strategies to change anneal time and schedule, pause of anneal, new lower noise 2000Q_5 QPU etc.).
I was wondering if instead it would be possible to implement the repetition code with penalty described in Lidar's video below at 54:10
In this video, each K_4,4 bipartite graph with 8 physical qubits is reduced to two logical qubits. There is a parameter alpha which couples the two logical qubits together and a penalty parameter minus beta which couples the three physical qubits on one side with the other physical qubit on the other side of the bipartite graph in one logical qubit to strengthen the relation between the 4 physical qubits and make them a logical one.
To decode the solution, one samples with majority voting the four physical qubits and gets one logical qubit back.
Of course, the 2048 physical qubits are reduced to 512 logical and the degree of the Chimera graph goes down from 6 to 3 (in mentioned video at 1:00:12). So, the embedding of a complete graph for TSP is reduced even further...
Would it be possible to implement such a method in Ocean as new general embedding strategy available to anyone? It would be one more effective strategy to reduce noise when decoding solutions from the sampler, provided the problem is small enough to be embedded in the reduced Lidar graph.
If yes how? Should one hardcode the reduced Lidar graph leaving out damaged physical Qubits for a particular QPU? Should one subclass EmbeddingComposite and create a LidarEmbeddingComposite? Where would the decoding part go?