|
87 | 87 | "id": "785bc8599470"
|
88 | 88 | },
|
89 | 89 | "source": [
|
90 |
| - "<img src=\"/cirq/images/pasqal/Cirq_pasqal.png\" width=\"700\"/>\n", |
| 90 | + "<img src=\"../../images/pasqal/Cirq_pasqal.png\" width=\"700\"/>\n", |
91 | 91 | "\n",
|
92 | 92 | "In this notebook, we show how to program a quantum circuit for Pasqal using cirq. The first step is to import cirq, and Pasqal custom classes. We use ``PasqalVirtualDevice`` to showcase how Cirq enforces Pasqal's devices' restrictions throughout the process."
|
93 | 93 | ]
|
|
102 | 102 | "\n",
|
103 | 103 | "The QPU of Pasqal is made of neutral atoms controlled by lasers. Individual atoms are trapped at well-defined positions in 1, 2 or even 3D, as shown on the following plot ( [Nature 561, 79 (2018)](https://www.nature.com/articles/s41586-018-0450-2)).\n",
|
104 | 104 | "\n",
|
105 |
| - "<img src=\"/cirq/images/pasqal/eiffel_tower.png\" width=\"500\"/>\n", |
| 105 | + "<img src=\"../../images/pasqal/eiffel_tower.png\" width=\"500\"/>\n", |
106 | 106 | "\n",
|
107 | 107 | "We created a custom class in cirq, ThreeDQubit, that corresponds to a qubit placed in 3D space. Let us start by creating a register comprising $36=6\\times6$ qubits in 2D, regularly arranged on a square lattice. It corresponds to the following configuration (image taken from [Nature 561, 79 (2018)](https://www.nature.com/articles/s41586-018-0450-2))\n",
|
108 | 108 | "\n",
|
109 |
| - "<img src=\"/cirq/images/pasqal/grid_atoms.png\" width=\"300\"/>" |
| 109 | + "<img src=\"../../images/pasqal/grid_atoms.png\" width=\"300\"/>" |
110 | 110 | ]
|
111 | 111 | },
|
112 | 112 | {
|
|
257 | 257 | "source": [
|
258 | 258 | "When the distance between the two qubits involved in the gate is greater than the control radius, as shown for example in the following plot, cirq will raise an error.\n",
|
259 | 259 | "\n",
|
260 |
| - "<img src=\"/cirq/images/pasqal/r_radius.001.png\" width=\"300\"/><br>" |
| 260 | + "<img src=\"../../images/pasqal/r_radius.001.png\" width=\"300\"/><br>" |
261 | 261 | ]
|
262 | 262 | },
|
263 | 263 | {
|
|
291 | 291 | "\n",
|
292 | 292 | "More precisely, we will implement Grover's algorithm to search for the state $|10\\rangle$, which corresponds to the circuit:\n",
|
293 | 293 | "\n",
|
294 |
| - "<img src=\"/cirq/images/pasqal/Grover_circuit.png\" width=\"750\"/><br>\n", |
| 294 | + "<img src=\"../../images/pasqal/Grover_circuit.png\" width=\"750\"/><br>\n", |
295 | 295 | "\n",
|
296 | 296 | "Bear in mind that this is a naïve implementation that can be substantially optimized, particularly in the oracle and the usage of an ancilla, but that is beyond the scope of this tutorial.\n",
|
297 | 297 | "\n",
|
|
0 commit comments