Skip to main content

Numerical optimization of tensor network disentanglers

Project description

Tensor Disentangler

tensor-disentangler is a Python package that optimizes 'disentangling' unitary matrices to reduce bond-dimension in a given tensor. It is built on Pymanopt and designed to be used in tensor network algorithms for quantum many-body calculations and beyond. For example, disentangling is important for tensor network renormalization, isometric tensor network states, MERA, purified mixed-state MPS, and unitary tensor networks.

The user provides the tensor, dimensions of the tensor on which the unitary matrix is applied, and dimensions across which entanglement is minimized.

Installation

We should make this available via pip

Usage

disentangle(X, dis_legs, svd_legs, **kwargs)

  • X: The input tensor (NumPy array) to be disentangled.
  • dis_legs: A list of legs of X on which the unitary disentangling matrix acts.
  • svd_legs: A list of legs of X across which the entanglement is minimized.

For example, if X is a 4D NumPy array then

Q, U, S, V = disentangle(X, dis_legs=[0, 1], svd_legs=[0, 2], **kwargs)

optimizes a unitary matrix Q to minimize the error when truncating the SVD in the following tensor network diagram

Disentangling Diagram

Features

tensor-disentangler has support for various optimizers and objective functions for disentangling. The optimizer, objective function, and other options can be specified with keyword arguments. For a comprehensive list we should write some documentation.

  • Optimization algorithm: Alternating, Riemannian Conjugate Gradient, Riemannian Steepest Descent, and more
  • Optimization objective function: Renyi entropy, Von-Neumann entropy, or truncation error
  • Initial disentangler: identity, random, or user-supplied
  • Maximum wall time and other optimizer specific stopping criteria
  • Other advanced options

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tensor_disentangler-0.0.1.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tensor_disentangler-0.0.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file tensor_disentangler-0.0.1.tar.gz.

File metadata

  • Download URL: tensor_disentangler-0.0.1.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for tensor_disentangler-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5f63c5fe9a3b6acbf34b5b53d988d9b167341bd9028c14c610b756e7b580f7bb
MD5 fca5902a9bddc15090a80ec95cf8ace1
BLAKE2b-256 bd70a7e907f17c645e909693898e34b74757fda33149caa05a662744c873d76b

See more details on using hashes here.

File details

Details for the file tensor_disentangler-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tensor_disentangler-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0b5262b86b170c5848f5b27ee7573573e460b2d035a80f6fd5508456e36303cb
MD5 097235e9c45c03a47a12be9edeb86a51
BLAKE2b-256 b70b0c117a3904110239829a375bf6aafef0db0c2c00f8b40e19a38c545b4ccf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page