Skip to content

Commit

Permalink
Idiomatic use of "segments" in floquet calibration tutorial (#4528)
Browse files Browse the repository at this point in the history
  • Loading branch information
mpharrigan committed Sep 24, 2021
1 parent 3a287c2 commit 9591615
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions docs/tutorials/google/floquet_calibration_example.ipynb
Expand Up @@ -257,28 +257,28 @@
"source": [
"sqrt_iswap = cirq.ISWAP ** 0.5\n",
"\n",
"\n",
"def create_linear_chain_circuit(\n",
" segments: Sequence[Sequence[cirq.Qid]],\n",
"def create_linear_chain_segment(\n",
" segment: Sequence[cirq.Qid],\n",
" num_trotter_steps: int,\n",
") -> cirq.Circuit:\n",
" \"\"\"Returns a linear chain circuit to demonstrate Floquet calibration on.\"\"\"\n",
" circuit = cirq.Circuit()\n",
"\n",
" # Initial state preparation.\n",
" for segment in segments:\n",
" circuit += [cirq.X.on(segment[len(segment) // 2])]\n",
" \"\"\"Returns a linear chain circuit on one segment.\"\"\"\n",
" circuit = cirq.Circuit(cirq.X.on(segment[len(segment) // 2]))\n",
"\n",
" # Trotter steps.\n",
" for step in range(num_trotter_steps):\n",
" offset = step % 2\n",
" moment = cirq.Moment()\n",
" for segment in segments:\n",
" moment += cirq.Moment(\n",
" [sqrt_iswap.on(a, b) for a, b in zip(segment[offset::2], \n",
" segment[offset + 1::2])])\n",
" circuit += moment\n",
" circuit += cirq.Moment(\n",
" [sqrt_iswap.on(a, b) for a, b in zip(segment[offset::2], \n",
" segment[offset + 1::2])])\n",
" return circuit\n",
"\n",
"def create_linear_chain_circuit(\n",
" segments: Sequence[Sequence[cirq.Qid]],\n",
" num_trotter_steps: int,\n",
") -> cirq.Circuit:\n",
" \"\"\"Returns a linear chain circuit to demonstrate Floquet calibration on.\"\"\"\n",
" circuit_segments = [create_linear_chain_segment(segment, num_trotter_steps) for segment in segments]\n",
" circuit = cirq.Circuit.zip(*circuit_segments)\n",
" return circuit + cirq.measure(*sum(segments, ()), key='z')"
]
},
Expand Down

0 comments on commit 9591615

Please sign in to comment.