Recent Releases of https://github.com/cqcl/pytket-cutensornet
https://github.com/cqcl/pytket-cutensornet - v0.11.1
What's Changed
- update pytket version to 2.x by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/199
- [bug]
apply_unitaryignoreskill_thresholdby @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/201
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.11.0...v0.11.1
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - v0.11.0
What's Changed
- [bug] Add qubit when MPS is empty by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/193
- Update to pytket 2 by @cqc-alec in https://github.com/CQCL/pytket-cutensornet/pull/194
- [feat] Adding a
kill_thresholdparameter to cancel simulations with low fidelity by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/197 - [feature] Allow users to specify file to write log on by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/190
- Release v0.11.0 by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/198
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.10.2...v0.11.0
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - v0.10.2
What's Changed
- update copyright by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/182
- remove docs build from release workflow by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/183
- update pytket version by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/184
- Remove unnecessary canonicalisation steps before non-adjacent two-qubit gates by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/186
- Constrain to pytket 1.x. by @cqc-alec in https://github.com/CQCL/pytket-cutensornet/pull/187
- Updated changelog and bump version by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/189
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.10.1...v0.10.2
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - v0.10.1
What's Changed
- Support
ClExprby @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/176 - Fix inconsistent canonical form labelling by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/177
- Update installation instructions by @PabloAndresCQ in https://github.com/CQCL/pytket-cutensornet/pull/179
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.10.0...v0.10.1
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - v0.10.0
What's Changed
- New API:
GeneralBraOpKetfor exact calculation of arbitrary<bra|op|ket>values. Can be used to calculate inner products, expectation values and arbitrary matrix elements. - New feature: both
GeneralStateandGeneralBraOpKetadmit circuits with parameterised gates. - New feature:
GeneralStatehas a new methodget_amplitudeto obtain the amplitude of computational basis states. - New feature:
GeneralStateandCuTensorNetShotsBackendnow support RNG seeds for sampling. - Docs: three tutorials added to the documentation.
- Deprecated
TensorNetworkobject. It is still available for the sake of backwards compatibility, but it has been removed from doc pages.
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.9.0...v0.10.0
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - v0.9.0
What's Changed
- docs: use
pytket-docs-themingsubmodule by @CalMacCQ in https://github.com/CQCL/pytket-cutensornet/pull/153 - Release 0.9.0 by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/161
New Contributors
- @CalMacCQ made their first contribution in https://github.com/CQCL/pytket-cutensornet/pull/153
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.8.0...v0.9.0
- Python
Published by cqc-melf over 1 year ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.8.0
API breaking changes
- Removed
use_kahyparoption fromConfig. It can still be set via thesimulateoptioncompilation_params.
- Removed
New feature:
simulatenow accepts pytket circuits withMeasure,Reset,Conditional,ClassicalExpBoxand more classical operations. You can now retrieve classical bit values usingget_bits.When calling
simulate, the gates on the circuit are no longer sorted by default. Usecompilation_params["sort_gates"] = Trueto recover this behaviour, which is now deprecated.StructuredStatenow supports simulation of single qubit circuits.Some bugfixes on
MPSxMPOrelating to measurement and relabelling qubits. The bug was caused due to these functions not guaranteeing the MPO was applied before their action.Documentation fixes:
apply_qubit_relabellingnow appears in the documentation.add_qubitremoved from documentation ofMPSxMPO, since it is not currently supported.
- Python
Published by PabloAndresCQ over 1 year ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.7.1
- New official documentation site.
- Backend methods can now be given a
scratch_fractionargument to configure the amount of GPU memory allocated to cuTensorNet contraction. Users can also configure the values of theStateAttributeandSamplerAttributefrom cuTensornet via the backend interface. - Fixed a bug causing the logger to fail displaying device properties.
- Python
Published by PabloAndresCQ almost 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.7.0
API breaking changes
- Renamed
CuTensorNetBackendtoCuTensorNetStateBackend. - Moved
get_operator_expectation_valueandget_circuit_overlapfrombackendssubmodule togeneral_statesubmodule. - Warning
TensorNetworkobject will soon be deprecated in favour of the newGeneralState.
- Renamed
New API:
GeneralStatefor exact simulation of circuits via contraction-path optimisation. Currently supportsget_statevector(),expectation_value()andsample().New feature:
CuTensorNetShotsBackendfor simulation of circuit shots.New feature: MPS algorithms
MPSxGateandMPSxMPOnow support simulation of two-qubit gates acting on non-adjacent qubits.New feature:
add_qubitto add fresh qubits at specified positions in anMPS.New feature: added an option to
measureto toggle destructive measurement on/off. Currently only supported forMPS.New feature: a seed can now be provided to
Configobjects, providing reproducibility acrossStructuredStatesimulations.New feature:
apply_unitaryboth forMPSandTTNto apply an arbitrary unitary matrix, rather than apytket.Command.New feature:
apply_qubit_relabellingboth forMPSandTTNto change the name of their qubits. This is now used withinsimulateto take into account the action of implicit SWAPs in pytket circuits (no additional SWAP gates are applied).Updated pytket version requirement to 1.30.
- Python
Published by PabloAndresCQ almost 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.6.1
- When using
simulatewithTTNxGatealgorithm, the initial partition is obtained using NetworkX instead of KaHyPar by default. This makes setup easier and means thatTTNxGatecan now be used when installing from PyPI. KaHyPar can still be used ifuse_kahyparfromConfigis set to True. - Updated pytket version requirement to 1.27.
- Python
Published by PabloAndresCQ about 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.6.0
What's changed
- New feature: Tree Tensor Network (TTN) simulator, supporting both fixed
chiandtruncation_fidelity. Calculation of single amplitudes is supported byget_amplitudeand inner products byvdot. Measurement and postselection are not yet supported. New API: both
MPSandTTNshare a common interface:StructuredState. Import paths have changed, multiple classes have been renamed:ConfigMPSis nowConfig,ContractionAlgis nowSimulationAlgorithm. 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
XXPhasegates).Fixed a bug on copying an
MPSiftruncation_fidelitywas set.Fixed a bug on
CuTensorNetHandlethat would prevent it from working when the device set was different from the default one (dev=0) and when usingcuTensorNet>=2.3.0.Fixed a bug on
TensorNetworkdue to unsupportedCreateoperation.Updated pytket version requirement to 1.26.
- Python
Published by PabloAndresCQ about 2 years ago
https://github.com/cqcl/pytket-cutensornet - v0.5.4
What's Changed
- Main by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/68
- Bump actions/deploy-pages from 4.0.1 to 4.0.2 by @dependabot in https://github.com/CQCL/pytket-cutensornet/pull/70
- update copyright 2024 by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/71
- Bump actions/deploy-pages from 4.0.2 to 4.0.3 by @dependabot in https://github.com/CQCL/pytket-cutensornet/pull/72
- Update python support to 3.10, 3.11 and 3.12 by @sjdilkes in https://github.com/CQCL/pytket-cutensornet/pull/73
- Release 0.5.4 by @cqc-melf in https://github.com/CQCL/pytket-cutensornet/pull/75
New Contributors
- @sjdilkes made their first contribution in https://github.com/CQCL/pytket-cutensornet/pull/73
Full Changelog: https://github.com/CQCL/pytket-cutensornet/compare/v0.5.3...v0.5.4
- Python
Published by cqc-melf over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.5.3
- Updated pytket version requirement to 1.23.
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.5.2
- Hotfix of release workflow.
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.5.1
- Hotfix of release workflow.
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.5.0
MPSsimulation with fixedtruncation_fidelitynow uses the corresponding truncation primitive from cuQuantum (v23.10).
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.4.0
- API Update. Configuration of
MPSsimulation parameters is now done viaConfigMPS. - Added a
value_of_zeroparameter toConfigMPSfor the user to indicate the threshold below which numbers are so small that can be interpreted as zero. - Added a logger to MPS methods. Use it by setting
loglevelinConfigMPS. - Improved performance of contraction across
MPSmethods by hardcoding the contraction paths. - Fixed a bug that caused more MPS canonicalisation than strictly required.
- Fixed a bug where
simulatewould not apply the last batch of gates when usingMPSxMPO.
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.3.0
- Added MPS sampling feature.
- Refactored MPS module for better maintainability and extendability.
Tensorclass removed from the API since it is no longer necessary.
- Python
Published by PabloAndresCQ over 2 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.2.1
- Improved backend gate set to allow for more gate types.
- Fixed a bug in
apply_gateof MPS algorithms that would cause internal dimensions to be tracked wrongly in certain edge cases, causing a crash.
- Python
Published by yapolyak almost 3 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.2.0
- Added post selection capability for expectation value tensor networks.
- Added MPS simulation approaches, supporting two contraction algorithms (gate-by-gate and DMRG-like). Supports exact simulation, as well as approximate simulation with either fixed virtual bond dimension or target gate fidelity.
- Python
Published by yapolyak almost 3 years ago
https://github.com/cqcl/pytket-cutensornet - pytket-cutensornet 0.1.0
Initial implementation of the converter and backend modules for use on a single GPU.
- Python
Published by yapolyak about 3 years ago