Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor iterative mle state tomography to use pyquil operator estimation #13

Closed
mpharrigan opened this issue Jan 11, 2019 · 1 comment
Milestone

Comments

@mpharrigan
Copy link
Contributor

mpharrigan commented Jan 11, 2019

iterative_mle_state_estimate's function signature has been updated to take a list of pyquil's ExperimentResults in place of TomographyData in #4. However, under the hood it just shims it into a TomographyData and does normal processing.

The processing needs to be modified to support ExperimentResults directly. This probably involves re-working _R to operate on expectation values rather than backing out counts and projectors. [Note that we pull this trick for linear inversion]. In general, this function should be ported to match the style of linear inversion:

  • operate on ExperimentResults (in any order)
  • return data should just be "new" stuff, like estimate of rho (+ log likelihood?)
  • Use scipy's pinv
  • Remove usage of construct_projection_operators_on_n_qubits / n_qubit_pauli_basis in favor of pyquil.unitary_tools.lifted_pauli and PauliTerms from ExperimentResults.
@joshcombes joshcombes mentioned this issue Apr 22, 2019
4 tasks
@joshcombes joshcombes added this to the V0.67103 milestone Apr 22, 2019
@joshcombes
Copy link
Contributor

On the last point.

I think we should be careful about relying on the pyQuil unitary tools etc. For many reasons (e.g. the pyQuil re-org) and they don't seem to have informative names unlike construct_projection_operators_on_n_qubits. But I agree with the substantive part, i.e what Matt suggests is a good idea and we should certainly move in that direction.

kylegulshen added a commit that referenced this issue May 14, 2019
* Addressed issue #13, removed acquire_tomography_data and dataclasses

* renamed dilution arg to epsilon

* sped up the tests
@joshcombes joshcombes modified the milestones: V0.67103, v0.5 May 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants