v1.8.1
Enhancements:
CircuitMPS
now supports multi qubit gates, including arbitrary multi-controls (which are treated in a low-rank manner), and faster simulation via better orthogonality center tracking.- add
CircuitPermMPS
, more docs here: https://quimb.readthedocs.io/en/latest/tensor-circuit-mps.html - add
MatrixProductState.gate_nonlocal
for applying a gate, supplied as a raw matrix, to a non-local and arbitrary number of sites. The kwargcontract="nonlocal"
can be used to force this method, or the new option"auto-mps"
will select this method if the gate is non-local (#230) - add
MatrixProductState.gate_with_mpo
for applying an MPO to an MPS, and immediately compressing back to MPS form usingtensor_network_1d_compress
- add
MatrixProductState.gate_with_submpo
for applying an MPO acting only of a subset of sites to an MPS - add
MatrixProductOperator.from_dense
for constructing MPOs from dense matrices, including an only subset of sites - add
MatrixProductOperator.fill_empty_sites
for 'completing' an MPO which only has tensors on a subset of sites with (by default) identities MatrixProductState
andMatrixProductOperator
, now support thesites
kwarg in common constructors, enabling the TN to act on a subset of the fullL
sites.- add
TensorNetwork.drape_bond_between
for 'draping' an existing bond between two tensors through a third - add
Tensor.new_ind_pair_with_identity
- TN2D, TN3D and arbitrary geom classical partition function builders (
TN_classical_partition_function_from_edges
) now all supportoutputs=
kwarg specifying non-marginalized variables - add simple dense 1-norm belief propagation algorithm
D1BP
- add
qtn.enforce_1d_like
for checking whether a tensor network is 1D-like, including automatically adding strings of identities between non-local bonds, expanding applicability oftensor_network_1d_compress
- add
MatrixProductState.canonicalize
as (by default non-inplace) version ofcanonize
, to follow the pattern of other tensor network methods.canonize
is now an alias forcanonicalize_
[note trailing underscore]. - add
MatrixProductState.left_canonicalize
as (by default non-inplace) version ofleft_canonize
, to follow the pattern of other tensor network methods.left_canonize
is now an alias forleft_canonicalize_
[note trailing underscore]. - add
MatrixProductState.right_canonicalize
as (by default non-inplace) version ofright_canonize
, to follow the pattern of other tensor network methods.right_canonize
is now an alias forright_canonicalize_
[note trailing underscore].
Bug fixes:
Circuit.apply_gate_raw
: fix kwarg bug (#226) by @juliendrapeau- fix for retrieving
opt_einsum.PathInfo
for single scalar contraction (#231).
New Contributors
- @juliendrapeau made their first contribution in #226
Full Changelog: v1.8.0...v1.8.1