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

collection of longer term issues #108

Open
11 tasks
joshcombes opened this issue Apr 30, 2019 · 1 comment
Open
11 tasks

collection of longer term issues #108

joshcombes opened this issue Apr 30, 2019 · 1 comment

Comments

@joshcombes
Copy link
Contributor

joshcombes commented Apr 30, 2019

Please add longer term issues, questions, suggestions, and plans to this thread. The plan is post V1 we can come back and start addressing these issues. The idea is not focus the issues on what needs to be done right now not what would be nice.

Benchmarking module

Superoperator module

  • (S0) Switch to row stacking convention*. @marcusps and @caryan have pointed out that in Python it is probably more efficient to do row-major ordering. To quote them directly:

Python uses row-major conventions for matrix ordering. If vec uses the same convention as the underlying matrix storage, than vec and unvec are zero cost (or the same cost as memory allocation and copying). I don't say this lightly -- the column-major convention makes more sense mathematically, but it is a convention, and if it buys us performance, maybe we should think about it.
and

Yeah numpy defaults to C (row-major) ordering but you ask for Fortran (column-major) storage if you want but you'd be fighting the defaults everywhere.

This is a big change and will have to be done very carefully it touches a number of modules and the documentation.

  • (S1) implement honest approximations of channels. We punting on Honest approximations of channels. This should be done so that it works for more than qubit channels.

DFE module

  • add routines to save the data into some simple format (YAML?)
  • add routines to load data from that simple format
  • reuse these routines to do full acquisition and analysis in one shot (some people
    may prefer that)
  • consider some RB-like approach to SPAM imperfection correction by using randomization
    (RB-like but simpler)
  • make sure pre-measurement rotations happen simultaneously (i.e., don't get schedules
    "into" program being characterized)
  • write various tests cases for automation
    • CZ fidelity with neighbours in ground state
    • CZ fidelity with neighbours in excited state
    • sequence of graph states on subset of some graph
      • linear chain
      • 4.8.8

Tomography module

  • Grove has been a successful package for quantum algorithms and QCVV. And our (@ampolloreno and I) tomography efforts in proto forest-benchmarking package used a lot of @ntezak's code and ideas from the grove tomography module https://github.com/rigetti/grove/tree/master/grove/tomography .
    Now that we have a dedicated repo for QCCV it might be best to move that code over here and give deprecation warnings in grove tomography. There is a bunch of other great stuff like quDit bases etc that I think should live in forest-benchmarking, so hopefully that can be ported over as well.
@marcusps
Copy link
Contributor

marcusps commented May 8, 2019

@joshcombes It may be better to just create separate issues and tag them to a post v1 milestone.

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

2 participants