From 6efbc27056a1016a8a8ae5eb95f83b4182bf2c8f Mon Sep 17 00:00:00 2001 From: Donny Greenberg Date: Thu, 23 Jan 2020 16:20:05 -0500 Subject: [PATCH 1/3] Update planning doc to rfc --- design_docs/0.7_release_priorities_and_plan.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/design_docs/0.7_release_priorities_and_plan.md b/design_docs/0.7_release_priorities_and_plan.md index 09cf4dfec9..b7f7f9dd72 100644 --- a/design_docs/0.7_release_priorities_and_plan.md +++ b/design_docs/0.7_release_priorities_and_plan.md @@ -1,6 +1,12 @@ # Aqua 0.7 Release Priorities and Plan -_Last updated: 4-Dec-2019_ +| **Status** | **Accepted** | +|:------------------|:---------------------------------------------| +| **RFC #** | 0002 | +| **Authors** | Donny Greenberg (donny@ibm.com) | +| **Deprecates** | NA | +| **Submitted** | 2019-12-04 | +| **Updated** | 2020-01-23 | _Release target: 17-Mar-2020_ From ffc147b8f0692ee88c8d7a13b4553c18c20c811b Mon Sep 17 00:00:00 2001 From: Donny Greenberg Date: Thu, 23 Jan 2020 16:21:03 -0500 Subject: [PATCH 2/3] Update planning doc to rfc --- ...s_and_plan.md => 0002-Aqua_0.7_release_priorities_and_plan.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename design_docs/{0.7_release_priorities_and_plan.md => 0002-Aqua_0.7_release_priorities_and_plan.md} (100%) diff --git a/design_docs/0.7_release_priorities_and_plan.md b/design_docs/0002-Aqua_0.7_release_priorities_and_plan.md similarity index 100% rename from design_docs/0.7_release_priorities_and_plan.md rename to design_docs/0002-Aqua_0.7_release_priorities_and_plan.md From 6bff10b7fe68b3925fcfd15403a5dcfa0cbd09a4 Mon Sep 17 00:00:00 2001 From: Donny Greenberg Date: Thu, 23 Jan 2020 16:22:10 -0500 Subject: [PATCH 3/3] Delete design docs folder --- ...02-Aqua_0.7_release_priorities_and_plan.md | 108 ------------------ 1 file changed, 108 deletions(-) delete mode 100644 design_docs/0002-Aqua_0.7_release_priorities_and_plan.md diff --git a/design_docs/0002-Aqua_0.7_release_priorities_and_plan.md b/design_docs/0002-Aqua_0.7_release_priorities_and_plan.md deleted file mode 100644 index b7f7f9dd72..0000000000 --- a/design_docs/0002-Aqua_0.7_release_priorities_and_plan.md +++ /dev/null @@ -1,108 +0,0 @@ -# Aqua 0.7 Release Priorities and Plan - -| **Status** | **Accepted** | -|:------------------|:---------------------------------------------| -| **RFC #** | 0002 | -| **Authors** | Donny Greenberg (donny@ibm.com) | -| **Deprecates** | NA | -| **Submitted** | 2019-12-04 | -| **Updated** | 2020-01-23 | - -_Release target: 17-Mar-2020_ - -## Design & Review Process - -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. - -## Prioritized Features - -_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._ - -### Aqua Core Primitives Redesign - Algorithm, Operator, Ansatz, Circuits - -* QuantumAlgorithm Hierarchy - *Owner: Donny* - * Base Classes for QuantumAlgorithms of common purpose (e.g. MinEigensolver) to relate interchangeable algorithms and enforce consistent methods and properties - * Break up algorithms which rely on common code so each hold algorithm-primitive objects of more generic utility -* Operator Refactor 2.0 - *Owner: Donny, Chris Wood* - * Split Operator into Terra operators and ExpectationValue and Evolution Algorithms - * Coordinate with LadderOperator addition in Chemistry - * *Reach: Expectation Value Tomography reconciliation with Ignis Tomography* - * Aer ExpectationValue RemoteAlgorithm - * Laying the API groundwork for high priority RemoteAlgorithms (e.g. variational optimization, expectation values) -* Ansatz (FKA: VariationalForm / FeatureMap) refactor - *Owner: Julien* - * Hierarchy and structural flexibility: Ansatz Base Utility Class, TwoLocalAnsatz, OperatorEvolutionAnsatz - * Individual parameter access to shared parameters in Ansatze - * *Reach: Analytical Gradients expansion* -* Circuit Primitives Redesign - *Owner: Julien* - * Move arithmetic and primitive circuits into Terra, make into gates (including tests) - * Deprecate Circuit Factories (blocked on Terra introducing controlled gates) - * Replace QuantumRegister passing with Gate/Instruction passing across Aqua - -### Improving Code Clarity and Navigability - -* JSON Removal - *Owner: Manoel* - * Deprecation design - * Implementation across Aqua and tutorials - * Deprecation messages in code and GUI in minor version release (Dec 17) -* Repository structure redesign - *Owner: Donny, Manoel* - * Break out application-specific code into applications directories - * Modify nomenclature and directory navigation to match user expectations and canonical conventions - * Shard applications-specific components into applications stacks and move algorithmic primitives into the algorithm stack (e.g. QPE) -* Documentation Revamp - *Owner: Steve, Manoel* - * Long-term plan for Documentation and Docstrings - * _Out of scope: full documentation rewrite_ - -### Performance Improvements in Simulation and Hardware - -* Performance Enhancements - *Owner: Donny, Chris Wood* - * Pass a parameterized Qobj rather than list of many deepcopied circuits for each parameterization when taking expectation values in Aer and BasicAer - * Replace “matrix mode” statevector simulation with QASM simulation so full statevector doesn’t need to be returned -* Error Mitigation - *Owner: Donny, George Barron* - * Clear and extensible interface for employing error mitigation, including possible combinations of techniques (Ignis) - * Gate-based Richardson Extrapolation (Ignis) - * Pulse-based Richardson Extrapolation Error Mitigation (Ignis) - * Submatrix Measurement Error Mitigation (Ignis) - -### Physics Software Stack -*Owner: Panos* - -* Support generic building blocks for Lattice Gauge Theory, including popular lattice models and Hamiltonian forms (e.g. QCD, Fermi-Hubbard) -* Light-matter interaction -* Magnetism -* Protein Folding - - -### Chemistry Software Stack -*Owner: Panos* - -* Stack design v2 - * LadderOperators refactor -* Z2 Symmetry Logic _(Steve)_ -* Basis Optimization - * Rotated Hamiltonian Basis _(Pauline)_ - * Q-UCCSD extension ansatze _(Igor)_ -* Stack design - ElectronicGroundState, ElectronicExcitedState, DissociationCurve -* DFT Drivers - - -### Optimization Software Stack -*Owner: Stefan* - -* Stack design v0 - CPLEX OptimizationProblem specification, QUBO/MBO Solver and Result interfaces, IsingQUBOSolver -* Driver interfaces - CPLEX and Convex Solver -* Slack variable MBO Solver - - -### Finance Software Stack -*Owner: Stefan* - -* Stack design v0 -* AmplitudeEstimation hierarchy - - -### ML Software Stack -*Owner: Donny* - -* Stack design v0 - SVC, qGAN, HHL -* Recommendation Systems, qSVE Linear Solver -* Driver interfaces - Pytorch, Scikit