Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v0.6.0 #95

Merged
merged 23 commits into from
Apr 12, 2024
Merged

Release/v0.6.0 #95

merged 23 commits into from
Apr 12, 2024

Conversation

PabloAndresCQ
Copy link
Collaborator

@PabloAndresCQ PabloAndresCQ commented Apr 11, 2024

Changelog

  • New feature: Tree Tensor Network (TTN) simulator, supporting both fixed chi and truncation_fidelity. Calculation of single amplitudes is supported by get_amplitude and inner products by vdot. Measurement and postselection are not yet supported.

  • New API: both MPS and TTN share a common interface: StructuredState. Import paths have changed, multiple classes have been renamed: ConfigMPS is now Config, ContractionAlg is now SimulationAlgorithm. Documentation has been updated accordingly.

  • Canonicalisation of MPS is now always applied before a two-qubit gate. We found that this tends to reduce runtime due to canonicalisation decreasing virtual bond dimension.

  • Two-qubit gates are now decomposed (SVD) before applying them to remove null singular values (e.g. in XXPhase gates).

  • Fixed a bug on copying an MPS if truncation_fidelity was set.

  • Fixed a bug on CuTensorNetHandle that would prevent it from working when the device set was different from the default one (dev=0) and when using cuTensorNet>=2.3.0.

  • Fixed a bug on TensorNetwork due to unsupported Create operation.

  • Updated pytket version requirement to 1.26.

Checklist

  • I have run the tests on a device with GPUs.
  • I have performed a self-review of my code.
  • I have commented hard-to-understand parts of my code.
  • I have made corresponding changes to the public API documentation.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have updated the changelog with any user-facing changes.

cqc-melf and others added 22 commits January 23, 2024 15:24
Updates the requirements on [black](https://github.com/psf/black) to permit the latest version.

Updates `black` to 24.1.1
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@23.12.0...24.1.1)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <[email protected]>
…e13ea

Bump the python-packages group with 1 update
* Created new general.py file for logger and cutensornet handle. Updated copyright comment.
* Moved MPS code to make room for TTN.

* Moved ConfigMPS to Config in general.py

* Began implementation of TTN

* Added single-qubit gate support and some basic tests.

* Added vdot to TTN

* Implemented get_amplitude and get_statevector. Current tests passing.

* Implemented canonicalisation

* Canonicalisation debugged

* Exact apply 2q gate implemented and debugged

* Added truncation by chi and value_of_zero

* Unified TTN and MPS via StructuredState abstract class

* _get_qubit_partition now does recursive balanced bisections.

* Added truncation_fidelity approach to TTNxGate

Co-authored-by: Iakov Polyak <[email protected]>

* Updated docstring.

---------

Co-authored-by: PabloAndresCQ <[email protected]>
Co-authored-by: Iakov Polyak <[email protected]>
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v4.0.3...v4.0.4)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ploy-pages-4.0.4

Bump actions/deploy-pages from 4.0.3 to 4.0.4
Updates the requirements on [black](https://github.com/psf/black) and [pylint](https://github.com/pylint-dev/pylint) to permit the latest version.

Updates `black` to 24.2.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.1.0...24.2.0)

Updates `pylint` to 3.1.0
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](pylint-dev/pylint@v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  dependency-group: python-packages
- dependency-name: pylint
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <[email protected]>
…ce802

Bump the python-packages group with 2 updates
Updates the requirements on [black](https://github.com/psf/black) to permit the latest version.

Updates `black` to 24.3.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.2.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v4.0.4...v4.0.5)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…e123e

Bump the python-packages group with 1 update
…ploy-pages-4.0.5

Bump actions/deploy-pages from 4.0.4 to 4.0.5
* Now checking if chi is set to the default 'essentially unbounded' value; if so, do not raise error if non-default truncation fidelity is set.

* Adding a test of copy state using different configurations.
)

* Updated MPS tutorial

* Added a TTN tutorial

* Added CI checks for examples

---------

Co-authored-by: PabloAndresCQ <[email protected]>
Co-authored-by: Melf <[email protected]>
@PabloAndresCQ PabloAndresCQ requested a review from cqc-melf April 11, 2024 15:19
@cqc-melf
Copy link
Collaborator

Do you want to do the release now, or should we wait for the pytket release next week?

@PabloAndresCQ
Copy link
Collaborator Author

I'd rather make a release now, then we can go back to releasing with each new pytket version. The reason why I wanted to stagger this release was that there were some PRs on TTN already merged in develop that didn't really make sense to release until others were merged.

@PabloAndresCQ
Copy link
Collaborator Author

In particular, the reason why I'd like to get 0.6.0 out with pytket 1.26 is that I've been writing some docs for reproducibility of the paper with HSBC and I've been assuming these versions. It wouldn't be too much work to update them, but since the deadline is next Tuesday I'd rather just get it through, then get a new 0.6.1 release whenever pytket 1.27 is released.

Copy link
Collaborator

@cqc-melf cqc-melf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One small problem I found, you need to match the number of characters above. Looks good beside this :)

docs/changelog.rst Outdated Show resolved Hide resolved
@PabloAndresCQ PabloAndresCQ merged commit 46e573a into main Apr 12, 2024
8 checks passed
@PabloAndresCQ PabloAndresCQ deleted the release/v0.6.0 branch April 12, 2024 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants