From 53838a0f6b1784bd455e3109ad4316df4c463f8b Mon Sep 17 00:00:00 2001 From: Marek Gluza Date: Wed, 24 Jul 2024 09:52:06 +0800 Subject: [PATCH 1/3] refactored notebook for Hamiltonian Simulation, thanks JYK for help --- ...n_SymbolicHamiltonianEvolutionOracle.ipynb | 163 ++++++++++++++++++ .../dbi/double_bracket_evolution_oracles.py | 37 ++++ 2 files changed, 200 insertions(+) create mode 100644 notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb diff --git a/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb new file mode 100644 index 00000000..8921e7db --- /dev/null +++ b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb @@ -0,0 +1,163 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "74374538-67f2-42f2-a6da-b744798ffc1a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Qibo 0.2.9|INFO|2024-07-24 09:36:07]: Using tensorflow backend on /device:CPU:0\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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qazX1qWcq8JUlmvrXIZhkJubW+h7TrumSrRrqAPNmTPHcHNzM6ZOnWrExsYaI0aMMHx8fIz9+/cbhmEYY8eONe69996C/ffu3Wt4e3sbI0eONGJjY42pU6cabm5uxnfffeesv0KpKe65euedd4wFCxYYO3fuNLZu3WqMHTvWAIz58+c7669QatLT042YmBgjJibGAIzJkycbMTExxoEDBwzD0HX1b8U9V5X5uho6dKgREBBgLFmyxEhMTCx4ZGVlFeyja8vuUs5VZb22xo0bZyxbtszYt2+fsXnzZuOZZ54xzGaz8b///c8wjLJzTZWbYGEYhvHRRx8ZYWFhhru7u9GuXbuzhiMNGjTI6N69+1n7L1myxGjbtq3h7u5u1KtXz5gyZUopV+w8xTlXr7/+utGwYUPD09PTqFq1qtGtWzfj119/dULVpe/0sLVzH4MGDTIMQ9fVvxX3XFXm66qw8wQY06dPL9hH15bdpZyrynptDR48uOD3eo0aNYwePXoUhArDKDvXlJZNFxEREYcpF30sREREpHxQsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh/l/+hlmVFBTYKwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from qibo import hamiltonians\n", + "import numpy as np\n", + "from boostvqe.compiling_XXZ import *\n", + "from boostvqe.models.dbi.double_bracket_evolution_oracles import *\n", + "\n", + "t = 0.01\n", + "steps = 3\n", + "delta=0.5\n", + "nqubits= 5\n", + "\n", + "h_xxz = hamiltonians.XXZ(nqubits=nqubits, delta = delta)\n", + "h_xxz_sym = hamiltonians.XXZ(nqubits=nqubits, delta = delta, dense=False)\n", + "hsim_eo = SymbolicHamiltonian_EvolutionOracle.from_symbolic_hamiltonian(h_xxz_sym)\n", + "\n", + "diff_norms = []\n", + "diff_norms_2nd_order = []\n", + "sym_ham = []\n", + "\n", + "times = np.linspace(0,3,30)\n", + "for t in times:\n", + " u = h_xxz.exp(t)\n", + " circ = nqubit_XXZ_decomposition(nqubits=nqubits,t=t,delta=delta,steps=steps)\n", + " diff_norms.append(np.linalg.norm(u-vw_xxz_compiling_phase(nqubits,steps)*circ.unitary()))\n", + " circ = nqubit_XXZ_decomposition(nqubits=nqubits,t=t,delta=delta,steps=steps,order=2)\n", + " diff_norms_2nd_order.append(np.linalg.norm(u-vw_xxz_compiling_phase(nqubits,steps, order = 2)*circ.unitary()))\n", + " circ = hsim_circ = hsim_eo.circuit(t, steps)\n", + " sym_ham.append(np.linalg.norm(u-vw_xxz_compiling_phase(nqubits,steps, order = 2)*circ.unitary()))\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.plot(times, diff_norms)\n", + "plt.plot(times, diff_norms_2nd_order)\n", + "plt.plot(times, sym_ham)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "665915fd-a38f-4043-9a72-c7b2441d12c9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Effective number of layers:\n" + ] + }, + { + "data": { + "text/plain": [ + "6.0" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from boostvqe.models.dbi.group_commutator_iteration_transpiler import *\n", + "print(\"Effective number of layers from SymbolicHamiltonian:\")\n", + "GroupCommutatorIterationWithEvolutionOracles.count_gates(circuit = hsim_circ,gate_type=gates.gates.CZ)/nqubits/steps" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "da4e08e7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Effective number of layers from custom compiling:\n" + ] + }, + { + "data": { + "text/plain": [ + "4.8" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "circ = nqubit_XXZ_decomposition(nqubits=nqubits,t=t,delta=delta,steps=steps,order=2)\n", + "print(\"Effective number of layers from custom compiling:\")\n", + "GroupCommutatorIterationWithEvolutionOracles.count_gates(circuit = circ,gate_type=gates.gates.CNOT)/nqubits/steps" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9567e630", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py index 669b564f..28d173d6 100644 --- a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py +++ b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py @@ -11,6 +11,8 @@ from qibo.config import raise_error from qibo.hamiltonians import AbstractHamiltonian, SymbolicHamiltonian +from qibo.transpiler.unitary_decompositions import two_qubit_decomposition + # TODO: remove this global import from boostvqe.compiling_XXZ import nqubit_XXZ_decomposition @@ -252,3 +254,38 @@ def circuit(self, t_duration, steps=None, order=None): steps=steps, order=order, ) + + +@dataclass +class SymbolicHamiltonian_EvolutionOracle(EvolutionOracle): + steps: int = None + order: int = None + delta: float = 0.5 + + @classmethod + def from_symbolic_hamiltonian(cls, symbolic_hamiltonian: SymbolicHamiltonian, **kwargs): + return cls( + symbolic_hamiltonian, + evolution_oracle_type=EvolutionOracleType.hamiltonian_simulation, + **kwargs, + ) + + def circuit(self, t_duration: int, steps:int=1, order=None): + dt = t_duration/steps + c = self.h.circuit(dt) + nqubits = c.nqubits + c_recompiled_into_CNOT = Circuit(nqubits=nqubits) + + for gate in c.queue: + if len(gate.qubits) > 1: #if gate is two qubit + gate_decomposition = two_qubit_decomposition(*gate.qubits, gate.matrix()) + for gate_elem in gate_decomposition: + c_recompiled_into_CNOT.add(gate_elem) + else: + c_recompiled_into_CNOT.add(gate) + + multi_layer = Circuit(nqubits=nqubits) + for _ in range(steps): + multi_layer += c_recompiled_into_CNOT + + return multi_layer \ No newline at end of file From a5cb711d2c7bad0f1798fc7e5fc4072596cc8ab7 Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 24 Jul 2024 14:34:02 +0400 Subject: [PATCH 2/3] refactor: include decomposition in EvolutionOracle --- ...n_SymbolicHamiltonianEvolutionOracle.ipynb | 25 +++---- .../dbi/double_bracket_evolution_oracles.py | 72 ++++++++++++------- 2 files changed, 54 insertions(+), 43 deletions(-) diff --git a/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb index 8921e7db..8afc4856 100644 --- a/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb +++ b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb @@ -2,30 +2,23 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "id": "74374538-67f2-42f2-a6da-b744798ffc1a", "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Qibo 0.2.9|INFO|2024-07-24 09:36:07]: Using tensorflow backend on /device:CPU:0\n" - ] - }, { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 1, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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qazX1qWcq8JUlmvrXIZhkJubW+h7TrumSrRrqAPNmTPHcHNzM6ZOnWrExsYaI0aMMHx8fIz9+/cbhmEYY8eONe69996C/ffu3Wt4e3sbI0eONGJjY42pU6cabm5uxnfffeesv0KpKe65euedd4wFCxYYO3fuNLZu3WqMHTvWAIz58+c7669QatLT042YmBgjJibGAIzJkycbMTExxoEDBwzD0HX1b8U9V5X5uho6dKgREBBgLFmyxEhMTCx4ZGVlFeyja8vuUs5VZb22xo0bZyxbtszYt2+fsXnzZuOZZ54xzGaz8b///c8wjLJzTZWbYGEYhvHRRx8ZYWFhhru7u9GuXbuzhiMNGjTI6N69+1n7L1myxGjbtq3h7u5u1KtXz5gyZUopV+w8xTlXr7/+utGwYUPD09PTqFq1qtGtWzfj119/dULVpe/0sLVzH4MGDTIMQ9fVvxX3XFXm66qw8wQY06dPL9hH15bdpZyrynptDR48uOD3eo0aNYwePXoUhArDKDvXlJZNFxEREYcpF30sREREpHxQsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh1GwEBEREYdRsBARERGHUbAQERERh/l/+hlmVFBTYKwAAAAASUVORK5CYII=", + "image/png": "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", "text/plain": [ "
" ] @@ -72,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "id": "665915fd-a38f-4043-9a72-c7b2441d12c9", "metadata": {}, "outputs": [ @@ -80,7 +73,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Effective number of layers:\n" + "Effective number of layers from SymbolicHamiltonian:\n" ] }, { @@ -89,7 +82,7 @@ "6.0" ] }, - "execution_count": 10, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -102,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 3, "id": "da4e08e7", "metadata": {}, "outputs": [ @@ -119,7 +112,7 @@ "4.8" ] }, - "execution_count": 13, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } diff --git a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py index 28d173d6..cf5ee3d9 100644 --- a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py +++ b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py @@ -2,7 +2,7 @@ from dataclasses import dataclass from enum import Enum, auto from functools import reduce -from typing import Union +from typing import Optional, Union import hyperopt import matplotlib.pyplot as plt @@ -10,7 +10,6 @@ from qibo import Circuit, gates, symbols from qibo.config import raise_error from qibo.hamiltonians import AbstractHamiltonian, SymbolicHamiltonian - from qibo.transpiler.unitary_decompositions import two_qubit_decomposition # TODO: remove this global import @@ -37,17 +36,32 @@ def __call__(self, t_duration: float): """Returns either the name or the circuit""" return self.circuit(t_duration=t_duration) - def circuit(self, t_duration: float): + def circuit(self, t_duration: float, steps: Optional[int] = None): """This function returns depending on `EvolutionOracleType` string, ndarray or `Circuit`. In the hamiltonian_simulation mode we evaluate an appropriate Trotter-Suzuki discretization up to `self.eps_trottersuzuki` threshold. """ if self.evolution_oracle_type is EvolutionOracleType.numerical: return self.h.exp(t_duration) else: - dt = t_duration / self.steps + if steps is None: + steps = self.steps + dt = t_duration / steps + original_circuit = self.h.circuit(dt) + decomposed_circuit = Circuit(original_circuit.nqubits) + + for gate in original_circuit.queue: + if len(gate.qubits) > 1: # if gate is two qubit + gate_decomposition = two_qubit_decomposition( + *gate.qubits, gate.matrix() + ) + for gate_elem in gate_decomposition: + decomposed_circuit.add(gate_elem) + else: + decomposed_circuit.add(gate) + return reduce( Circuit.__add__, - [deepcopy(self.h).circuit(dt)] * self.steps, + [decomposed_circuit] * steps, ) @@ -256,29 +270,33 @@ def circuit(self, t_duration, steps=None, order=None): ) -@dataclass +@dataclass class SymbolicHamiltonian_EvolutionOracle(EvolutionOracle): - steps: int = None - order: int = None - delta: float = 0.5 - - @classmethod - def from_symbolic_hamiltonian(cls, symbolic_hamiltonian: SymbolicHamiltonian, **kwargs): - return cls( - symbolic_hamiltonian, - evolution_oracle_type=EvolutionOracleType.hamiltonian_simulation, + steps: int = None + order: int = None + delta: float = 0.5 + + @classmethod + def from_symbolic_hamiltonian( + cls, symbolic_hamiltonian: SymbolicHamiltonian, **kwargs + ): + return cls( + symbolic_hamiltonian, + evolution_oracle_type=EvolutionOracleType.hamiltonian_simulation, **kwargs, - ) - - def circuit(self, t_duration: int, steps:int=1, order=None): - dt = t_duration/steps - c = self.h.circuit(dt) + ) + + def circuit(self, t_duration: int, steps: int = 1, order=None): + dt = t_duration / steps + c = self.h.circuit(dt) nqubits = c.nqubits c_recompiled_into_CNOT = Circuit(nqubits=nqubits) - - for gate in c.queue: - if len(gate.qubits) > 1: #if gate is two qubit - gate_decomposition = two_qubit_decomposition(*gate.qubits, gate.matrix()) + + for gate in c.queue: + if len(gate.qubits) > 1: # if gate is two qubit + gate_decomposition = two_qubit_decomposition( + *gate.qubits, gate.matrix() + ) for gate_elem in gate_decomposition: c_recompiled_into_CNOT.add(gate_elem) else: @@ -286,6 +304,6 @@ def circuit(self, t_duration: int, steps:int=1, order=None): multi_layer = Circuit(nqubits=nqubits) for _ in range(steps): - multi_layer += c_recompiled_into_CNOT - - return multi_layer \ No newline at end of file + multi_layer += c_recompiled_into_CNOT + + return multi_layer From a24f49f4872985af49151f72362d89e8e69418ad Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 24 Jul 2024 14:38:10 +0400 Subject: [PATCH 3/3] chore: Remove old class --- ...n_SymbolicHamiltonianEvolutionOracle.ipynb | 16 ++++---- .../dbi/double_bracket_evolution_oracles.py | 39 ------------------- 2 files changed, 8 insertions(+), 47 deletions(-) diff --git a/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb index 8afc4856..b0ae0fc7 100644 --- a/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb +++ b/notebooks/docs_and_tutorial_ideas/example_comparison_SymbolicHamiltonianEvolutionOracle.ipynb @@ -2,17 +2,17 @@ "cells": [ { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "id": "74374538-67f2-42f2-a6da-b744798ffc1a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 4, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, @@ -40,7 +40,7 @@ "\n", "h_xxz = hamiltonians.XXZ(nqubits=nqubits, delta = delta)\n", "h_xxz_sym = hamiltonians.XXZ(nqubits=nqubits, delta = delta, dense=False)\n", - "hsim_eo = SymbolicHamiltonian_EvolutionOracle.from_symbolic_hamiltonian(h_xxz_sym)\n", + "hsim_eo = EvolutionOracle(h_xxz_sym, EvolutionOracleType.hamiltonian_simulation)\n", "\n", "diff_norms = []\n", "diff_norms_2nd_order = []\n", @@ -65,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "665915fd-a38f-4043-9a72-c7b2441d12c9", "metadata": {}, "outputs": [ @@ -82,7 +82,7 @@ "6.0" ] }, - "execution_count": 5, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "da4e08e7", "metadata": {}, "outputs": [ @@ -112,7 +112,7 @@ "4.8" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } diff --git a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py index cf5ee3d9..72a31d26 100644 --- a/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py +++ b/src/boostvqe/models/dbi/double_bracket_evolution_oracles.py @@ -268,42 +268,3 @@ def circuit(self, t_duration, steps=None, order=None): steps=steps, order=order, ) - - -@dataclass -class SymbolicHamiltonian_EvolutionOracle(EvolutionOracle): - steps: int = None - order: int = None - delta: float = 0.5 - - @classmethod - def from_symbolic_hamiltonian( - cls, symbolic_hamiltonian: SymbolicHamiltonian, **kwargs - ): - return cls( - symbolic_hamiltonian, - evolution_oracle_type=EvolutionOracleType.hamiltonian_simulation, - **kwargs, - ) - - def circuit(self, t_duration: int, steps: int = 1, order=None): - dt = t_duration / steps - c = self.h.circuit(dt) - nqubits = c.nqubits - c_recompiled_into_CNOT = Circuit(nqubits=nqubits) - - for gate in c.queue: - if len(gate.qubits) > 1: # if gate is two qubit - gate_decomposition = two_qubit_decomposition( - *gate.qubits, gate.matrix() - ) - for gate_elem in gate_decomposition: - c_recompiled_into_CNOT.add(gate_elem) - else: - c_recompiled_into_CNOT.add(gate) - - multi_layer = Circuit(nqubits=nqubits) - for _ in range(steps): - multi_layer += c_recompiled_into_CNOT - - return multi_layer