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_unitary ignores kill_threshold by @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_threshold parameter 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 ClExpr by @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: GeneralBraOpKet for exact calculation of arbitrary <bra|op|ket> values. Can be used to calculate inner products, expectation values and arbitrary matrix elements.
  • New feature: both GeneralState and GeneralBraOpKet admit circuits with parameterised gates.
  • New feature: GeneralState has a new method get_amplitude to obtain the amplitude of computational basis states.
  • New feature: GeneralState and CuTensorNetShotsBackend now support RNG seeds for sampling.
  • Docs: three tutorials added to the documentation.
  • Deprecated TensorNetwork object. 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-theming submodule 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_kahypar option from Config. It can still be set via the simulate option compilation_params.
  • New feature: simulate now accepts pytket circuits with Measure, Reset, Conditional, ClassicalExpBox and more classical operations. You can now retrieve classical bit values using get_bits.

  • When calling simulate, the gates on the circuit are no longer sorted by default. Use compilation_params["sort_gates"] = True to recover this behaviour, which is now deprecated.

  • StructuredState now supports simulation of single qubit circuits.

  • Some bugfixes on MPSxMPO relating 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_relabelling now appears in the documentation.
    • add_qubit removed from documentation of MPSxMPO, 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_fraction argument to configure the amount of GPU memory allocated to cuTensorNet contraction. Users can also configure the values of the StateAttribute and SamplerAttribute from 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 CuTensorNetBackend to CuTensorNetStateBackend.
    • Moved get_operator_expectation_value and get_circuit_overlap from backends submodule to general_state submodule.
    • Warning TensorNetwork object will soon be deprecated in favour of the new GeneralState.
  • New API: GeneralState for exact simulation of circuits via contraction-path optimisation. Currently supports get_statevector(), expectation_value() and sample().

  • New feature: CuTensorNetShotsBackend for simulation of circuit shots.

  • New feature: MPS algorithms MPSxGate and MPSxMPO now support simulation of two-qubit gates acting on non-adjacent qubits.

  • New feature: add_qubit to add fresh qubits at specified positions in an MPS.

  • New feature: added an option to measure to toggle destructive measurement on/off. Currently only supported for MPS.

  • New feature: a seed can now be provided to Config objects, providing reproducibility across StructuredState simulations.

  • New feature: apply_unitary both for MPS and TTN to apply an arbitrary unitary matrix, rather than a pytket.Command.

  • New feature: apply_qubit_relabelling both for MPS and TTN to change the name of their qubits. This is now used within simulate to 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 simulate with TTNxGate algorithm, the initial partition is obtained using NetworkX instead of KaHyPar by default. This makes setup easier and means that TTNxGate can now be used when installing from PyPI. KaHyPar can still be used if use_kahypar from Config is 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 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.

- 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

  • MPS simulation with fixed truncation_fidelity now 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 MPS simulation parameters is now done via ConfigMPS.
  • Added a value_of_zero parameter to ConfigMPS for 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 loglevel in ConfigMPS.
  • Improved performance of contraction across MPS methods by hardcoding the contraction paths.
  • Fixed a bug that caused more MPS canonicalisation than strictly required.
  • Fixed a bug where simulate would not apply the last batch of gates when using MPSxMPO.

- 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.
  • Tensor class 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_gate of 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