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 ofXon which the unitary disentangling matrix acts.svd_legs: A list of legs ofXacross 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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f63c5fe9a3b6acbf34b5b53d988d9b167341bd9028c14c610b756e7b580f7bb
|
|
| MD5 |
fca5902a9bddc15090a80ec95cf8ace1
|
|
| BLAKE2b-256 |
bd70a7e907f17c645e909693898e34b74757fda33149caa05a662744c873d76b
|
File details
Details for the file tensor_disentangler-0.0.1-py3-none-any.whl.
File metadata
- Download URL: tensor_disentangler-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b5262b86b170c5848f5b27ee7573573e460b2d035a80f6fd5508456e36303cb
|
|
| MD5 |
097235e9c45c03a47a12be9edeb86a51
|
|
| BLAKE2b-256 |
b70b0c117a3904110239829a375bf6aafef0db0c2c00f8b40e19a38c545b4ccf
|