Skip to content

Commit d58bffa

Browse files
dongreenbergmtreinish
authored andcommitted
Move Aqua 0.7 planning doc into RfCs, add note about notebooks (#7)
* Move Aqua 0.7 doc from Aqua repo. * Add *.idea and .DS_Store to gitignore * Add note about notebooks.
1 parent 515eb55 commit d58bffa

File tree

3 files changed

+116
-1
lines changed

3 files changed

+116
-1
lines changed

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,9 @@ site/
7272

7373
# pdf
7474
*.pdf
75+
76+
# PyCharm
77+
*.idea
78+
79+
#Mac OS X
80+
.DS_Store
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Aqua 0.7 Release Priorities and Plan
2+
3+
| **Status** | **Accepted** |
4+
|:------------------|:---------------------------------------------|
5+
| **RFC #** | 0002 |
6+
| **Authors** | Donny Greenberg (donny@ibm.com) |
7+
| **Deprecates** | NA |
8+
| **Submitted** | 2019-12-04 |
9+
| **Updated** | 2020-01-23 |
10+
11+
_Release target: 17-Mar-2020_
12+
13+
## Design & Review Process
14+
15+
Socialization and consensus of large project designs are critical for a decentralized software team to function, especially working on such complicated and diverse code as Aqua. For this release cycle, Aqua will follow a standard Design Doc+Design Review process. For large projects, owners are expected to write a design doc, book a 30 minute slot in design review, and present their design. Broader members of the software or research team to which a particular design is relevant should be invited to the review. Owners and teams should attempt not to begin investing time in code and systems which have not been socialized and agreed upon in review.
16+
17+
## Prioritized Features
18+
19+
_If you are interested in joining any effort below, please reach out to [donny@ibm.com](mailto:donny@ibm.com) or to the project owner on Qiskit Slack._
20+
21+
### Aqua Core Primitives Redesign - Algorithm, Operator, Ansatz, Circuits
22+
23+
* QuantumAlgorithm Hierarchy - *Owner: Donny*
24+
* Base Classes for QuantumAlgorithms of common purpose (e.g. MinEigensolver) to relate interchangeable algorithms and enforce consistent methods and properties
25+
* Break up algorithms which rely on common code so each hold algorithm-primitive objects of more generic utility
26+
* Operator Refactor 2.0 - *Owner: Donny, Chris Wood*
27+
* Split Operator into Terra operators and ExpectationValue and Evolution Algorithms
28+
* Coordinate with LadderOperator addition in Chemistry
29+
* *Reach: Expectation Value Tomography reconciliation with Ignis Tomography*
30+
* Aer ExpectationValue RemoteAlgorithm
31+
* Laying the API groundwork for high priority RemoteAlgorithms (e.g. variational optimization, expectation values)
32+
* Ansatz (FKA: VariationalForm / FeatureMap) refactor - *Owner: Julien*
33+
* Hierarchy and structural flexibility: Ansatz Base Utility Class, TwoLocalAnsatz, OperatorEvolutionAnsatz
34+
* Individual parameter access to shared parameters in Ansatze
35+
* *Reach: Analytical Gradients expansion*
36+
* Circuit Primitives Redesign - *Owner: Julien*
37+
* Move arithmetic and primitive circuits into Terra, make into gates (including tests)
38+
* Deprecate Circuit Factories (blocked on Terra introducing controlled gates)
39+
* Replace QuantumRegister passing with Gate/Instruction passing across Aqua
40+
41+
### Improving Code Clarity and Navigability
42+
43+
* JSON Removal - *Owner: Manoel*
44+
* Deprecation design
45+
* Implementation across Aqua and tutorials
46+
* Deprecation messages in code and GUI in minor version release (Dec 17)
47+
* Repository structure redesign - *Owner: Donny, Manoel*
48+
* Break out application-specific code into applications directories
49+
* Modify nomenclature and directory navigation to match user expectations and canonical conventions
50+
* Shard applications-specific components into applications stacks and move algorithmic primitives into the algorithm stack (e.g. QPE)
51+
* Documentation Revamp - *Owner: Steve, Manoel*
52+
* Long-term plan for Documentation and Docstrings
53+
* _Out of scope: full documentation rewrite_
54+
55+
### Performance Improvements in Simulation and Hardware
56+
57+
* Performance Enhancements - *Owner: Donny, Chris Wood*
58+
* Pass a parameterized Qobj rather than list of many deepcopied circuits for each parameterization when taking expectation values in Aer and BasicAer
59+
* Replace “matrix mode” statevector simulation with QASM simulation so full statevector doesn’t need to be returned
60+
* Error Mitigation - *Owner: Donny, George Barron*
61+
* Clear and extensible interface for employing error mitigation, including possible combinations of techniques (Ignis)
62+
* Gate-based Richardson Extrapolation (Ignis)
63+
* Pulse-based Richardson Extrapolation Error Mitigation (Ignis)
64+
* Submatrix Measurement Error Mitigation (Ignis)
65+
66+
### Physics Software Stack
67+
*Owner: Panos*
68+
69+
* Support generic building blocks for Lattice Gauge Theory, including popular lattice models and Hamiltonian forms (e.g. QCD, Fermi-Hubbard)
70+
* Light-matter interaction
71+
* Magnetism
72+
* Protein Folding
73+
74+
75+
### Chemistry Software Stack
76+
*Owner: Panos*
77+
78+
* Stack design v2
79+
* LadderOperators refactor
80+
* Z2 Symmetry Logic _(Steve)_
81+
* Basis Optimization
82+
* Rotated Hamiltonian Basis _(Pauline)_
83+
* Q-UCCSD extension ansatze _(Igor)_
84+
* Stack design - ElectronicGroundState, ElectronicExcitedState, DissociationCurve
85+
* DFT Drivers
86+
87+
88+
### Optimization Software Stack
89+
*Owner: Stefan*
90+
91+
* Stack design v0 - CPLEX OptimizationProblem specification, QUBO/MBO Solver and Result interfaces, IsingQUBOSolver
92+
* Driver interfaces - CPLEX and Convex Solver
93+
* Slack variable MBO Solver
94+
95+
96+
### Finance Software Stack
97+
*Owner: Stefan*
98+
99+
* Stack design v0
100+
* AmplitudeEstimation hierarchy
101+
102+
103+
### ML Software Stack
104+
*Owner: Donny*
105+
106+
* Stack design v0 - SVC, qGAN, HHL
107+
* Recommendation Systems, qSVE Linear Solver
108+
* Driver interfaces - Pytorch, Scikit

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,8 @@ projects. The committee is responsible for guiding, reviewing and finally
145145
closing/approving the RFC.
146146

147147
# Template
148-
Use the [Qiskit RFC template](0000-template.md) to prepare your RFC.
148+
Use the [Qiskit RFC template](0000-template.md) to prepare your RFC. Jupyter
149+
notebooks (.ipynb files) may also be used with the same template.
149150

150151
## License
151152
[License]: #license

0 commit comments

Comments
 (0)