- Update to 1.10.0:
* Breaking Changes
+ renamed MatrixProductState.partial_trace and MatrixProductState.ptr to
MatrixProductState.partial_trace_to_mpo to avoid confusion with other
partial_trace methods that usually produce a dense matrix.
* Enhancements:
+ tensor network fitting: add method="tree" for when ansatz is a tree -
tensor_network_fit_tree
+ tensor network fitting: fix method="als" for complex networks
+ tensor network fitting: allow method="als" to use a iterative solver
suited to much larger tensors, by default a custom conjugate gradient
implementation.
+ tensor_network_distance and fitting: support hyper indices explicitly
via output_inds kwarg
+ add tn.make_overlap and tn.overlap for computing the overlap between
two tensor networks, ⟨ O | T ⟩ , with explicit handling of outer
indices to address hyper networks. Add output_inds to tn.norm and
tn.make_norm also, as well as the squared kwarg.
+ replace all numba based paralellism (prange and parallel vectorize)
with explicit thread pool based parallelism. Should be more reliable
and no need to set NUMBA_NUM_THREADS anymore. Remove env var
QUIMB_NUMBA_PAR.
+ Circuit: add dtype and convert_eager options. dtype specifies what the
computation should be performed in. convert_eager specifies whether to
apply this (and any to_backend calls) as soon as gates are applied
(the default for MPS circuit simulation) or just prior to contraction
(the default for exact contraction simulation).
+ tn.full_simplify: add check_zero (by default set of "auto") option
which explicitly checks for zero tensor norms when equalizing norms to
avoid log10(norm) resulting in -inf or nan. Since it creates a data
OBS-URL: https://build.opensuse.org/request/show/1248539
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-quimb?expand=0&rev=11
- update to 1.8.4:
* support for numpy v2.0 and scipy v1.14
* add MPS sampling: `MatrixProductState.sample_configuration`
and `MatrixProductState.sample` (generating multiple samples)
and use these for `CircuitMPS.sample` and
`CircuitPermMPS.sample`.
* add basic `.plot()` method for SimpleUpdate classes
* add `edges_1d_chain` for generating 1D chain edges
* operatorbuilder: better coefficient placement for long range
MPO building
* `TNOptimizer` can now accept an arbitrary pytree (nested
combination of dicts, lists, tuples, etc. with
`TensorNetwork`, `Tensor` or raw `array_like` objects as the
leaves) as the target object to optimize.
* `TNOptimizer` can now directly optimize `Circuit` objects,
returning a new optimized circuit with updated parameters.
* `Circuit`: add `.copy()`, `.get_params()` and `.set_params()`
interface methods.
* Update generic TN optimizer docs.
* add `tn.gen_inds_loops` for generating all loops of indices
in a TN.
* add `tn.gen_inds_connected` for generating all connected sets
of indices in a TN.
* make SVD fallback error catching more generic ({pull}`#238`)
* fix some windows + numba CI issues.
* `approx_spectral_function` add plotting and tracking
* add dispatching to various tensor primitives to allow
overriding
* `CircuitMPS` now supports multi qubit gates, including
arbitrary multi-controls (which are treated in a low-rank
OBS-URL: https://build.opensuse.org/request/show/1198064
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-quimb?expand=0&rev=9
* support for numpy v2.0 and scipy v1.14
* add MPS sampling: `MatrixProductState.sample_configuration`
and `MatrixProductState.sample` (generating multiple samples)
and use these for `CircuitMPS.sample` and
`CircuitPermMPS.sample`.
* add basic `.plot()` method for SimpleUpdate classes
* add `edges_1d_chain` for generating 1D chain edges
* operatorbuilder: better coefficient placement for long range
MPO building
* `TNOptimizer` can now accept an arbitrary pytree (nested
combination of dicts, lists, tuples, etc. with
`TensorNetwork`, `Tensor` or raw `array_like` objects as the
leaves) as the target object to optimize.
* `TNOptimizer` can now directly optimize `Circuit` objects,
returning a new optimized circuit with updated parameters.
* `Circuit`: add `.copy()`, `.get_params()` and `.set_params()`
interface methods.
* Update generic TN optimizer docs.
* add `tn.gen_inds_loops` for generating all loops of indices
in a TN.
* add `tn.gen_inds_connected` for generating all connected sets
of indices in a TN.
* make SVD fallback error catching more generic ({pull}`#238`)
* fix some windows + numba CI issues.
* `approx_spectral_function` add plotting and tracking
* add dispatching to various tensor primitives to allow
overriding
* `CircuitMPS` now supports multi qubit gates, including
arbitrary multi-controls (which are treated in a low-rank
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-quimb?expand=0&rev=19
Forwarded request #1152767 from bnavigator
- Update to 1.7.3
## Enhancements:
* qu.randn: support dist="rademacher".
* support dist and other randn options in various TN builders.
## Bug fixes:
* restore fallback (to scipy.linalg.svd with driver='gesvd')
behavior for truncated SVD with numpy backend.
- Release 1.7.2
## Bug fixes:
* removed import of deprecated numba.generated_jit decorator.
## Enhancements:
* add normalized=True option to tensor_network_distance for
computing the normalized distance between tensor networks,
which is useful for convergence checks.
Tensor.distance_normalized and
TensorNetwork.distance_normalized added as aliases.
* add TensorNetwork.cut_bond for cutting a bond index
- Release v1.7.1
## Enhancements:
* add TensorNetwork.visualize_tensors for visualizing the actual
data entries of an entire tensor network.
* add ham.build_mpo_propagator_trotterized for building a
trotterized propagator from a local 1D hamiltonian. This also
includes updates for creating 'empty' tensor networks using
TensorNetwork.new, and building up gates from empty tensor
networks using TensorNetwork.gate_inds_with_tn.
* add more options to Tensor.expand_ind and Tensor.new_ind:
repeat tiling mode and random padding mode.
* tensor decomposition: make eigh_truncated backend agnostic.
* tensor_compress_bond: add reduced="left" and reduced="right"
OBS-URL: https://build.opensuse.org/request/show/1153130
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-quimb?expand=0&rev=8
- Update to 1.7.3
## Enhancements:
* qu.randn: support dist="rademacher".
* support dist and other randn options in various TN builders.
## Bug fixes:
* restore fallback (to scipy.linalg.svd with driver='gesvd')
behavior for truncated SVD with numpy backend.
- Release 1.7.2
## Bug fixes:
* removed import of deprecated numba.generated_jit decorator.
## Enhancements:
* add normalized=True option to tensor_network_distance for
computing the normalized distance between tensor networks,
which is useful for convergence checks.
Tensor.distance_normalized and
TensorNetwork.distance_normalized added as aliases.
* add TensorNetwork.cut_bond for cutting a bond index
- Release v1.7.1
## Enhancements:
* add TensorNetwork.visualize_tensors for visualizing the actual
data entries of an entire tensor network.
* add ham.build_mpo_propagator_trotterized for building a
trotterized propagator from a local 1D hamiltonian. This also
includes updates for creating 'empty' tensor networks using
TensorNetwork.new, and building up gates from empty tensor
networks using TensorNetwork.gate_inds_with_tn.
* add more options to Tensor.expand_ind and Tensor.new_ind:
repeat tiling mode and random padding mode.
* tensor decomposition: make eigh_truncated backend agnostic.
* tensor_compress_bond: add reduced="left" and reduced="right"
OBS-URL: https://build.opensuse.org/request/show/1152767
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-quimb?expand=0&rev=17
- Update to v1.4.2
* no relevant code changes for openSUSE users
- Release v1.4.1
## Enhancements
* unify much functionality from 1D, 2D and 3D into general
arbitrary geometry class
quimb.tensor.tensor_arbgeom.TensorNetworkGen
* refactor contraction, allowing using cotengra directly
* add visualize() for visualizing the actual data entries of an
arbitrarily high dimensional tensor
* add Gate class for more robust tracking and manipulation of
gates in quantum Circuit simulation
* tweak TN drawing style and layout
* tweak default gauging options of compressed contraction
* add compute_hierarchical_grouping()
* add as_network()
* add inds_size()
* add get_hyperinds()
* add outer_size()
* improve group_inds()
* refactor tensor decompositiona and ‘isometrization’ methods
* begin supporting pytree specifications in TNOptimizer, e.g. for
constants
* add experimental submodule for new sharing features
* register tensor and tensor network objects with jax pytree
interface (PR150)
* update CI infrastructure
## Bug fixes:
* fix force atlas 2 and weight_attr bug (GH126)
* allow unpickling of PTensor objects (GH128, PR131)
OBS-URL: https://build.opensuse.org/request/show/1061175
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-quimb?expand=0&rev=9
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.