Quimb Versions Save

A python library for quantum information and many-body calculations including tensor networks.

v1.8.1

1 week ago

Enhancements:

Bug fixes:

New Contributors

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.8.0...v1.8.1

v1.8.0

1 month ago

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: https://github.com/jcmgray/quimb/compare/v1.7.3...v1.8.0

v1.7.3

3 months ago

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: https://github.com/jcmgray/quimb/compare/v1.7.2...v1.7.3

v1.7.2

3 months ago

Bug fixes:

  • removed import of deprecated numba.generated_jit decorator.

Enhancements:

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.7.1...v1.7.2

v1.7.1

3 months ago

What's Changed

Enhancements:

Bug fixes:

New Contributors

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.7.0...v1.7.1

v1.7.0

5 months ago

Breaking Changes

  • Circuit : remove target_size in preparation for all contraction specifications to be encapsulated at the contract level (e.g. with cotengra)
  • some TN drawing options (mainly arrow options) have changed due to the backend change detailed below.

Enhancements:

Multi tag drawing support:

drawing-updates-banner

  • TensorNetwork.draw: use quimb.schematic for main backend="matplotlib" drawing. Enabling:
    1. multi tag coloring for single tensors
    2. arrows and labels on multi-edges
    3. better sizing of tensors using absolute units
    4. neater single tensor drawing, in 2D and 3D

Bug fixes:

  • fixed bug where an output index could be removed by squeezing when performing tensor network simplifications.

New Contributors

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.6.0...v1.7.0

v1.6.0

8 months ago

Breaking Changes

  • Quantum circuit RZZ definition corrected (angle changed by -1/2 to match qiskit).

Enhancements:

  • add OpenQASM 2.0 parsing support: :meth:Circuit.from_openqasm2_file
  • :class:Circuit: add RXX, RYY, CRX, CRY, CRZ, toffoli, fredkin, givens gates
  • truncate TN pretty html reprentation to 100 tensors for performance
  • add :meth:Tensor.sum_reduce and :meth:Tensor.vector_reduce
  • :meth:contract_compressed, default to 'virtual-tree' gauge
  • add :func:TN_rand_tree
  • experimental.operatorbuilder: fix parallel and heisenberg builder
  • make parametrized gate generation even more robost (ensure matching types so e.g. tensorflow can be used)

Bug fixes:

  • fix gauge size check for some backends

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.5.1...v1.6.0

v1.5.1

9 months ago
  • add various MPO-MPS gate methods, including zip-up and density matrix, in the experimental submodule
  • some PTensor refactoring
  • Circuit: more robust parametrized gate generation
  • various new contraction convenience interfaces (incld. array_contract)
  • add Tensor.check() and TensorNetwork.check() for diagnostics
  • add TensorNetwork.isconnected(), TensorNetwork.istree()

Full Changelog: https://github.com/jcmgray/quimb/compare/v1.5.0...v1.5.1

v1.5.0

1 year ago

Enhancements

  • refactor 'isometrize' methods including new "cayley", "householder" and "torch_householder" methods. See :func:quimb.tensor.decomp.isometrize.
  • add :meth:~quimb.tensor.tensor_core.TensorNetwork.compute_reduced_factor and :meth:~quimb.tensor.tensor_core.TensorNetwork.insert_compressor_between_regions methos, for some RG style algorithms.
  • add the mode="projector" option for 2D tensor network contractions
  • add HOTRG style coarse graining and contraction in 2D and 3D. See :meth:~quimb.tensor.tensor_2d.TensorNetwork2D.coarse_grain_hotrg, :meth:~quimb.tensor.tensor_2d.TensorNetwork2D.contract_hotrg, :meth:~quimb.tensor.tensor_3d.TensorNetwork3D.coarse_grain_hotrg, and :meth:~quimb.tensor.tensor_3d.TensorNetwork3D.contract_hotrg,
  • add CTMRG style contraction for 2D tensor networks: :meth:~quimb.tensor.tensor_2d.TensorNetwork2D.contract_ctmrg
  • add 2D tensor network 'corner double line' (CDL) builders: :func:~quimb.tensor.tensor_builder.TN2D_corner_double_line
  • update the docs to use the furo <https://pradyunsg.me/furo/>_ theme, myst_nb <https://myst-nb.readthedocs.io/en/latest/>_ for notebooks, and several other sphinx extensions.
  • add the 'adabelief' optimizer to :class:~quimb.tensor.optimize.TNOptimizer as well as a quick plotter: :meth:~quimb.tensor.optimize.TNOptimizer.plot
  • add initial 3D plotting methods for tensors networks ( TensorNetwork.draw(dim=3, backend='matplotlib3d') or TensorNetwork.draw(dim=3, backend='plotly') ). The new backend='plotly' can also be used for 2D interactive plots.
  • Update :func:~quimb.tensor.tensor_builder.HTN_from_cnf to handle more weighted model counting formats.
  • Add :func:~quimb.tensor.tensor_builder.cnf_file_parse
  • Add :func:~quimb.tensor.tensor_builder.random_ksat_instance
  • Add :func:~quimb.tensor.tensor_builder.TN_from_strings
  • Add :func:~quimb.tensor.tensor_builder.convert_to_2d
  • Add :func:~quimb.tensor.tensor_builder.TN2D_rand_hidden_loop
  • Add :func:~quimb.tensor.tensor_builder.convert_to_3d
  • Add :func:~quimb.tensor.tensor_builder.TN3D_corner_double_line
  • Add :func:~quimb.tensor.tensor_builder.TN3D_rand_hidden_loop
  • various optimizations for minimizing computational graph size and construction time.
  • add 'lu', 'polar_left' and 'polar_right' methods to :func:~quimb.tensor.tensor_core.tensor_split.
  • add experimental arbitrary hamilotonian MPO building
  • :class:~quimb.tensor.tensor_core.TensorNetwork: allow empty constructor (i.e. no tensors representing simply the scalar 1)
  • :meth:~quimb.tensor.tensor_core.TensorNetwork.drop_tags: allow all tags to be dropped
  • tweaks to compressed contraction and gauging
  • add jax, flax and optax example
  • add 3D and interactive plotting of tensors networks with via plotly.
  • add pygraphiviz layout options
  • add :meth:~quimb.tensor.tensor_core.TensorNetwork.combine for unified handling of combining tensor networks potentially with structure
  • add HTML colored pretty printing of tensor networks for notebooks
  • add quimb.experimental.cluster_update.py

Bug fixes:

  • fix :func:~quimb.tensor.decomp.qr_stabilized bug for strictly upper triangular R factors.

Full Changelog: https://github.com/jcmgray/quimb/compare/1.4.2...v1.5.0

1.4.2

1 year ago

Add automatic building and publishing of quimb to pypi.