|
622 | 622 | "\n", |
623 | 623 | "**Input:** A qubit in state $|\\psi\\rangle = \\alpha |0\\rangle + \\beta |1\\rangle$.\n", |
624 | 624 | "\n", |
625 | | - "**Goal:** Change the qubit state to $\\alpha |0\\rangle + \\color{red}i\\beta |1\\rangle$ (add a relative phase $i$ to $|1\\rangle$ component of the superposition).\n" |
| 625 | + "**Goal:** Change the qubit state to $\\alpha |0\\rangle + {\\color{red}i}\\beta |1\\rangle$ (add a relative phase $i$ to $|1\\rangle$ component of the superposition).\n" |
626 | 626 | ] |
627 | 627 | }, |
628 | 628 | { |
|
745 | 745 | "**Goal:** Change the state of the qubit as follows:\n", |
746 | 746 | "- If the qubit is in state $|0\\rangle$, don't change its state.\n", |
747 | 747 | "- If the qubit is in state $|1\\rangle$, change its state to $e^{i\\alpha} |1\\rangle$.\n", |
748 | | - "- If the qubit is in superposition, change its state according to the effect on basis vectors: $\\beta |0\\rangle + \\color{red}{e^{i\\alpha}} \\gamma |1\\rangle$." |
| 748 | + "- If the qubit is in superposition, change its state according to the effect on basis vectors: $\\beta |0\\rangle + {\\color{red}{e^{i\\alpha}}} \\gamma |1\\rangle$." |
749 | 749 | ] |
750 | 750 | }, |
751 | 751 | { |
|
794 | 794 | " =\n", |
795 | 795 | "\\begin{bmatrix}\n", |
796 | 796 | " 1.\\beta + 0.\\gamma\\\\\n", |
797 | | - " 0.\\beta + \\color{red}{e^{i\\alpha}}\\gamma\n", |
| 797 | + " 0.\\beta + {\\color{red}{e^{i\\alpha}}}\\gamma\n", |
798 | 798 | " \\end{bmatrix} \n", |
799 | 799 | " =\n", |
800 | 800 | " \\begin{bmatrix}\n", |
801 | 801 | " \\beta\\\\\n", |
802 | | - " \\color{red}{e^{i\\alpha}}\\gamma\n", |
| 802 | + " {\\color{red}{e^{i\\alpha}}}\\gamma\n", |
803 | 803 | " \\end{bmatrix} \n", |
804 | | - " = \\beta |0\\rangle + \\color{red}{e^{i\\alpha}} \\gamma |1\\rangle\n", |
| 804 | + " = \\beta |0\\rangle + {\\color{red}{e^{i\\alpha}}} \\gamma |1\\rangle\n", |
805 | 805 | "$$" |
806 | 806 | ] |
807 | 807 | }, |
|
1166 | 1166 | "source": [ |
1167 | 1167 | "## Task 2.2. Two-qubit gate - 2\n", |
1168 | 1168 | "\n", |
1169 | | - "**Input:** Two unentangled qubits (stored in an array of length 2) in state $|+\\rangle \\otimes |+\\rangle = \\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle \\color{blue}+ |11\\rangle \\big)$.\n", |
| 1169 | + "**Input:** Two unentangled qubits (stored in an array of length 2) in state $|+\\rangle \\otimes |+\\rangle = \\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle {\\color{blue}+} |11\\rangle \\big)$.\n", |
1170 | 1170 | "\n", |
1171 | 1171 | "\n", |
1172 | | - "**Goal:** Change the two-qubit state to $\\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle \\color{red}- |11\\rangle \\big)$." |
| 1172 | + "**Goal:** Change the two-qubit state to $\\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle {\\color{red}-} |11\\rangle \\big)$." |
1173 | 1173 | ] |
1174 | 1174 | }, |
1175 | 1175 | { |
|
1278 | 1278 | " 1\\cdot\\color{red}{e^{i\\alpha}}\\\\\n", |
1279 | 1279 | "\\end{bmatrix}\n", |
1280 | 1280 | "=\n", |
1281 | | - "\\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle \\color{red}- |11\\rangle \\big)\n", |
| 1281 | + "\\frac{1}{2} \\big( |00\\rangle + |01\\rangle + |10\\rangle {\\color{red}-} |11\\rangle \\big)\n", |
1282 | 1282 | "$$" |
1283 | 1283 | ] |
1284 | 1284 | }, |
|
1337 | 1337 | "source": [ |
1338 | 1338 | "## Task 2.3. Two-qubit gate - 3\n", |
1339 | 1339 | "\n", |
1340 | | - "**Input:** Two unentangled qubits (stored in an array of length 2) in an arbitrary two-qubit state $\\alpha |00\\rangle + \\color{blue}\\beta |01\\rangle + \\color{blue}\\gamma |10\\rangle + \\delta |11\\rangle$.\n", |
| 1340 | + "**Input:** Two unentangled qubits (stored in an array of length 2) in an arbitrary two-qubit state $\\alpha |00\\rangle + {\\color{blue}\\beta} |01\\rangle + {\\color{blue}\\gamma} |10\\rangle + \\delta |11\\rangle$.\n", |
1341 | 1341 | "\n", |
1342 | 1342 | "\n", |
1343 | | - "**Goal:** Change the two-qubit state to $\\alpha |00\\rangle + \\color{red}\\gamma |01\\rangle + \\color{red}\\beta |10\\rangle + \\delta |11\\rangle$.\n", |
| 1343 | + "**Goal:** Change the two-qubit state to $\\alpha |00\\rangle + {\\color{red}\\gamma} |01\\rangle + {\\color{red}\\beta} |10\\rangle + \\delta |11\\rangle$.\n", |
1344 | 1344 | "\n", |
1345 | 1345 | "> This task can be solved using one intrinsic gate; as an exercise, try to express the solution using several (possibly controlled) Pauli gates." |
1346 | 1346 | ] |
|
1423 | 1423 | " \\delta\\\\\n", |
1424 | 1424 | "\\end{bmatrix}\n", |
1425 | 1425 | "=\n", |
1426 | | - "|00\\rangle + \\color{red}\\gamma |01\\rangle + \\color{red}\\beta |10\\rangle + \\delta |11\\rangle\n", |
| 1426 | + "|00\\rangle + {\\color{red}\\gamma} |01\\rangle + {\\color{red}\\beta} |10\\rangle + \\delta |11\\rangle\n", |
1427 | 1427 | "$$" |
1428 | 1428 | ] |
1429 | 1429 | }, |
|
1533 | 1533 | "## Task 2.4. Toffoli gate\n", |
1534 | 1534 | "\n", |
1535 | 1535 | "**Input:** Three qubits (stored in an array of length 3) in an arbitrary three-qubit state \n", |
1536 | | - "$\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + \\color{blue}\\eta|110\\rangle + \\color{blue}\\theta|111\\rangle$.\n", |
| 1536 | + "$\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + {\\color{blue}\\eta}|110\\rangle + {\\color{blue}\\theta}|111\\rangle$.\n", |
1537 | 1537 | "\n", |
1538 | | - "**Goal:** Flip the state of the third qubit if the state of the first two is $|11\\rangle$, i.e., change the three-qubit state to $\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + \\color{red}\\theta|110\\rangle + \\color{red}\\eta|111\\rangle$.\n", |
| 1538 | + "**Goal:** Flip the state of the third qubit if the state of the first two is $|11\\rangle$, i.e., change the three-qubit state to $\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + {\\color{red}\\theta}|110\\rangle + {\\color{red}\\eta}|111\\rangle$.\n", |
1539 | 1539 | "\n", |
1540 | 1540 | "### Solution\n", |
1541 | 1541 | "\n", |
|
1629 | 1629 | " \\color{red}\\eta\\\\ \n", |
1630 | 1630 | "\\end{bmatrix}\n", |
1631 | 1631 | "=\n", |
1632 | | - "\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + \\color{red}\\theta|110\\rangle + \\color{red}\\eta|111\\rangle\n", |
| 1632 | + "\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\zeta|101\\rangle + {\\color{red}\\theta}|110\\rangle + {\\color{red}\\eta}|111\\rangle\n", |
1633 | 1633 | "$$" |
1634 | 1634 | ] |
1635 | 1635 | }, |
|
1660 | 1660 | "## Task 2.5. Fredkin gate\n", |
1661 | 1661 | "\n", |
1662 | 1662 | "**Input:** Three qubits (stored in an array of length 3) in an arbitrary three-qubit state \n", |
1663 | | - "$\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\color{blue}\\zeta|101\\rangle + \\color{blue}\\eta|110\\rangle + \\theta|111\\rangle$.\n", |
| 1663 | + "$\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + {\\color{blue}\\zeta}|101\\rangle + {\\color{blue}\\eta}|110\\rangle + \\theta|111\\rangle$.\n", |
1664 | 1664 | "\n", |
1665 | | - "**Goal:** Swap the states of second and third qubit if and only if the state of the first qubit is $|1\\rangle$, i.e., change the three-qubit state to $\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\color{red}\\eta|101\\rangle + \\color{red}\\zeta|110\\rangle + \\theta|111\\rangle$.\n", |
| 1665 | + "**Goal:** Swap the states of second and third qubit if and only if the state of the first qubit is $|1\\rangle$, i.e., change the three-qubit state to $\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + {\\color{red}\\eta}|101\\rangle + {\\color{red}\\zeta}|110\\rangle + \\theta|111\\rangle$.\n", |
1666 | 1666 | "\n", |
1667 | 1667 | "\n", |
1668 | 1668 | "### Solution\n", |
|
1758 | 1758 | " \\theta\\\\ \n", |
1759 | 1759 | "\\end{bmatrix}\n", |
1760 | 1760 | "=\n", |
1761 | | - "\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + \\color{red}\\eta|101\\rangle + \\color{red}\\zeta|110\\rangle + \\theta|111\\rangle\n", |
| 1761 | + "\\alpha |000\\rangle + \\beta |001\\rangle + \\gamma |010\\rangle + \\delta |011\\rangle + \\epsilon |100\\rangle + {\\color{red}\\eta}|101\\rangle + {\\color{red}\\zeta}|110\\rangle + \\theta|111\\rangle\n", |
1762 | 1762 | "$$" |
1763 | 1763 | ] |
1764 | 1764 | }, |
|
1800 | 1800 | "file_extension": ".qs", |
1801 | 1801 | "mimetype": "text/x-qsharp", |
1802 | 1802 | "name": "qsharp", |
1803 | | - "version": "0.14" |
| 1803 | + "version": "0.24" |
1804 | 1804 | }, |
1805 | 1805 | "widgets": { |
1806 | 1806 | "application/vnd.jupyter.widget-state+json": { |
|
0 commit comments