Open
Description
In the past, subsampling of PauliTerms from input PauliSums was taken care of by an option in the SGDifferentiator module. However, there were a few issues with its implementation there:
- Instead of subsampling PauliTerms from PauliSums, it actually changed the shape of the measurement tensor by subsampling PauliSums.
- Had a python implementation instead of a C++ op backend.
- Does not fit the new differentiator interface being implemented in Gradient circuits 1/n: interface #409 .
Fortunately, in discussions on the design doc for the new differentiators, it looks like this could be a feature we still want to keep, and pull up to the level of tfq.layers
. Since, this subsampling of PauliTerms can speed up the estimation of expectation values in any context, not just when seeking gradients. See also #230 for the possible interaction of such a feature with Engine. Thinking to take this on in the near future. Thoughts on this @MichaelBroughton @jaeyoo ?