This repository was archived by the owner on Jan 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 177
Review notes for combined Oct/Nov meeting. #368
Merged
cgranade
merged 3 commits into
microsoft:main
from
cgranade:cgranade/api-review-2020-10
Nov 13, 2020
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Q# API Design Meeting / 9 October 2020 and 5 November 2020 | ||
|
||
Attendees (in order by username): @bettinaheim, @cgranade, @efratshabtai, @guenp, @msoeken. | ||
|
||
## Agenda | ||
|
||
- Improved representation of numeric data in quantum registers (https://github.com/microsoft/QuantumLibraries/issues/337) | ||
- Improved `Microsoft.Quantum.Preparation` namespace (https://github.com/microsoft/QuantumLibraries/issues/344) | ||
|
||
## Discussion | ||
|
||
### Numeric data | ||
|
||
**Proposal**: https://github.com/microsoft/QuantumLibraries/issues/337 | ||
|
||
**Discussion**: | ||
|
||
- Modify `QInt` → `QSignedInt`? `ControlledOnInt` could be confusing otherwise. | ||
- Add https://github.com/microsoft/qsharp-language/pull/41 as related issue. | ||
- What are the disadvantages to making parallel Microsoft.Quantum.Numerics namespace? Mainly about explaining change to user. | ||
- How much work to remove `BigEndian`? Probably not much, since most BE support already removed. | ||
- **Action item**: Add detail to proposal about existing split between numerics package and arithmetic namespace. | ||
- **Action item**: Explain more about what existing code is broken by this proposal. | ||
- Fold into Q# standard library instead of Microsoft.Quantum.Numerics package? Probably not, lots of changes to tutorials, docs, etc. needed to support that. | ||
- On the other hand, if we provide language-level support for quantized plus, etc. operators, may be odd to have in a separate package. What are right operators, types? | ||
- **Action item**: Add examples to the proposal from existing sample (before / after). | ||
- **Action item**: Expand proposal to use full signatures (or at least more concrete examples) for new operations. | ||
- **Action item**: Add to conceptual overview feedback to the end that users shouldn't need to know internal representation of integer data to use integer UDTs. | ||
|
||
**Consensus**: Proposal seems reasonable, and should proceed after completing outstanding action items. Continue revising and follow up in next API review meeting. | ||
|
||
### Microsoft.Quantum.Preparation | ||
|
||
**Proposal**: https://github.com/microsoft/QuantumLibraries/issues/344 | ||
|
||
**Discussion**: | ||
|
||
- **Action item**: Add suggestion for anonymous DUs (e.g.: `ComplexPolar[] | Double[]`) to DU proposal at https://github.com/microsoft/qsharp-compiler/issues/557. | ||
- See https://github.com/microsoft/qsharp-compiler/issues/406#issuecomment-723195125 for anonymous DU suggestion. | ||
- **Action item**: Clarify in proposal that `PrepareQubit` is renamed to `PrepareSingleQubitPositivePauliEigenstate` rather than removed entirely. | ||
- Is `PrepareSingleQubitPositivePauliEigenstate` too long? Can we shorten to `PreparePauliEigenstate`? Single-qubit is implied by there being a single eigenstate in the first place (e.g.: 𝑋𝑋 has a positive eigenspace of dimension 2, not 1). | ||
- **Action item**: Add references to mixed state preparation algorithms to proposal to help provide context. | ||
- https://arxiv.org/pdf/1805.03662.pdf?page=15 | ||
- Clarify what's meant by "purified mixed state?" Refers to open systems theory, ρ = 𝑝ᵢ |ψᵢ⟩⟨ψᵢ| maps to |φ⟩ = √𝑝ᵢ |ψᵢ⟩ ⊗ |𝑖⟩. | ||
- Generalize sign in mixed state preparation to allow more general data to be added to preparation; sign is then a particular example. | ||
- **Action item**: Clarify that in the context of this proposal, "mixed state" is implicitly diagonal in the computational basis. | ||
|
||
**Consensus**: Approved, modulo remaining action items. No further review required. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.