Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Initial work on Broombridge v.0.3 #533

Draft
wants to merge 70 commits into
base: feature/broombridge-v0.3
Choose a base branch
from

Conversation

cgranade
Copy link
Contributor

This draft PR starts work on parsing and serialization logic for a new version of the Broombridge spec, primarily including the ability to specify what symmetries are used to expand lists of two-electron fermionic terms, allowing for the specification of fermionic Hamiltonians that violate eightfold symmetry.

This draft PR includes:

  • A new V0_3 class for serializing and deserializing draft Broombridge 0.3 documents.
  • A new subcommand export-jw for the qdk-chem tool that allows for exporting a Jordan–Wigner representation of a given input electronic structure problem, without the need to write a C# or Python host.

This draft PR does not yet include:

  • Unit or integration tests
  • Perf improvements for new serialization / deserialization features
  • Deduplication of new code where appropriate

@cgranade cgranade changed the base branch from main to feature/broombridge-v0.3 February 28, 2022 17:38
@cgranade
Copy link
Contributor Author

If you would like to locally test the chemistry command-line tool with these changes:

cd Chemistry/src/Tools
# Convert Broombridge 0.2 to 0.3.
dotnet run -- normalize --format Broombridge path/to/0_2.yaml
# Export JW representation of a fermionic Hamiltonian.
dotnet run -- export-jw --format Broombridge path/to/broombridge.yaml

cgranade and others added 24 commits February 28, 2022 10:41
* Fix formulas in PurifiedMixedState(WithData)

This fixes #485.

* Update NuGet version.

Co-authored-by: Mathias Soeken <[email protected]>
* Optimization and formatting.

* Use array API.

* Fix errors and add comments with refs to paper.

* Add corner case in conversion of rotation phases.

* Add test case.
Co-authored-by: Chris Granade <[email protected]>
Co-authored-by: Mathias Soeken <[email protected]>
* Fixes #444.

* Add other test.

* Update Standard/tests/QcvvTests.qs

Co-authored-by: Mariia Mykhailova <[email protected]>

Co-authored-by: Mariia Mykhailova <[email protected]>
With this change, we're migrating the main release train of the QDK to the most recent Long Time Support version of the .NET framework. For details about this change, refer to the original issue microsoft/qsharp-compiler#1224.

As part of this change, we're:

- Re-targeting all .NetCoreApp3.1 binaries to .NET6.0
- Updating Docker images, samples and templates.
- Libraries using .NetStandard2.1 are not affected by this change.
- The minimum supported .NET version in the QDK will also be updated from 3.1 to 6.0
- The Visual Studio extension will now target Visual Studio 2022.
* Fixes #367.

* Apply suggestions from code review

Co-authored-by: Mariia Mykhailova <[email protected]>

* Addressing Mariia's comments.

Co-authored-by: Mariia Mykhailova <[email protected]>
* Improve code quality.

* Update MachineLearning/tests/StructureTests.qs

Co-authored-by: Cassandra Granade <[email protected]>

Co-authored-by: Cassandra Granade <[email protected]>
* Build 0.24.201332.
* Fixing QDK version in Notice.txt
Co-authored-by: Mathias Soeken <[email protected]>
* API review meeting notes.

* Update Design/meetings/2022/api-design-2022-03.md

Co-authored-by: Mariia Mykhailova <[email protected]>

* Apply suggestions from code review

* Update consensus.

Co-authored-by: Mariia Mykhailova <[email protected]>
* Implements #442.

* Address reviewer feedback.
* Fixes #560.

* Apply suggestions from code review

Co-authored-by: Cassandra Granade <[email protected]>

Co-authored-by: Cassandra Granade <[email protected]>
Co-authored-by: Mariia Mykhailova <[email protected]>
msoeken and others added 27 commits June 6, 2022 07:23
* API review May 2022

* Apply suggestions from code review

Co-authored-by: Cassandra Granade <[email protected]>

* Apply suggestions from code review

* Update api-design-2022-05.md

Co-authored-by: Cassandra Granade <[email protected]>
* Resource estimation tests.

* Improved implementation.

* Ergonomic changes.
* API review June 2022

* Apply suggestions from code review

Co-authored-by: Mariia Mykhailova <[email protected]>

* Apply suggestions from code review

Co-authored-by: Cassandra Granade <[email protected]>

* Apply suggestions from code review

Co-authored-by: Mariia Mykhailova <[email protected]>
Co-authored-by: Cassandra Granade <[email protected]>
* Add functions for smallest and largest representable fixed point

Implements #594

* New line.

* Apply suggestions from code review

Co-authored-by: Mariia Mykhailova <[email protected]>

Co-authored-by: Mariia Mykhailova <[email protected]>
* Add ApplyWindowed operation

Applies an operation windowing over input but with const target qubits

* Simplify ApplyWindowed

* Update ApplyWindowed to be more idiomatic

See comment on #602 by @cgranade

* Fix documentation style issues for ApplyWindowed

* Improve ApplyWindowed documentation and add example

* Change name of ApplyWindowed to ApplyToEachWindow

* Fix example being in code block

Co-authored-by: Mariia Mykhailova <[email protected]>

Co-authored-by: Mathias Soeken <[email protected]>
Co-authored-by: Mariia Mykhailova <[email protected]>
* API review July 2022

* Apply suggestions from code review

Co-authored-by: Mariia Mykhailova <[email protected]>

* Apply suggestions from code review

* Apply suggestions from code review

* Update api-design-2022-07.md

* Update api-design-2022-07.md

Co-authored-by: Mariia Mykhailova <[email protected]>
* lookup table code

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/src/FixedPoint/LookupTable.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Mathias Soeken <[email protected]>

* Moved potential efficiency comments

Moved potential efficiency comments of fanning out control qubits from summary to inside the code

* Split summary into summary and remarks

Split original summary to summary and remarks

* Added latex formatting

* Update Numerics/src/FixedPoint/LookupTable.qs

* Update Numerics/tests/LookupTableTests.qs

Co-authored-by: Krishnakumar, Rajiv [Engineering] <[email protected]>
Co-authored-by: Mathias Soeken <[email protected]>
Co-authored-by: Mathias Soeken <[email protected]>
* Fix documentation

* Temporarily disable test not compatible with 0.3.

Co-authored-by: Cassandra Granade <[email protected]>
Co-authored-by: Mathias Soeken <[email protected]>
* Add `$schema` to `cgmanifest.json`

* Temporarily disable test not compatible with 0.3.

Co-authored-by: Jamie Magee <[email protected]>
Co-authored-by: Cassandra Granade <[email protected]>
Co-authored-by: Mathias Soeken <[email protected]>
* Added example how to use PrepareArbitraryStateCP

* Update Standard/src/Preparation/Arbitrary.qs

Co-authored-by: Mathias Soeken <[email protected]>

Co-authored-by: Mathias Soeken <[email protected]>
* Fix fourfold symmetry bugs

* Add unit test

* Update datamodel tests for v0.3
@anpaz
Copy link
Member

anpaz commented Oct 21, 2022

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet