I am using Variational Quantum Imaginary Time Evolution to find the lowest eigenvalue and corresponding eigensatate of a Hamiltonian through Qiskit's VarQITE method. But, for a circuit of 4 qubits or more, the algorithm is not quite estimating the expected result. It is converging to a close value (not enough) and the evolved state is in the correct superposition but the amplitudes are not quite right.
For example, for a 4 qubit operator, these were the results :
Evolved statevector =
[(-0+0j), 0j, 0j, (0.325+0j), 0j, (-0.444+0j), (0.444+0j), 0j, 0j, (0.444+0j), (-0.444+0j), 0j, (0.325+0j), 0j, 0j, 0j]
Overlap with exact statevector = [(-0.987868853779132+0j)]
Estimated Lowest Eigenvalue = -17.124355652981265
Exact lowest eigenvalue found : -17.79898987322333
Exact Eigenstate =
[0j, 0j, 0j, (-0.354+0j), (-0+0j), (0.5+0j), (-0.354+0j), 0j, 0j,
(-0.354+0j), (0.5+0j), 0j, (-0.354+0j), (-0+0j), 0j, 0j]
I used the McLachlanPrinciple with ReverseEstimatorGradient() for time = 1 sec for 100 time steps. I tried this with the EfficientSU2 ansatz and a custom ansatz. The custom one gave better results but still not close to the exact values.
Is there something I can do get a better estimation?
EfficientSU2 :