Releases: CQCL/pytket-cutensornet
v0.11.1
What's Changed
- update pytket version to 2.x by @cqc-melf in #199
- [bug]
apply_unitary
ignoreskill_threshold
by @PabloAndresCQ in #201
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
- [bug] Add qubit when MPS is empty by @PabloAndresCQ in #193
- Update to pytket 2 by @cqc-alec in #194
- [feat] Adding a
kill_threshold
parameter to cancel simulations with low fidelity by @PabloAndresCQ in #197 - [feature] Allow users to specify file to write log on by @PabloAndresCQ in #190
- Release v0.11.0 by @PabloAndresCQ in #198
Full Changelog: v0.10.2...v0.11.0
v0.10.2
What's Changed
- update copyright by @cqc-melf in #182
- remove docs build from release workflow by @cqc-melf in #183
- update pytket version by @cqc-melf in #184
- Remove unnecessary canonicalisation steps before non-adjacent two-qubit gates by @PabloAndresCQ in #186
- Constrain to pytket 1.x. by @cqc-alec in #187
- Updated changelog and bump version by @PabloAndresCQ in #189
Full Changelog: v0.10.1...v0.10.2
v0.10.1
What's Changed
- Support
ClExpr
by @PabloAndresCQ in #176 - Fix inconsistent canonical form labelling by @PabloAndresCQ in #177
- Update installation instructions by @PabloAndresCQ in #179
Full Changelog: v0.10.0...v0.10.1
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
andGeneralBraOpKet
admit circuits with parameterised gates. - New feature:
GeneralState
has a new methodget_amplitude
to obtain the amplitude of computational basis states. - New feature:
GeneralState
andCuTensorNetShotsBackend
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: v0.9.0...v0.10.0
v0.9.0
pytket-cutensornet 0.8.0
-
API breaking changes
- Removed
use_kahypar
option fromConfig
. It can still be set via thesimulate
optioncompilation_params
.
- Removed
-
New feature:
simulate
now accepts pytket circuits withMeasure
,Reset
,Conditional
,ClassicalExpBox
and 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"] = 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 ofMPSxMPO
, since it is not currently supported.
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 theStateAttribute
andSamplerAttribute
from cuTensornet via the backend interface. - Fixed a bug causing the logger to fail displaying device properties.
pytket-cutensornet 0.7.0
-
API breaking changes
- Renamed
CuTensorNetBackend
toCuTensorNetStateBackend
. - Moved
get_operator_expectation_value
andget_circuit_overlap
frombackends
submodule togeneral_state
submodule. - Warning
TensorNetwork
object will soon be deprecated in favour of the newGeneralState
.
- Renamed
-
New API:
GeneralState
for exact simulation of circuits via contraction-path optimisation. Currently supportsget_statevector()
,expectation_value()
andsample()
. -
New feature:
CuTensorNetShotsBackend
for simulation of circuit shots. -
New feature: MPS algorithms
MPSxGate
andMPSxMPO
now support simulation of two-qubit gates acting on non-adjacent qubits. -
New feature:
add_qubit
to add fresh qubits at specified positions in anMPS
. -
New feature: added an option to
measure
to toggle destructive measurement on/off. Currently only supported forMPS
. -
New feature: a seed can now be provided to
Config
objects, providing reproducibility acrossStructuredState
simulations. -
New feature:
apply_unitary
both forMPS
andTTN
to apply an arbitrary unitary matrix, rather than apytket.Command
. -
New feature:
apply_qubit_relabelling
both forMPS
andTTN
to change the name of their qubits. This is now used withinsimulate
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.
pytket-cutensornet 0.6.1
- When using
simulate
withTTNxGate
algorithm, the initial partition is obtained using NetworkX instead of KaHyPar by default. This makes setup easier and means thatTTNxGate
can now be used when installing from PyPI. KaHyPar can still be used ifuse_kahypar
fromConfig
is set to True. - Updated pytket version requirement to 1.27.