I would expect that the VQE is able to compute the minimum eigenvalue just like for any other opflow operator type.
Suggested solutions
A simple solution would be to make the z2_symmetries argument of TaperedPauliSumOp.__init__ optional. However, this may lead to other unwanted side-effects.
Another possible solution would be to make the TaperedPauliSumOp look more like a PauliSumOp (at least in this context). But I am unsure how to achieve this given the __init__ call which is raising the problem is obtained via self.__class__. And I don't think we should hack the behavior of this internal object.
Information
master
@ 0c8bb3dbf8d688590431ca79a83ba8aede84ed20uname -r: 5.10.23-200.fc33.x86_64
What is the current behavior?
Using a tapered
PauliSumOp
as the input to aVQE
results in the following runtime error:Steps to reproduce the problem
Below is a minimal code snippet to reproduce the issue:
What is the expected behavior?
I would expect that the
VQE
is able to compute the minimum eigenvalue just like for any otheropflow
operator type.Suggested solutions
A simple solution would be to make the
z2_symmetries
argument ofTaperedPauliSumOp.__init__
optional. However, this may lead to other unwanted side-effects. Another possible solution would be to make theTaperedPauliSumOp
look more like aPauliSumOp
(at least in this context). But I am unsure how to achieve this given the__init__
call which is raising the problem is obtained viaself.__class__
. And I don't think we should hack the behavior of this internal object.