I am using a modified version of the sample Penny Lane VQLS code in order to solve a system of PDE’s. In this case the state |b> will not be U = H1H2H3. I have been able to represent |b> as the result of a sum unitaries, with scalar coefficients. Similar to decomposing the A operator (matrix) in A|x>=|b>. While I can see how to modify the sample code to add each of the gates for U, I am not sure how to apply the coefficients for summing here. Would these be rotations prior (or after?) to applying the CNOT, CY, CX?
It seems like you want to create an operation U that is the sum of a set of operations (e.g. something like 0.5*RY*CNOT + 1.3*RY*CY + ...), and you’re wondering how to add the coefficients (0.5, 1.3, etc. above)? Is this correct?
I’m not sure how that could be done. I think that this might be easiest approached by attempting to create the cost function, as they do in the tutorial, adding the coefficients later after having calculated the necessary expectation values. This is what seems to be done in the tutorial, in the cost_loc() function, when they add the coefficients for A_i after getting the expectation values returned from local_hadamard_test().
Let me know if I understood your question correctly, or if I can clarify anything else.
Thank you. You understood the question perfectly. I have been playing with the idea of trying to implement an amplitude to the calling of U to prepare |b>, but I don’t think this works with the template cost function.
And I think you are correct that I need to go back to basics to see how the derivation of the cost function can be modified to a more complex U. In most “tutorial” cases of VQLS, |b> usually has equal elements.
Thanks. I believe there is a factor of 2 in the second term from the internal sum, which cancels the 2 in 1/(2n), but the basic form here should be correct
Hi @Dan_Velez , could you please reshare the way you find out those gates and coefficients for the b vector? I found a way to do it for normalized vector in Qiskit but still struggling to find a way in Pennylane. Could you provide the approach or methods you used to find it here?
Hi @Dan_Velez Could you share me the overview am facing the same issue of decomposition of U in VQLS and which optimizer did you used to execute the program as am facing barren plateau issue