diff --git a/Circuit Library Demo.ipynb b/Circuit Library Demo.ipynb index 67130ae..1b92978 100644 --- a/Circuit Library Demo.ipynb +++ b/Circuit Library Demo.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -75,25 +75,25 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐\n", - "q_0: ┤ Ry(θ[0]) ├─■─┤ Rz(θ[2]) ├─■─┤ Ry(θ[4]) ├─■─┤ Rz(θ[6]) ├\n", - " ├──────────┤ │ ├──────────┤ │ ├──────────┤ │ ├──────────┤\n", - "q_1: ┤ Ry(θ[1]) ├─■─┤ Rz(θ[3]) ├─■─┤ Ry(θ[5]) ├─■─┤ Rz(θ[7]) ├\n", - " └──────────┘ └──────────┘ └──────────┘ └──────────┘\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ "from qiskit.circuit.library import RYRZ # Kandala et al., Nature Cover \n", "varform = RYRZ(h2_qubit_operator.num_qubits)\n", - "print(varform) " + "varform.draw(scale=1, output='mpl')" ] }, { @@ -136,19 +136,19 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐\n", - "q_0: ┤ Ry(θ[0]) ├─────■──────┤ Ry(θ[3]) ├─────■──────┤ Ry(θ[6]) ├─────■───────┤ Ry(θ[9]) ├\n", - " ├──────────┤┌────┴─────┐├──────────┤┌────┴─────┐├──────────┤┌────┴─────┐┌┴──────────┤\n", - "q_1: ┤ Ry(θ[1]) ├┤ Rx(θ[2]) ├┤ Ry(θ[4]) ├┤ Rx(θ[5]) ├┤ Ry(θ[7]) ├┤ Rx(θ[8]) ├┤ Ry(θ[10]) ├\n", - " └──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└───────────┘\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -156,11 +156,11 @@ "\n", "# easy to implement all efficient 2-local circuits, e.g. all of Alan Aspuru-Guzik's Paper\n", "varform = TwoLocal(h2_qubit_operator.num_qubits, \n", - " rotation_gates='ry',\n", - " entanglement_gates='crx',\n", + " rotation_blocks='ry',\n", + " entanglement_blocks='crx',\n", " entanglement='linear', \n", " reps=3)\n", - "print(varform) " + "varform.draw(scale=1.2, output='mpl')" ] }, { @@ -195,23 +195,19 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 11, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌──────────┐┌──────────┐ ░ ┌──────────┐\n", - "q_0: ┤ Ry(θ[0]) ├┤ Rx(θ[4]) ├─────■───────────────────────────────░──┤ Ry(θ[8]) ├\n", - " ├──────────┤└────┬─────┘┌────┴─────┐ ░ ├──────────┤\n", - "q_1: ┤ Ry(θ[1]) ├─────┼──────┤ Rx(θ[5]) ├─────■───────────────────░──┤ Ry(θ[9]) ├\n", - " ├──────────┤ │ └──────────┘┌────┴─────┐ ░ ┌┴──────────┤\n", - "q_2: ┤ Ry(θ[2]) ├─────┼──────────────────┤ Rx(θ[6]) ├─────■───────░─┤ Ry(θ[10]) ├\n", - " ├──────────┤ │ └──────────┘┌────┴─────┐ ░ ├───────────┤\n", - "q_3: ┤ Ry(θ[3]) ├─────■──────────────────────────────┤ Rx(θ[7]) ├─░─┤ Ry(θ[11]) ├\n", - " └──────────┘ └──────────┘ ░ └───────────┘\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -220,7 +216,7 @@ "varform.insert_barriers = True\n", "varform.entanglement = 'circular'\n", "varform.rotation_gates = ['z', 'ry']\n", - "print(varform)" + "varform.draw(scale=1, output='mpl')" ] }, { @@ -232,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -245,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -260,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -270,68 +266,28 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
     ┌──────────┐┌──────────────┐     »\n",
-       "q_0: ┤ U2(0,pi) ├┤ U1(2.0*x[0]) ├──■──»\n",
-       "     ├──────────┤├──────────────┤┌─┴─┐»\n",
-       "q_1: ┤ U2(0,pi) ├┤ U1(2.0*x[1]) ├┤ X ├»\n",
-       "     └──────────┘└──────────────┘└───┘»\n",
-       "«                                                                         »\n",
-       "«q_0: ─────────────────────────────────────────────────────────────────■──»\n",
-       "«     ┌─────────────────────────────────────────────────────────────┐┌─┴─┐»\n",
-       "«q_1: ┤ U1(2.0*(3.14159265358979 - x[0])*(3.14159265358979 - x[1])) ├┤ X ├»\n",
-       "«     └─────────────────────────────────────────────────────────────┘└───┘»\n",
-       "«     ┌──────────┐┌──────────────┐     »\n",
-       "«q_0: ┤ U2(0,pi) ├┤ U1(2.0*x[0]) ├──■──»\n",
-       "«     ├──────────┤├──────────────┤┌─┴─┐»\n",
-       "«q_1: ┤ U2(0,pi) ├┤ U1(2.0*x[1]) ├┤ X ├»\n",
-       "«     └──────────┘└──────────────┘└───┘»\n",
-       "«                                                                         \n",
-       "«q_0: ─────────────────────────────────────────────────────────────────■──\n",
-       "«     ┌─────────────────────────────────────────────────────────────┐┌─┴─┐\n",
-       "«q_1: ┤ U1(2.0*(3.14159265358979 - x[0])*(3.14159265358979 - x[1])) ├┤ X ├\n",
-       "«     └─────────────────────────────────────────────────────────────┘└───┘
" - ], + "image/png": "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\n", "text/plain": [ - " ┌──────────┐┌──────────────┐ »\n", - "q_0: ┤ U2(0,pi) ├┤ U1(2.0*x[0]) ├──■──»\n", - " ├──────────┤├──────────────┤┌─┴─┐»\n", - "q_1: ┤ U2(0,pi) ├┤ U1(2.0*x[1]) ├┤ X ├»\n", - " └──────────┘└──────────────┘└───┘»\n", - "« »\n", - "«q_0: ─────────────────────────────────────────────────────────────────■──»\n", - "« ┌─────────────────────────────────────────────────────────────┐┌─┴─┐»\n", - "«q_1: ┤ U1(2.0*(3.14159265358979 - x[0])*(3.14159265358979 - x[1])) ├┤ X ├»\n", - "« └─────────────────────────────────────────────────────────────┘└───┘»\n", - "« ┌──────────┐┌──────────────┐ »\n", - "«q_0: ┤ U2(0,pi) ├┤ U1(2.0*x[0]) ├──■──»\n", - "« ├──────────┤├──────────────┤┌─┴─┐»\n", - "«q_1: ┤ U2(0,pi) ├┤ U1(2.0*x[1]) ├┤ X ├»\n", - "« └──────────┘└──────────────┘└───┘»\n", - "« \n", - "«q_0: ─────────────────────────────────────────────────────────────────■──\n", - "« ┌─────────────────────────────────────────────────────────────┐┌─┴─┐\n", - "«q_1: ┤ U1(2.0*(3.14159265358979 - x[0])*(3.14159265358979 - x[1])) ├┤ X ├\n", - "« └─────────────────────────────────────────────────────────────┘└───┘" + "
" ] }, - "execution_count": 23, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "print(feature_map)" + "feature_map.draw(putput='mpl')" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -371,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -380,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -389,23 +345,23 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 13, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌───┐ ┌──────────┐ ┌──────────┐ ┌──────────┐\n", - "q24_0: ┤ H ├─■───────────X─┤ Ry(θ[0]) ├─■─┤ Rz(θ[2]) ├─■─┤ Ry(θ[4]) ├\n", - " └───┘ │pi/2 ┌───┐ │ ├──────────┤ │ ├──────────┤ │ ├──────────┤\n", - "q24_1: ──────■─────┤ H ├─X─┤ Ry(θ[1]) ├─■─┤ Rz(θ[3]) ├─■─┤ Ry(θ[5]) ├\n", - " └───┘ └──────────┘ └──────────┘ └──────────┘\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "print(varform.draw())" + "varform.draw(output='mpl')" ] }, {