Closed
Description
Expected Behavior:
We expect TextbookQPE().decompose_bloq()
to execute without error
Actual Behavior:
When we combine GQSP with QPE, we get a ValueError
when we try decompose_bloq()
from qualtran.bloqs.phase_estimation import RectangularWindowState, TextbookQPE
from qualtran.bloqs.hamiltonian_simulation.hamiltonian_simulation_by_gqsp import HamiltonianSimulationByGQSP
from qualtran.bloqs.chemistry.hubbard_model.qubitization import (
get_walk_operator_for_hubbard_model,
)
walk_op = get_walk_operator_for_hubbard_model(2, 2, 1, 1)
hubbard_time_evolution_by_gqsp = HamiltonianSimulationByGQSP(walk_op, t=5, precision=1e-7)
textbook_qpe_w_gqsp = TextbookQPE(hubbard_time_evolution_by_gqsp, RectangularWindowState(3))
textbook_qpe_w_gqsp.decompose_bloq()
Raises:
ValueError: Cannot control channel with non-unitary operators: bloq.HamiltonianSimulationByGQSP