Skip to content

Releases: jcmgray/quimb

v1.10.0

18 Dec 23:49
Compare
Choose a tag to compare

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 dtype 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, $\langle O |T \rangle$, 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 dependency that breaks e.g. jax tracing, it is optional.
  • schematic.Drawing: add shorten kwarg to line drawing and curve drawing and examples to the docs.
  • TensorNetwork: add .backend and .dtype_name properties.

PRs:

  • Circuit: add default dtype and convert_eager options by @jcmgray in #273
  • add fit(method="tree") and fix ALS for complex TNs by @jcmgray in #274

Full Changelog: v1.9.0...v1.10.0

v1.9.0

20 Nov 02:50
Compare
Choose a tag to compare

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:

v1.8.4

20 Jul 21:00
Compare
Choose a tag to compare

What's Changed

  • fix MPS sample handling of RNG seed by @kevinsung in #248
  • fix bug in applying MPO lazily to MPS (#246)

New Contributors

Full Changelog: v1.8.3...v1.8.4

v1.8.3

10 Jul 23:20
Compare
Choose a tag to compare

Enhancements:

Full Changelog: v1.8.2...v1.8.3

v1.8.2

12 Jun 21:42
Compare
Choose a tag to compare

Enhancements:

  • 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 (by @mlxd in #238)
  • fix some windows + numba CI issues.
  • approx_spectral_function add plotting and tracking
  • add dispatching to various tensor primitives to allow overriding

New Contributors

  • @mlxd made their first contribution in #238

Full Changelog: v1.8.1...v1.8.2

v1.8.1

07 May 06:13
Compare
Choose a tag to compare

Enhancements:

Bug fixes:

New Contributors

Full Changelog: v1.8.0...v1.8.1

v1.8.0

10 Apr 21:55
Compare
Choose a tag to compare

Breaking Changes

Enhancements:

Bug fixes:

  • fix scipy sparse monkey patch for scipy>=1.13 (#222)
  • fix autoblock bug where connected sectors were not being merged (#223)

Full Changelog: v1.7.3...v1.8.0

v1.7.3

08 Feb 23:27
Compare
Choose a tag to compare

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.

Full Changelog: v1.7.2...v1.7.3

v1.7.2

01 Feb 04:30
Compare
Choose a tag to compare

Bug fixes:

  • removed import of deprecated numba.generated_jit decorator.

Enhancements:

Full Changelog: v1.7.1...v1.7.2

v1.7.1

30 Jan 17:19
Compare
Choose a tag to compare

What's Changed

Enhancements:

Screenshot 2024-01-30 at 9 16 56 AM

Bug fixes:

  • fix bug in kruas_op when operator spanned multiple subsystems (#214)
  • fix bug in qr_stabilized when the diagonal of R has significant imaginary parts.
  • fix bug in quantum discord computation when the state was diagonal (#217)
  • Fix empty lines in dimacs by @jjcmoon in #215

New Contributors

Full Changelog: v1.7.0...v1.7.1