Skip to main content

Minimal Matplotlib visualizations for TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced PyTorch/NumPy einsum tensor networks.

Project description

Tensor-Network-Visualization

CI PyPI version Python versions License: MIT

Minimal Matplotlib visualizations for TensorKrowch, TensorNetwork, Quimb, TeNPy, and traced PyTorch/NumPy einsum tensor networks.

Why This Exists

Tensor-network libraries expose different Python objects. This package gives them a small shared visualization API so you can inspect structure, tensor values, contraction playback, and normalized graph exports without rewriting plotting code for every backend.

The common entry points are:

show_tensor_network(...)
show_tensor_elements(...)
show_tensor_comparison(...)
normalize_tensor_network(...)
export_tensor_network_snapshot(...)

Install

  • PyPI package name: tensor-network-visualization
  • Import package: tensor_network_viz
  • Requires Python 3.11 or newer.
python -m pip install tensor-network-visualization

The base install only depends on numpy, matplotlib, and networkx.

For interactive Jupyter figures:

python -m pip install "tensor-network-visualization[jupyter]"

For backend-specific packages, install the matching extra, for example:

python -m pip install "tensor-network-visualization[quimb]"

See docs/installation.md for virtual environments, all optional extras, and local development installs.

Basic Usage

NumPy einsum trace (base install)

This example uses only base dependencies and a NumPy-backed EinsumTrace.

import numpy as np
from tensor_network_viz import EinsumTrace, PlotConfig, einsum, show_tensor_network

trace = EinsumTrace()
a = np.ones((2, 3), dtype=float)
x = np.array([1.0, -0.5, 0.25], dtype=float)

trace.bind("A", a)
trace.bind("x", x)
einsum("ab,b->a", a, x, trace=trace, backend="numpy")

fig, ax = show_tensor_network(
    trace,
    config=PlotConfig(show_tensor_labels=True, hover_labels=True),
    show=False,
)
fig.savefig("einsum-network.png", bbox_inches="tight")

TensorKrowch

Install the TensorKrowch extra (see Installation for details):

python -m pip install "tensor-network-visualization[tensorkrowch]"
import tensorkrowch as tk
from tensor_network_viz import PlotConfig, show_tensor_network

network = tk.TensorNetwork(name="demo")
left = tk.Node(shape=(2, 2), axes_names=("a", "b"), name="L", network=network)
right = tk.Node(shape=(2, 2), axes_names=("b", "c"), name="R", network=network)
left["b"] ^ right["b"]

fig, ax = show_tensor_network(
    network,
    config=PlotConfig(show_tensor_labels=True, show_index_labels=False),
    show=False,
)
fig.savefig("tensorkrowch-network.png", bbox_inches="tight")

Use show=False when you want to save or customize the figure yourself. Use show_controls=False when you want a clean static figure with no embedded Matplotlib controls.

In Jupyter, install "tensor-network-visualization[jupyter]", run %matplotlib widget before plotting, then call show_tensor_network as usual (default show_controls=True) for interactive figures with embedded controls. See Installation and User Guide for details.

Documentation

  • Installation: virtual environments, optional extras, Jupyter, and local editable installs.
  • API Reference: public functions, configuration objects, snapshots, exceptions, and logging.
  • User Guide: workflows, notebooks, exports, layouts, tensor inspection, comparisons, snapshots, and performance tips.
  • Backend Examples: copy-paste examples for TensorKrowch, TensorNetwork, Quimb, TeNPy, and einsum.
  • Troubleshooting: common install, Jupyter, Matplotlib, backend, and data issues.
  • Repository Examples: command-line demo launcher and example catalog.

Project Links

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_network_visualization-1.6.0.tar.gz (273.7 kB view details)

Uploaded Source

Built Distribution

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

tensor_network_visualization-1.6.0-py3-none-any.whl (232.3 kB view details)

Uploaded Python 3

File details

Details for the file tensor_network_visualization-1.6.0.tar.gz.

File metadata

File hashes

Hashes for tensor_network_visualization-1.6.0.tar.gz
Algorithm Hash digest
SHA256 6d16f9e115fd6f7e82166265115a891dfca0157440fdd7a27bf03acbd8e38842
MD5 294d97ad49926ac747afae40e1a7d335
BLAKE2b-256 e6198bcdfce51efcfce5deb5e310de13a203203e526f25014587d4059922ded5

See more details on using hashes here.

File details

Details for the file tensor_network_visualization-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tensor_network_visualization-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55b9834f7be2ec4ffcdc3aefb209e08fb889b69d7322eb438e8e95c45c432943
MD5 23fa2f089fd268ada01237abf048d92e
BLAKE2b-256 ec07b320fb3052d7f524aa17c2bf6db165b8c54cebd1041ca4d671815b40f805

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