-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QAOA without optimization #359
Comments
Regarding this point, note that Qibo Hamiltonians support matrix multiplication using the h1 = hamiltonians.TFIM(4)
h2 = hamiltonians.XXZ(4)
h = h1 @ h2 - h2 @ h1 works and Note that currently this works for normal Hamiltonians but will not work with |
Hi @stavros11 , thanks for your reply. Then we can implement the matrix one easily, and the problem would be the trotter case. How is the inner structure of a Do you want me to write the code except for the |
The structure of {(0, 1): h, (1, 2): h, (2, 0): h} where The main technical difficulty with implementing By the way, if you have any idea that could simplify this let us know because the
If you mean the code for the QAOA optimization scheme, if you find it useful then it would certainly be good to have. For this you don't need to worry about the |
I understand, in order to perform all multiplications one should run over all possibilities and perform all little multiplications. That could be up N^(2 * m), where m is the max order of the hamiltonian, i.e., how many qubits are connected via hamiltonian terms. I do not know right now how to handle that in a straightforward way. I will try to write the piece of code and let us see what happens. |
I have opened a new PR from branch |
Hi all,
I have recently seen a paper where a method for constructing a QAOA without any optimization is proposed. I think that it would be useful to have this kind of approach in QIBO, just to have a method that always works, even though it could be not the best one. The paper is https://arxiv.org/pdf/2103.08619.pdf
Let me summarize the proposal. They propose having the Schrödinger equation
where H_B and H_P are as usually. Then, the circuit is created normally and the parameters for the problem layer are constructed in such a way that the result improves with every new layer.
I think that this method should be easy to implement, and the main problem I see here is computing the conmutator between H_B and H_P, step II subfigure B.
Is there any way to solve this issue? If that is the case, do you think it is useful to implement this method?
The text was updated successfully, but these errors were encountered: