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

Commit

Permalink
Merging release 0.7.1905.3109 into master (#123)
Browse files Browse the repository at this point in the history
* Begin refactoring standard libraries (#39)

* Began splitting up namespaces.

* Began refactoring tests.

* Updated chemistry src and tests for new namespaces.

* Remove unused opens.

* Began renaming operations and functions.

* Separated out and updated ApplyReversed*.

* Updated BE ↔ LE type conversions.

* Added new transformed operation fns.

* Whitespace fix

* Eliminated some redundant code in applyreversed

* Fixed deprecation comments.

* Began working on refactoring With.

* Refactored With further.

* More renaming for consistency with LE/BE suffix convention.

* Added Zip3, Zip4

* Added shorthand for MAJ and updated some type conv.

* Fixed a typo in Zip4.

* Separated out and updated arithmetic measurements.

* Other minor maintenance changes.

* Started separating out modular arithmetic.

* Began refactoring ripple-carry comparators.

* Refactored integer increment operations.

* Fixed some See Also blocks.

* Some minor progress.

* Moved new arithmetic functionality into right folders.

* Renamed integer arithmetic namespaces.

* Split out qecc namespace.

* Added documentation file for Microsoft.Quantum.ErrorCorrection.

* Progress on renaming type conversion functions.

* More progress on updating type conversion names.

* Split out AA namespace.

* Split out oracles namespace as well.

* Renamed UDTs to remove "AmpAmp" prefix.

This prefix is now implied by the Microsoft.Quantum.AmplitudeAmplification namespace.

* Renamed some Qecc operations/fns

* Moved more conversions into Convert.qs.

* Updated some deprecated syntax.

* Split out M.Q.Convert.

* Added missing open stmt.

* Started separating out classical math.

* Began separating out QCVV.

* Fixing namespaces in tests.

* Update to use new docgen.

* Began making arrays namespace.

* Updated to use new arrays and diagnostics namespaces.

* Updated names for claims

* Started extracting measurements from Paulis.qs.

* Updated namespaces in tests as well.

* Updating chemistry for most recent changes.

* Added ForEach, used to simplify measurements.

* Updating deprecated Q# syntax.

* Minor fix for XML error.

* Fixed infinite recursion in deprecation stubs.

* Started trying to reduce # of warnings.

* Fixed some minor build errors.

* Resolved a couple TODOs.

* Removed BigEndian support.

* Resolved warnings due to && and ||.

* Update Standard/src/Arithmetic/Shorthand.qs

Co-Authored-By: cgranade <cgranade@gmail.com>

* Addressing feedback.

* Claim → Fact

* Moved MeasureInteger back to Microsoft.Quantum.Arithmetic.

* Resolved more deprecated syntax.

* Removed one more LE suffix.

* Addressing feedback.

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Chemistry library v0.7 (#58)

* Add UCC to Broombridge + tests

* Add Broombridge version converter

* test

* WIP

* Add typed Broombridge interface

* Add LiH unit test

* Clean up LoadData from Broombridge

* More UCC parsing

* More tests

* Begin implementing UCC on Q# side

* WIP

* Add Q# UCC PQ, PQQR, PQRS

* Integrating with statePreparation routine

* UCCSD integration complete. Now for unit tests.

* bug

* Add up-down index convention option

* Add Broombridge `Current` version class

* Fix test error

* Config file WIP

* .

* .

* Add simulation configuration file

* Complete documentation

* More tests

* LadderOperator

* Refactor

* Complete FermionTerm Refactor

* More cleanup

* Add UCC system test

* Complete merge from master

* typos

* .

* Fix build error

* Add HermitianFermionTermType

* Add Hamiltonian generic class

* Add Term/Hamiltonian Conversion class

* Remove Int64

* Add orbital integral to fermion Hamiltonian

* Update Chemistry/src/DataModel/ConfigurationFile.cs

Co-Authored-By: guanghaolow <guanghaolow@gmail.com>

* Update Chemistry/src/DataModel/ConfigurationFile.cs

Co-Authored-By: guanghaolow <guanghaolow@gmail.com>

* Break up Broombridge class

* Begin state prep modularization

* More tests

* Some reorganization of extensions class

* Clean up FermionTerm constructors

* Cleanup

* Restore Broombridge

* .

* Addresses most of chris' comments

* Cgranade/complete 0.6 move (#57)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Complete move of standard library refactoring to release branch

This reverts commit 0580489.

* Fix null allocation of empty LadderSequence constructor

* Restore LiQuiD

* Clean up SpinOrbital code

* Reintroduce JordanWignerEncoding

* Add generic TermValue interface for Hamiltonians with more complex term indexing

* Separate namespaces

* More namespace update

* Restore JordanWigner test

* Update Chemistry/src/DataModel/FermionHamiltonianStatePrep.cs

Co-Authored-By: guanghaolow <guanghaolow@gmail.com>

* More cleanup

* Addresses some of Chris comments, rest in followup PR

* Complete merge

* .

* Fix infinite loop due to implicit operator casting

* Almost restore all tests

* .

* Passes all tests.

* Update to 0.5.1903.2902

* Some helper functions

* Addresses most of Chris' comments

* Complete merge from v0.5

* Adding Jupyter

* Add fermion Hamiltonian python interop

* Add more magic

* Serialization of Hamiltonians. (#62)

* Adding Jupyter Magic for chemistry v2 (#63)

* Clean up json encoding for chemistry magic (#67)

* Small but important UCCSD bug fix (#68)

* Small but important UCCSD bug fix
Reviewed by Andres.

* Fixes the iq# crash that was preventing us to call iq# for `add_terms` and `encode` (#70)

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy.

* Fixing iq# crash; adding logging to packages

* End to end sample working

* Triggering new build.

* Adding reference to simulators otherwise build complains of missing reference

* Updating to newtonsoft 12.0.1 to be aligned with latest IQ#

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* Updating versions of json and yaml to match Q# (#76)

Updating to latest QDK too.

* Fix UCCSD PQRS sign bug (#97)

* Fix UCCSD PQRS sign bug

* Addresses Chris' comments

* Update release/v0.7 to v0.6 syntax (#100)

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Release v0.6 to master. (#98)

* Begin refactoring standard libraries (#39)

* Began splitting up namespaces.

* Began refactoring tests.

* Updated chemistry src and tests for new namespaces.

* Remove unused opens.

* Began renaming operations and functions.

* Separated out and updated ApplyReversed*.

* Updated BE ↔ LE type conversions.

* Added new transformed operation fns.

* Whitespace fix

* Eliminated some redundant code in applyreversed

* Fixed deprecation comments.

* Began working on refactoring With.

* Refactored With further.

* More renaming for consistency with LE/BE suffix convention.

* Added Zip3, Zip4

* Added shorthand for MAJ and updated some type conv.

* Fixed a typo in Zip4.

* Separated out and updated arithmetic measurements.

* Other minor maintenance changes.

* Started separating out modular arithmetic.

* Began refactoring ripple-carry comparators.

* Refactored integer increment operations.

* Fixed some See Also blocks.

* Some minor progress.

* Moved new arithmetic functionality into right folders.

* Renamed integer arithmetic namespaces.

* Split out qecc namespace.

* Added documentation file for Microsoft.Quantum.ErrorCorrection.

* Progress on renaming type conversion functions.

* More progress on updating type conversion names.

* Split out AA namespace.

* Split out oracles namespace as well.

* Renamed UDTs to remove "AmpAmp" prefix.

This prefix is now implied by the Microsoft.Quantum.AmplitudeAmplification namespace.

* Renamed some Qecc operations/fns

* Moved more conversions into Convert.qs.

* Updated some deprecated syntax.

* Split out M.Q.Convert.

* Added missing open stmt.

* Started separating out classical math.

* Began separating out QCVV.

* Fixing namespaces in tests.

* Update to use new docgen.

* Began making arrays namespace.

* Updated to use new arrays and diagnostics namespaces.

* Updated names for claims

* Started extracting measurements from Paulis.qs.

* Updated namespaces in tests as well.

* Updating chemistry for most recent changes.

* Added ForEach, used to simplify measurements.

* Updating deprecated Q# syntax.

* Minor fix for XML error.

* Fixed infinite recursion in deprecation stubs.

* Started trying to reduce # of warnings.

* Fixed some minor build errors.

* Resolved a couple TODOs.

* Removed BigEndian support.

* Resolved warnings due to && and ||.

* Update Standard/src/Arithmetic/Shorthand.qs

Co-Authored-By: cgranade <cgranade@gmail.com>

* Addressing feedback.

* Claim → Fact

* Moved MeasureInteger back to Microsoft.Quantum.Arithmetic.

* Resolved more deprecated syntax.

* Removed one more LE suffix.

* Addressing feedback.

* Cgranade/complete 0.6 move (#57)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Complete move of standard library refactoring to release branch

This reverts commit 0580489.

* Explicitly qualify all names in M.Q.Ext.Math. (#74)

* Explicitly qualify all names in M.Q.Ext.Math.

* Fixed two missing qualified names.

* Removed more occurances of M.Q.Ext.Math.

* Removed Microsoft.Quantum.Extensions.Math from tests as well.

* Reverted slight change to QuantumROM.

* New array functions (#75)

* Added new IndexRange function to eliminate `-1` in for loops.

* Added some missing open statements.

* New Enumerated function.

* Port library and test code to new 0.6 names to reduce warning count. (#72)

* Updating to use new syntax, namespace names, etc.

* More primitive → intrinsic.

* Updated test project to use beta version.

* Updated chemistry proiects to beta.

* Finding a few more calls to deprecated fns.

* Cleaned up some assert and qcvv tests.

* Removed uses of deprecated IntArrayFromRange

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Some trivial change to retrigger build.

* Resolved package downgrade.

* Move Microsoft.Quantum.Math.Complex UDT and resolve Microsoft.Quantum.Diagnostics deprecation stubs. (#77)

* More primitive → intrinsic.

* Finding a few more calls to deprecated fns.

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Resolved package downgrade.

* Use Complex UDT at its new name.

* Adapted tests.

* A few more test adaptations.

* Updated name of AssertQubitState to 0.6 name.

* Fixes to chemistry.

* Getting updates from master (#80)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Revert "Revert "Begin refactoring standard libraries (#39)" (#56)"

This reverts commit 0580489.

* Update to 0.6.1904.1302-beta. (#81)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Addressed feedback from @bettinaheim.

* Standard.sln builds again, Standard.sln builds (#84)

* Gulow/v0.6 chemistry deprecation (#82)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Update test

* .

* Remove deprecated operations from chemistry and dependencies.

* Fix comments

* Update to use 0.65 syntax from latest beta. (#87)

* Ported stateprep.qs to 0.65 syntax.

* Fixed deprecation in test.

* Updated to latest beta.

* Fix mutable array issue in chemistry data model. (#88)

* Explicitly call new QArray. (#89)

* do not rely on collections.immutable (#93)

* Continue migrating libraries to Q# 0.6 (#91)

* Continue migrating to 0.65 syntax and applying style guidance.

* A bit more progress normalizing private names.

* Resolved more deprecated syntax, updated a name.

* Resolved some more syntax warnings.

* Ported more syntax and updated more names.

* Resolved all remaining compile-time warnings in Standard.

* Addressed all Q#-level compile-time warnings in chem.

* Migrated a bit more syntax and updated to newest beta.

* Moved to using intrinsic warnings.

* Fixed endianness of exact QFT.

* Fixed Microsoft.Quantum.Warnings.

* Addressing @bettinaheim's feedback.

* Removed some warnings in unit tests.

* Adding DocsOutDir for single doc output location across projects. (#94)

* Adding DocsOutDir for single doc output location across projects.

* Begin adding more classical math functions for BigInt. (#96)

* Begin adding more classical math functions for BigInt.

* Addressing @beheim's feedback.

* Minor fixes.

* Bump to latest beta.

* Fixed two minor bugs.

* Fixed the type of signs.

* Bump version to released packages.

* Merge from v0.6

* Merge from latest release/v0.7

* Update Jupyter component to v0.6

* Using IndexRange per suggestion.

* Update depecrated use of InverseMod. (#99)

* Removing pending warnings from tests (#101)

* Adding a seed to LiH simulation tests to make sure the test results are deterministic

* Cleaning up build magic file.

* Adding python wrapper for chemistry library. (#83)

* Add user agent and mock client to Python. (#108)

* Add user agent and mock client to Python.

* Addressing feedback.

* Fix warnings in chemistry 0.7 features. (#107)

* Port binomial sampling logic from NumPy to C# emulation. (#106)

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Release v0.6 to master. (#98)

* Begin refactoring standard libraries (#39)

* Began splitting up namespaces.

* Began refactoring tests.

* Updated chemistry src and tests for new namespaces.

* Remove unused opens.

* Began renaming operations and functions.

* Separated out and updated ApplyReversed*.

* Updated BE ↔ LE type conversions.

* Added new transformed operation fns.

* Whitespace fix

* Eliminated some redundant code in applyreversed

* Fixed deprecation comments.

* Began working on refactoring With.

* Refactored With further.

* More renaming for consistency with LE/BE suffix convention.

* Added Zip3, Zip4

* Added shorthand for MAJ and updated some type conv.

* Fixed a typo in Zip4.

* Separated out and updated arithmetic measurements.

* Other minor maintenance changes.

* Started separating out modular arithmetic.

* Began refactoring ripple-carry comparators.

* Refactored integer increment operations.

* Fixed some See Also blocks.

* Some minor progress.

* Moved new arithmetic functionality into right folders.

* Renamed integer arithmetic namespaces.

* Split out qecc namespace.

* Added documentation file for Microsoft.Quantum.ErrorCorrection.

* Progress on renaming type conversion functions.

* More progress on updating type conversion names.

* Split out AA namespace.

* Split out oracles namespace as well.

* Renamed UDTs to remove "AmpAmp" prefix.

This prefix is now implied by the Microsoft.Quantum.AmplitudeAmplification namespace.

* Renamed some Qecc operations/fns

* Moved more conversions into Convert.qs.

* Updated some deprecated syntax.

* Split out M.Q.Convert.

* Added missing open stmt.

* Started separating out classical math.

* Began separating out QCVV.

* Fixing namespaces in tests.

* Update to use new docgen.

* Began making arrays namespace.

* Updated to use new arrays and diagnostics namespaces.

* Updated names for claims

* Started extracting measurements from Paulis.qs.

* Updated namespaces in tests as well.

* Updating chemistry for most recent changes.

* Added ForEach, used to simplify measurements.

* Updating deprecated Q# syntax.

* Minor fix for XML error.

* Fixed infinite recursion in deprecation stubs.

* Started trying to reduce # of warnings.

* Fixed some minor build errors.

* Resolved a couple TODOs.

* Removed BigEndian support.

* Resolved warnings due to && and ||.

* Update Standard/src/Arithmetic/Shorthand.qs

Co-Authored-By: cgranade <cgranade@gmail.com>

* Addressing feedback.

* Claim → Fact

* Moved MeasureInteger back to Microsoft.Quantum.Arithmetic.

* Resolved more deprecated syntax.

* Removed one more LE suffix.

* Addressing feedback.

* Cgranade/complete 0.6 move (#57)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Complete move of standard library refactoring to release branch

This reverts commit 0580489.

* Explicitly qualify all names in M.Q.Ext.Math. (#74)

* Explicitly qualify all names in M.Q.Ext.Math.

* Fixed two missing qualified names.

* Removed more occurances of M.Q.Ext.Math.

* Removed Microsoft.Quantum.Extensions.Math from tests as well.

* Reverted slight change to QuantumROM.

* New array functions (#75)

* Added new IndexRange function to eliminate `-1` in for loops.

* Added some missing open statements.

* New Enumerated function.

* Port library and test code to new 0.6 names to reduce warning count. (#72)

* Updating to use new syntax, namespace names, etc.

* More primitive → intrinsic.

* Updated test project to use beta version.

* Updated chemistry proiects to beta.

* Finding a few more calls to deprecated fns.

* Cleaned up some assert and qcvv tests.

* Removed uses of deprecated IntArrayFromRange

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Some trivial change to retrigger build.

* Resolved package downgrade.

* Move Microsoft.Quantum.Math.Complex UDT and resolve Microsoft.Quantum.Diagnostics deprecation stubs. (#77)

* More primitive → intrinsic.

* Finding a few more calls to deprecated fns.

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Resolved package downgrade.

* Use Complex UDT at its new name.

* Adapted tests.

* A few more test adaptations.

* Updated name of AssertQubitState to 0.6 name.

* Fixes to chemistry.

* Getting updates from master (#80)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Revert "Revert "Begin refactoring standard libraries (#39)" (#56)"

This reverts commit 0580489.

* Update to 0.6.1904.1302-beta. (#81)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Addressed feedback from @bettinaheim.

* Standard.sln builds again, Standard.sln builds (#84)

* Gulow/v0.6 chemistry deprecation (#82)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Update test

* .

* Remove deprecated operations from chemistry and dependencies.

* Fix comments

* Update to use 0.65 syntax from latest beta. (#87)

* Ported stateprep.qs to 0.65 syntax.

* Fixed deprecation in test.

* Updated to latest beta.

* Fix mutable array issue in chemistry data model. (#88)

* Explicitly call new QArray. (#89)

* do not rely on collections.immutable (#93)

* Continue migrating libraries to Q# 0.6 (#91)

* Continue migrating to 0.65 syntax and applying style guidance.

* A bit more progress normalizing private names.

* Resolved more deprecated syntax, updated a name.

* Resolved some more syntax warnings.

* Ported more syntax and updated more names.

* Resolved all remaining compile-time warnings in Standard.

* Addressed all Q#-level compile-time warnings in chem.

* Migrated a bit more syntax and updated to newest beta.

* Moved to using intrinsic warnings.

* Fixed endianness of exact QFT.

* Fixed Microsoft.Quantum.Warnings.

* Addressing @bettinaheim's feedback.

* Removed some warnings in unit tests.

* Adding DocsOutDir for single doc output location across projects. (#94)

* Adding DocsOutDir for single doc output location across projects.

* Begin adding more classical math functions for BigInt. (#96)

* Begin adding more classical math functions for BigInt.

* Addressing @beheim's feedback.

* Minor fixes.

* Bump to latest beta.

* Fixed two minor bugs.

* Fixed the type of signs.

* Bump version to released packages.

* Update depecrated use of InverseMod. (#99)

* Removing pending warnings from tests (#101)

*  changed assembly name for tests project.

* First version of  binomial sampling portect from NumPy.

* Support for signed build. (#105)

* Support for signed build.

* Removign extra quote.

* Emulate frequency estimation (#109)

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Release v0.6 to master. (#98)

* Begin refactoring standard libraries (#39)

* Began splitting up namespaces.

* Began refactoring tests.

* Updated chemistry src and tests for new namespaces.

* Remove unused opens.

* Began renaming operations and functions.

* Separated out and updated ApplyReversed*.

* Updated BE ↔ LE type conversions.

* Added new transformed operation fns.

* Whitespace fix

* Eliminated some redundant code in applyreversed

* Fixed deprecation comments.

* Began working on refactoring With.

* Refactored With further.

* More renaming for consistency with LE/BE suffix convention.

* Added Zip3, Zip4

* Added shorthand for MAJ and updated some type conv.

* Fixed a typo in Zip4.

* Separated out and updated arithmetic measurements.

* Other minor maintenance changes.

* Started separating out modular arithmetic.

* Began refactoring ripple-carry comparators.

* Refactored integer increment operations.

* Fixed some See Also blocks.

* Some minor progress.

* Moved new arithmetic functionality into right folders.

* Renamed integer arithmetic namespaces.

* Split out qecc namespace.

* Added documentation file for Microsoft.Quantum.ErrorCorrection.

* Progress on renaming type conversion functions.

* More progress on updating type conversion names.

* Split out AA namespace.

* Split out oracles namespace as well.

* Renamed UDTs to remove "AmpAmp" prefix.

This prefix is now implied by the Microsoft.Quantum.AmplitudeAmplification namespace.

* Renamed some Qecc operations/fns

* Moved more conversions into Convert.qs.

* Updated some deprecated syntax.

* Split out M.Q.Convert.

* Added missing open stmt.

* Started separating out classical math.

* Began separating out QCVV.

* Fixing namespaces in tests.

* Update to use new docgen.

* Began making arrays namespace.

* Updated to use new arrays and diagnostics namespaces.

* Updated names for claims

* Started extracting measurements from Paulis.qs.

* Updated namespaces in tests as well.

* Updating chemistry for most recent changes.

* Added ForEach, used to simplify measurements.

* Updating deprecated Q# syntax.

* Minor fix for XML error.

* Fixed infinite recursion in deprecation stubs.

* Started trying to reduce # of warnings.

* Fixed some minor build errors.

* Resolved a couple TODOs.

* Removed BigEndian support.

* Resolved warnings due to && and ||.

* Update Standard/src/Arithmetic/Shorthand.qs

Co-Authored-By: cgranade <cgranade@gmail.com>

* Addressing feedback.

* Claim → Fact

* Moved MeasureInteger back to Microsoft.Quantum.Arithmetic.

* Resolved more deprecated syntax.

* Removed one more LE suffix.

* Addressing feedback.

* Cgranade/complete 0.6 move (#57)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Complete move of standard library refactoring to release branch

This reverts commit 0580489.

* Explicitly qualify all names in M.Q.Ext.Math. (#74)

* Explicitly qualify all names in M.Q.Ext.Math.

* Fixed two missing qualified names.

* Removed more occurances of M.Q.Ext.Math.

* Removed Microsoft.Quantum.Extensions.Math from tests as well.

* Reverted slight change to QuantumROM.

* New array functions (#75)

* Added new IndexRange function to eliminate `-1` in for loops.

* Added some missing open statements.

* New Enumerated function.

* Port library and test code to new 0.6 names to reduce warning count. (#72)

* Updating to use new syntax, namespace names, etc.

* More primitive → intrinsic.

* Updated test project to use beta version.

* Updated chemistry proiects to beta.

* Finding a few more calls to deprecated fns.

* Cleaned up some assert and qcvv tests.

* Removed uses of deprecated IntArrayFromRange

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Some trivial change to retrigger build.

* Resolved package downgrade.

* Move Microsoft.Quantum.Math.Complex UDT and resolve Microsoft.Quantum.Diagnostics deprecation stubs. (#77)

* More primitive → intrinsic.

* Finding a few more calls to deprecated fns.

* Resolved some more deprecated functions and ops.

* Minor maintenance in QubitizationTests.

* Bumped versions to latest beta.

* Resolved package downgrade.

* Use Complex UDT at its new name.

* Adapted tests.

* A few more test adaptations.

* Updated name of AssertQubitState to 0.6 name.

* Fixes to chemistry.

* Getting updates from master (#80)

* Revert "Begin refactoring standard libraries (#39)" (#56)

As Chris pointed out, reverting these breaking changes until we have a chance to change everything...

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Adding tests

* Change Assembly.Version to Python.Version. (#64)

* Prevent loading Q# modules when Python client is busy. (#71)

* Prevent loading Q# modules when Python client is busy.
* Linux build failed with some unrelated problem. Committing.

* modifying contructor calls for QArray in preparation for a simulation framework change (#78)

* Revert "Revert "Begin refactoring standard libraries (#39)" (#56)"

This reverts commit 0580489.

* Update to 0.6.1904.1302-beta. (#81)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Addressed feedback from @bettinaheim.

* Standard.sln builds again, Standard.sln builds (#84)

* Gulow/v0.6 chemistry deprecation (#82)

* Update to 0.6.1904.1302-beta.

* Removed deprecation warnings for Microsoft.Quantum.Math.

* Resolved a few more deprecations.

* Resolved a few more deprecation warnings.

* A few more deprecation resolutions.

* Removed some duplicate namespace opens.

* Slight code cleanup.

* Update test

* .

* Remove deprecated operations from chemistry and dependencies.

* Fix comments

* Update to use 0.65 syntax from latest beta. (#87)

* Ported stateprep.qs to 0.65 syntax.

* Fixed deprecation in test.

* Updated to latest beta.

* Fix mutable array issue in chemistry data model. (#88)

* Explicitly call new QArray. (#89)

* do not rely on collections.immutable (#93)

* Continue migrating libraries to Q# 0.6 (#91)

* Continue migrating to 0.65 syntax and applying style guidance.

* A bit more progress normalizing private names.

* Resolved more deprecated syntax, updated a name.

* Resolved some more syntax warnings.

* Ported more syntax and updated more names.

* Resolved all remaining compile-time warnings in Standard.

* Addressed all Q#-level compile-time warnings in chem.

* Migrated a bit more syntax and updated to newest beta.

* Moved to using intrinsic warnings.

* Fixed endianness of exact QFT.

* Fixed Microsoft.Quantum.Warnings.

* Addressing @bettinaheim's feedback.

* Removed some warnings in unit tests.

* Adding DocsOutDir for single doc output location across projects. (#94)

* Adding DocsOutDir for single doc output location across projects.

* Begin adding more classical math functions for BigInt. (#96)

* Begin adding more classical math functions for BigInt.

* Addressing @beheim's feedback.

* Minor fixes.

* Bump to latest beta.

* Fixed two minor bugs.

* Fixed the type of signs.

* Bump version to released packages.

* Update depecrated use of InverseMod. (#99)

* Removing pending warnings from tests (#101)

*  changed assembly name for tests project.

* First version of  binomial sampling portect from NumPy.

* Implementing EstimateFrequency emulation.

* Using new binomial sampling.

* Updating QDK packages to 0.7-beta

* Correct EstimateFrequencyA implementation

* Tests for emulated estimate frequency.

* Fixed typo in binomial sampling algo.

* Update Standard/src/Characterization/EstimateFrequency.qs

* Fixing test.

* Added more tests of EstFreqA.

* Most of wavefunction framework; cleanup Broombridge; Generic ladder operators. (#66)

* Generic ladder opes & Broombridge organization

* Fixing tests

* Update LiQuiD deserialization

* Fixing tests WIP

* Magic compiles

* Add H2 tests

* Passes all tests except Json

* Addresses some of Chris' comments

* Cleanup old files

* Delete old files

* Delete old files

* Delete old file

* Updating versions of json and yaml to match Q#

* Generic serializer/deserializer

* Passes all tests

* Fix test

* Update test

* Fix build

* Merge from v0.7

* Addresses Chris' comments

* Merge from v0.7

* Fixing indentation of build file.

* Fix magic

* Fixing typo.

* Fixing tests.

* Moving Chemistry Jupyter integration into Chemistry folder.

* Clean up chemistry. (#114)

* Missing return statement when compiling more than one Q# snippet from Python. (#60)

* Fixing bug

* Merge from master.

* Missing PUBLIC_KEY for test assembly

* Add convenience functions for samples (#115)

* Add UCCSD excitations convenience function

* Update for samples

* Add more tests

* Fix UCCSD bug for PRQS and PRSQ case

* Merge from Release/v0.7

* Adding assembly constants for jupyter magic.

* Conceptual docs convenience functions and compilation tests (#116)

* Tests for docs syntax

* More docs tests

* Convenience functions and tests to support conceptual docs.

* Improve test coverage

* API Docs

* Add links to molecule data

* Add Asserts

* Rename Pauli -> Paulis to avoid conflicts with Core enum. (#117)

* Rename Pauli -> Paulis

* Fixing comments

* Added tests and updated yaml files for UCCSD energy estimation tests (#120)

* Added tests and updated yaml files for UCCSD energy estimation tests

* Missing file, somehow

* PrepareTrialStateWrapper removed from the public API

* Update Chemistry/src/Runtime/JordanWigner/ConvenienceVQE.qs

Co-Authored-By: Andres Paz <anpaz@microsoft.com>

* Update Chemistry/src/Runtime/JordanWigner/ConvenienceVQE.qs

Co-Authored-By: Martin Roetteler <martinro@microsoft.com>

* Q# coding style fixes, improvements to control-flow and documentation

* Removed commented line

* Add more convenience functions for samples (#119)

* More updates for samples

* Merge from release/v0.7

* Typo

* Addresses Chris' comments

* Add cluster operator null check.

* Update Chemistry/src/DataModel/QSharpFormat/QSharpFormatExtensions.cs

Co-Authored-By: Chris Granade <cgranade@gmail.com>

* Update Chemistry/src/Runtime/JordanWigner/JordanWignerBlockEncoding.qs

Co-Authored-By: Chris Granade <cgranade@gmail.com>

* Addresses Chris' comments

* Indents and typo

* Missing tests. (#122)

Some test projects were renamed thus not getting executed as part of the build.

* Updating to 0.7.1905.3109
  • Loading branch information
anpaz committed May 31, 2019
1 parent 154df74 commit de2dccd
Show file tree
Hide file tree
Showing 149 changed files with 12,771 additions and 3,539 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Python temporary files
.ipynb_checkpoints
.pytest_cache

# Git ignore file for the Solid project

Expand Down Expand Up @@ -334,3 +335,4 @@ __pycache__/
*.btm.cs
*.odx.cs
*.xsd.cs

12 changes: 7 additions & 5 deletions Build/step-build-libs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ steps:
/p:DefineConstants=$(Assembly.Constants)
##
# Test
##
Expand All @@ -29,11 +30,12 @@ steps:
inputs:
command: test
projects: |
$(LibrariesRootFolder)/Standard/tests
$(LibrariesRootFolder)/Chemistry/tests/ChemistryTests/ChemistryTests.csproj
$(LibrariesRootFolder)/Chemistry/tests/SystemTests/SystemTests.csproj
$(LibrariesRootFolder)/Chemistry/tests/DataModelTests/DataModelTests.csproj
$(LibrariesRootFolder)/Numerics/tests/NumericsTests.csproj
$(LibrariesRootFolder)/Standard/tests
$(LibrariesRootFolder)/Chemistry/tests/ChemistryTests/QSharpTests.csproj
$(LibrariesRootFolder)/Chemistry/tests/SystemTests/SystemTests.csproj
$(LibrariesRootFolder)/Chemistry/tests/DataModelTests/CSharpTests.csproj
$(LibrariesRootFolder)/Chemistry/tests/SerializationTests/SerializationTests.csproj
$(LibrariesRootFolder)/Numerics/tests/NumericsTests.csproj
arguments: >
-c $(BuildConfiguration)
-v n
Expand Down
31 changes: 31 additions & 0 deletions Build/step-build-magic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
##
# Builds, tests & package all libraries.
##

steps:
##
# Build
##
- task: DotNetCoreCLI@2
displayName: 'Build Chemistry Magic'
inputs:
projects: '$(LibrariesRootFolder)/Magic.sln'
arguments: >
-c $(BuildConfiguration)
-v n
/p:Version=$(Assembly.Version)
/p:DefineConstants=$(Assembly.Constants)
##
# Test
##
- task: DotNetCoreCLI@2
displayName: 'Test Chemistry Magic'
inputs:
command: test
projects: '$(LibrariesRootFolder)/Chemistry/tests/JupyterTests/JupyterTests.csproj'
arguments: >
-c $(BuildConfiguration)
-v n
/p:Version=$(Assembly.Version)
/p:DefineConstants=$(Assembly.Constants)
32 changes: 28 additions & 4 deletions Chemistry.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2024
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Documentation", "Documentation", "{561759D2-4D2D-4EE3-9565-9AAEC4A7D64B}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -18,12 +18,26 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{595D5855
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SystemTests", "Chemistry\tests\SystemTests\SystemTests.csproj", "{E9688DB1-CECC-407E-A192-90CC07FC48CA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataModelTests", "Chemistry\tests\DataModelTests\DataModelTests.csproj", "{56296CAB-76A9-4595-B5DB-DC8290B9B991}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharpTests", "Chemistry\tests\DataModelTests\CSharpTests.csproj", "{56296CAB-76A9-4595-B5DB-DC8290B9B991}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChemistryTests", "Chemistry\tests\ChemistryTests\ChemistryTests.csproj", "{F723F015-C78C-46A2-BB9D-CD2FD3D1DDCD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QSharpTests", "Chemistry\tests\ChemistryTests\QSharpTests.csproj", "{F723F015-C78C-46A2-BB9D-CD2FD3D1DDCD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Standard", "Standard\src\Standard.csproj", "{4EE69CC7-1158-49A2-A28F-9443B06D4A32}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerializationTests", "Chemistry\tests\SerializationTests\SerializationTests.csproj", "{364D11CE-AB4E-4727-ADA7-EFF3DCD92096}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BroombridgeExamples", "BroombridgeExamples", "{F25F3396-EDE5-4A9F-A428-643EB138F00F}"
ProjectSection(SolutionItems) = preProject
Chemistry\tests\BroombridgeExamples\broombridge_v0.1.yaml = Chemistry\tests\BroombridgeExamples\broombridge_v0.1.yaml
Chemistry\tests\BroombridgeExamples\broombridge_v0.2.yaml = Chemistry\tests\BroombridgeExamples\broombridge_v0.2.yaml
Chemistry\tests\BroombridgeExamples\hydrogen_0.1.yaml = Chemistry\tests\BroombridgeExamples\hydrogen_0.1.yaml
Chemistry\tests\BroombridgeExamples\hydrogen_0.2.yaml = Chemistry\tests\BroombridgeExamples\hydrogen_0.2.yaml
Chemistry\tests\BroombridgeExamples\LiH_0.1.yaml = Chemistry\tests\BroombridgeExamples\LiH_0.1.yaml
Chemistry\tests\BroombridgeExamples\LiH_0.2.yaml = Chemistry\tests\BroombridgeExamples\LiH_0.2.yaml
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamplesTests", "Chemistry\tests\SamplesTests\SamplesTests.csproj", "{2A0E61DB-7187-4359-B5C7-C30FCB1D6800}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -54,6 +68,14 @@ Global
{4EE69CC7-1158-49A2-A28F-9443B06D4A32}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4EE69CC7-1158-49A2-A28F-9443B06D4A32}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EE69CC7-1158-49A2-A28F-9443B06D4A32}.Release|Any CPU.Build.0 = Release|Any CPU
{364D11CE-AB4E-4727-ADA7-EFF3DCD92096}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{364D11CE-AB4E-4727-ADA7-EFF3DCD92096}.Debug|Any CPU.Build.0 = Debug|Any CPU
{364D11CE-AB4E-4727-ADA7-EFF3DCD92096}.Release|Any CPU.ActiveCfg = Release|Any CPU
{364D11CE-AB4E-4727-ADA7-EFF3DCD92096}.Release|Any CPU.Build.0 = Release|Any CPU
{2A0E61DB-7187-4359-B5C7-C30FCB1D6800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2A0E61DB-7187-4359-B5C7-C30FCB1D6800}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2A0E61DB-7187-4359-B5C7-C30FCB1D6800}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2A0E61DB-7187-4359-B5C7-C30FCB1D6800}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -64,6 +86,8 @@ Global
{E9688DB1-CECC-407E-A192-90CC07FC48CA} = {595D5855-8820-48D7-B5E1-9C88215A866A}
{56296CAB-76A9-4595-B5DB-DC8290B9B991} = {595D5855-8820-48D7-B5E1-9C88215A866A}
{F723F015-C78C-46A2-BB9D-CD2FD3D1DDCD} = {595D5855-8820-48D7-B5E1-9C88215A866A}
{364D11CE-AB4E-4727-ADA7-EFF3DCD92096} = {595D5855-8820-48D7-B5E1-9C88215A866A}
{2A0E61DB-7187-4359-B5C7-C30FCB1D6800} = {595D5855-8820-48D7-B5E1-9C88215A866A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6869E5BF-551A-40F1-9B6B-D1B27A5676CB}
Expand Down

This file was deleted.

1 change: 1 addition & 0 deletions Chemistry/src/DataModel/Analysis/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Placeholder folder for Hamiltonian analysis routines.
168 changes: 168 additions & 0 deletions Chemistry/src/DataModel/Broombridge/BroombridgeData.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Linq;
using System.Text.RegularExpressions;
using YamlDotNet.Core;
using YamlDotNet.Serialization;


using Microsoft.Quantum.Chemistry.Fermion;
using Microsoft.Quantum.Chemistry.OrbitalIntegrals;

namespace Microsoft.Quantum.Chemistry.Broombridge
{
/// <summary>
/// Latest Broombridge format.
/// </summary>
public class Data
{
/// <summary>
/// Constructor for empty Broombridge data structure.
/// </summary>
public Data()
{
ProblemDescriptions = new List<ProblemDescription>();
}

/// <summary>
/// Raw deserialized Broombridge data.
/// </summary>
public V0_2.Data Raw { get; set; }

// Root of Broombridge data structure

/// <summary>
/// URL to schema defining this version of Broombridge.
/// </summary>
public string Schema { get; set; }

/// <summary>
/// Broombridge instance version number
/// </summary>
public VersionNumber VersionNumber { get; set; }

/// <summary>
/// Collection of electronic structure problems.
/// </summary>
public IEnumerable<ProblemDescription> ProblemDescriptions { get; set; }


/// <summary>
/// Deserialized Broombridge data
/// </summary>
/// <param name="broombridgeV0_2">Broombridge data structure.</param>
internal Data(Broombridge.V0_2.Data broombridgeV0_2)
{
Raw = broombridgeV0_2;
Schema = broombridgeV0_2.Schema;
VersionNumber = VersionNumber.v0_2;

ProblemDescriptions = Raw.ProblemDescriptions.Select(problem => ProblemDescription.ProcessRawProblemDescription(problem));
}

}

/// <summary>
/// Electronic structure problem instance.
/// </summary>
public struct ProblemDescription
{
/// <summary>
/// Identity term of the Hamilonian.
/// </summary>
public double EnergyOffset { get; set; }

/// <summary>
/// Number of orbitals.
/// </summary>
public int NOrbitals { get; set; }

/// <summary>
/// Number of electroncs.
/// </summary>
public int NElectrons { get; set; }

/// <summary>
/// Hamiltonian represented by orbital integrals.
/// </summary>
public OrbitalIntegralHamiltonian OrbitalIntegralHamiltonian { get; set; }

/// <summary>
/// Collection of trial wavefunctions.
/// </summary>
public Dictionary<string, FermionWavefunction<SpinOrbital>> Wavefunctions { get; set; }

/// <summary>
/// Converts the raw problem description in V0_2 Broombridge into
/// in internal data format.
/// </summary>
/// <param name="problem">Problem description to be converted</param>
/// <returns>The internal problem description data structure.</returns>
public static ProblemDescription ProcessRawProblemDescription(Broombridge.V0_2.ProblemDescription problem)
{
var problemDescription = new ProblemDescription
{
EnergyOffset = problem.EnergyOffset.Value + problem.CoulombRepulsion.Value,
NElectrons = problem.NElectrons,
NOrbitals = problem.NOrbitals,
OrbitalIntegralHamiltonian = V0_2.ToOrbitalIntegralHamiltonian(problem),
Wavefunctions = new Dictionary<string, FermionWavefunction<SpinOrbital>>()
};
foreach (var initialState in problem.InitialStates)
{
var finalState = new FermionWavefunction<SpinOrbital>();

var (method, energy, outputState) = V0_2.ToWavefunction(initialState);

var setMethod = V0_2.ParseInitialStateMethod(initialState.Method);
var setEnergy = energy;

if (setMethod == StateType.SparseMultiConfigurational)
{
var mcfData = (SparseMultiCFWavefunction<SpinOrbital>)outputState;

finalState = new FermionWavefunction<SpinOrbital>(
mcfData.Excitations
.Select(o => (
o.Key.ToIndices().ToArray(),
o.Value.Real
)));
}
else if (setMethod == StateType.UnitaryCoupledCluster)
{
var uccData = (UnitaryCCWavefunction<SpinOrbital>)outputState;

var reference = uccData.Reference;

var excitations = uccData.Excitations;

finalState = new FermionWavefunction<SpinOrbital>(
reference.ToIndices(),
excitations
.Select(o => (
o.Key.ToIndices().ToArray(),
o.Value.Real
))
);
}
else
{
throw new System.ArgumentException($"Wavefunction type {setMethod} not recognized");
}

finalState.Method = setMethod;
finalState.Energy = setEnergy;

problemDescription.Wavefunctions.Add(initialState.Label, finalState);
}
return problemDescription;
}
}

}
Loading

0 comments on commit de2dccd

Please sign in to comment.