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.
(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.
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
This is a big change and will have to be done very carefully it touches a number of modules and the documentation.
DFE module
may prefer that)
(RB-like but simpler)
"into" program being characterized)
Tomography module