diff --git a/docs/tutorials/fractional-gates.ipynb b/docs/tutorials/fractional-gates.ipynb index 179a361c42b..6acb8384bbe 100644 --- a/docs/tutorials/fractional-gates.ipynb +++ b/docs/tutorials/fractional-gates.ipynb @@ -148,7 +148,7 @@ "\n", "Before starting this tutorial, be sure you have the following installed:\n", "- Qiskit SDK v2.0 or later, with [visualization](/docs/api/qiskit/visualization) support\n", - "- Qiskit Runtime v0.37 or later (`pip install qiskit-ibm-runtime`)\n", + "- Qiskit Runtime v0.41 or later (`pip install qiskit-ibm-runtime`)\n", "- Qiskit Basis Constructor (`pip install qiskit_basis_constructor`)" ] }, @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "fd577102", "metadata": {}, "outputs": [ @@ -196,7 +196,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "Backend: ibm_fez\n", + "Backend: ibm_boston\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "No fractional gates: ['cz', 'id', 'rz', 'sx', 'x']\n", "With fractional gates: ['cz', 'id', 'rx', 'rz', 'rzz', 'sx', 'x']\n" ] @@ -244,7 +250,7 @@ "where $|\\Phi(x)\\rangle$ represents the feature-mapped quantum state.\n", "\n", "We manually construct a ZZ feature map circuit using RZZ gates.\n", - "Although Qiskit provides a built-in `zz_feature_map`, it does not currently support RZZ gates as of Qiskit v2.0.2 ([see issue](https://github.com/Qiskit/qiskit/issues/14469)).\n", + "Although Qiskit provides a built-in `zz_feature_map`, it does not currently support RZZ gates as of Qiskit v2.4.1 ([see issue](https://github.com/Qiskit/qiskit/issues/14469)).\n", "\n", "Next, we compute the kernel function for identical inputs - for example, $K(x, x) = 1$.\n", "On noisy quantum computers, this value may be less than 1 due to noise.\n", @@ -428,7 +434,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "OrderedDict([('rz', 35), ('rzz', 18), ('x', 13), ('rx', 9), ('measure', 4), ('barrier', 2)])\n" + "OrderedDict({'rz': 35, 'rzz': 18, 'x': 13, 'rx': 9, 'measure': 4, 'barrier': 2})\n" ] }, { @@ -505,15 +511,7 @@ "execution_count": 12, "id": "a703b939", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "d4bninsi51bc738j97eg\n" - ] - } - ], + "outputs": [], "source": [ "job = sampler_f.run(t_qc_f, shots=shots)\n", "print(job.job_id())" @@ -545,12 +543,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "[0.9005, 0.647, 0.3345, 0.355, 0.3315, 0.174, 0.1875, 0.149, 0.1175, 0.085]\n" + "[0.8995, 0.7985, 0.57, 0.717, 0.5795, 0.5785, 0.456, 0.3155, 0.1785, 0.211]\n" ] } ], "source": [ - "# job = service.job(\"d1obougt0npc73flhiag\")\n", + "# job = service.job(\"d8585pg0bvlc73d5aai0\")\n", "result = job.result()\n", "fidelity_f = [fidelity(result=res) for res in result]\n", "print(fidelity_f)\n", @@ -589,7 +587,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "OrderedDict([('rz', 130), ('sx', 80), ('cz', 36), ('measure', 4), ('barrier', 2)])\n" + "OrderedDict({'rz': 130, 'sx': 80, 'cz': 36, 'measure': 4, 'barrier': 2})\n" ] }, { @@ -647,15 +645,7 @@ "execution_count": 18, "id": "983dd26f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "d4bnirvnmdfs73ae3a2g\n" - ] - } - ], + "outputs": [], "source": [ "job = sampler_c.run(pubs=zip(t_qc_c, params), shots=shots)\n", "print(job.job_id())" @@ -671,13 +661,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "[0.6675, 0.5725, 0.098, 0.102, 0.065, 0.0235, 0.006, 0.0015, 0.0015, 0.002]\n" + "[0.8875, 0.623, 0.4395, 0.2425, 0.1985, 0.085, 0.029, 0.003, 0.0005, 0.0]\n" ] } ], "source": [ "# step 4: post-processing\n", - "# job = service.job(\"d1obp8j3rr0s73bg4810\")\n", + "# job = service.job(\"d8585uegbeec73aorp10\")\n", "result = job.result()\n", "fidelity_c = [fidelity(res) for res in result]\n", "print(fidelity_c)\n", @@ -704,7 +694,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 20, @@ -740,7 +730,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 21, @@ -776,7 +766,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 22, @@ -812,7 +802,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 23, @@ -973,7 +963,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "OrderedDict([('rz', 23), ('sx', 16), ('cz', 4)])\n" + "OrderedDict({'rz': 23, 'sx': 16, 'cz': 4})\n" ] }, { @@ -1015,7 +1005,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "OrderedDict([('rz', 22), ('sx', 14), ('cz', 4), ('rx', 1)])\n" + "OrderedDict({'rz': 22, 'sx': 14, 'cz': 4, 'rx': 1})\n" ] }, { @@ -1122,7 +1112,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "OrderedDict([('rz', 16), ('rx', 9), ('cz', 4)])\n" + "OrderedDict({'rz': 16, 'rx': 9, 'cz': 4})\n" ] }, { @@ -1162,8 +1152,8 @@ "source": [ "### Issue: Invalid RZZ angles might remain after transpilation\n", "\n", - "As of Qiskit v2.0.3, there are known issues where RZZ gates with invalid angles may remain in the circuits even after transpilation.\n", - "The issue typically arises under the following conditions." + "As of Qiskit v2.4.1, there is a known issue where RZZ gates with invalid angles might remain in the circuits even after transpilation.\n", + "The issue typically arises under the following condition." ] }, { @@ -1175,17 +1165,7 @@ "\n", "When the `target` option is used with `generate_preset_pass_manager` or `transpiler`, the specialized transpiler pass `FoldRzzAngle` is not invoked.\n", "To ensure proper handling of RZZ angles for fractional gates, we recommend always using the `backend` option instead.\n", - "See [this issue](https://github.com/Qiskit/qiskit/issues/14318) for more details." - ] - }, - { - "cell_type": "markdown", - "id": "ac27c7cb", - "metadata": {}, - "source": [ - "#### Failure when circuits contain certain gates\n", - "\n", - "If your circuit includes certain gates such as `XXPlusYYGate`, the Qiskit transpiler may generate RZZ gates with invalid angles.\n", + "See [this issue](https://github.com/Qiskit/qiskit/issues/14318) for more details.\n", "If you encounter this issue, see this [GitHub issue](https://github.com/Qiskit/qiskit-ibm-runtime/issues/2256#issuecomment-2889487152) for a workaround." ] }, diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/1383b242-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/1383b242-1.avif index 7d0fb916cea..6a11c9a2df3 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/1383b242-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/1383b242-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/6b812497-0.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/6b812497-0.avif index c9252d6d0aa..bc76149198d 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/6b812497-0.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/6b812497-0.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/6c9c1977-0.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/6c9c1977-0.avif index 41f54488e8f..cd3346bb1c3 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/6c9c1977-0.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/6c9c1977-0.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/8b4594f5-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/8b4594f5-1.avif index d4baf9c595f..1b787d08f35 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/8b4594f5-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/8b4594f5-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/98bb2cd0-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/98bb2cd0-1.avif index 68837e15421..b6a3fe1be59 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/98bb2cd0-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/98bb2cd0-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/9e8e0709-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/9e8e0709-1.avif index 3031eabb796..aaf19d13bc3 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/9e8e0709-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/9e8e0709-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/a10f2d95-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/a10f2d95-1.avif index 2402c399ba8..47ed4f7eb17 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/a10f2d95-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/a10f2d95-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/a18e5c70-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/a18e5c70-1.avif index c0ba9c849dc..6021423f758 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/a18e5c70-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/a18e5c70-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/b19aae7c-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/b19aae7c-1.avif index 193e9c9e87b..dbe560637e8 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/b19aae7c-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/b19aae7c-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/b3d6341a-0.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/b3d6341a-0.avif index 612f93129ac..2945aff0fb3 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/b3d6341a-0.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/b3d6341a-0.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/db45feb0-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/db45feb0-1.avif index 87c7a6cda86..25c34dcd45a 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/db45feb0-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/db45feb0-1.avif differ diff --git a/public/docs/images/tutorials/fractional-gates/extracted-outputs/ef343a53-1.avif b/public/docs/images/tutorials/fractional-gates/extracted-outputs/ef343a53-1.avif index 68f99e2d68c..9778920d009 100644 Binary files a/public/docs/images/tutorials/fractional-gates/extracted-outputs/ef343a53-1.avif and b/public/docs/images/tutorials/fractional-gates/extracted-outputs/ef343a53-1.avif differ