Qibo features a model implementing double-bracke quantum algorithms (DBQAs) which are helpful for approximating eigenstates based on the ability to run the evolution under the input Hamiltonian.
More specifically, given an input Hamiltonian
A standard way is to run variational quantum circuits. For example, Qibo already features the VQE model [2] which provides the implementation of the variational quantum eigensolver framework.
DBQAs allow to go beyond VQE in that they take a different approach to compiling the quantum circuit approximating the eigenstate [3].
Given dbi module provides numerical strategies for selecting them.
For any such choice we define the bracket
We can show that the magnitude of the off-diagonal norms will decrease.
For this let us set the notation that numpy this can be implemented by \sigma(A) = A-np.diag(A).
With this notation we next use the Hilbert-Schmidt scalar product and norm to measure the progress of diagonalization
For theoretical considerations the canonical bracket is useful.
For this we need the notation of the dephasing channel np.diag(h).
- the multi qubit Pauli Z generator with
$Z(\mu) = (Z_1)^{\mu_1}\ldots (Z_L)^{\mu_L}$ where we optimize over all binary strings$\mu\in {0,1}^L$ - the magnetic field
$D = \sum_i B_i Z_i$ - the two qubit Ising model
$D = \sum_i B_i Z_i + \sum_{i,j} J_{i,j} Z_i Z_j$ , please follow the tutorial by Matteo and use the QIBO ising model for that with$h=0$
The theory above shows that in generic cases the DBR will have a linear diagonalization effect (as quantified by
The package can be installed by source after cloning the repository:
cd qibo-dbqa
pip install .[1] https://arxiv.org/abs/2206.11772
[2] https://qibo.science/qibo/stable/code-examples/advancedexamples.html#how-to-write-a-vqe