Skip to content

v1.5.0

Choose a tag to compare

@jcmgray jcmgray released this 04 May 00:04
· 710 commits to main since this release

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: 1.4.2...v1.5.0