Wrt #201, remove DiagonalObservable and use a property that keeps track of the diagonalily of the individual blocks when they are composed of Z, I or N and a version of apply_operator specific for diagonal operations. This can be used throughout PyQ for applying diagonal evolutions, and also for applying diagonal gates like CPHASE.
Wrt #201, remove
DiagonalObservable
and use a property that keeps track of the diagonalily of the individual blocks when they are composed ofZ
,I
orN
and a version ofapply_operator
specific for diagonal operations. This can be used throughout PyQ for applying diagonal evolutions, and also for applying diagonal gates likeCPHASE
.