Skip to main content

Alice Tensor Network Algorithms

PyPI Version License Documentation Python Version PyTorch Built on Nicole Status

Alice is an open-source project for 1D tensor network algorithms, built on the Nicole symmetry-aware tensor library. The ecosystem provides production-quality implementations of state-of-the-art algorithms for simulating 1D (and quasi-1D) quantum many-body systems, with full support for Abelian and non-Abelian (currently SU(2) only) symmetries inherited from Nicole.

With the assistance of various AI coding agents, Alice pairs a physicist-friendly API — TOML-driven model definitions, concise Python entry points — with a well-tested, performant backend designed with HPC in mind, scaling from workstations to large-scale distributed computations, making cutting-edge tensor network calculations broadly accessible while maintaining the mathematical rigor for quantum physics applications.

Algorithms

DMRG (Density Matrix Renormalization Group)

Ground-state search and optimization via alternating sweep optimization of MPS tensors. Three complementary update schemes are available — 1-site, 2-site, and 1-site-plus (controlled bond expansion) — each with a Davidson eigensolver and energy-based convergence criterion.

XTRG (eXponential Tensor Renormalization Group)

Finite-temperature thermodynamics via exponential cooling of the thermal density matrix. Three update schemes drive the underlying variational MPO-MPO compression — 1-site, 2-site, and 1-site-plus (controlled bond expansion) — solving a linear least-squares minimization at each step.

Upcoming

The following algorithms are planned for future releases. Contributions toward any of them are warmly welcomed — see the Contributing section to get involved.

  • tanTRG (tangent-space Tensor Renormalization Group): finite-temperature simulations with linear cooling steps, offering high speed at moderate to high temperatures
  • TDVP (Time-Dependent Variational Principle): real-time evolution of quantum states within the MPS manifold, conserving energy and norm during time integration
  • TaSK (Tangent Space Krylov): dynamical properties and real-frequency spectral functions, computed by a Lanczos scheme projected onto the tangent space of the ground-state MPS

Key Features

  • Symmetry-Aware MPS/MPO: block-sparse matrix product states and operators supporting any symmetry group or product group that Nicole supports, leveraging its exact block-sparse engine
  • AutoMPO Construction: TOML-configured Hamiltonian builder with built-in model presets (Heisenberg, free-fermion, Hubbard) and full support for custom models via user-defined model functions
  • Flexible Geometries: built-in 1D and quasi-1D lattice geometries with custom geometry extensions supported via user-defined geometry functions
  • Environment Caching: optional disk-spilling of environment blocks with a sliding in-memory window and asynchronous I/O, enabling 1D algorithms on long chains with limited RAM
  • Systematic Logging: comprehensive sweep-by-sweep diagnostics via Python's logging module, configurable with alice.configure_logging()
  • PyTorch Backend: all dense block operations run on PyTorch via Nicole, with optional GPU (CUDA/MPS), Ascend NPU acceleration, and on-demand autograd support

Contributing

Alice is structured around a shared core — the MPS, MPO, and network infrastructure — on top of which each algorithm is developed and maintained as an independent unit. This means that individual algorithms can be contributed, extended, or maintained by different people, and each contributor's work is attributed accordingly. If you have expertise in a particular algorithm or wish to take ownership of one of the upcoming implementations, your involvement is especially valued.

Ways to contribute:

  • Implement or co-develop one of the planned algorithms (see Upcoming)
  • Report issues and request features via GitHub Issues
  • Submit pull requests with bug fixes or enhancements
  • Share benchmarks, use cases, or constructive feedback

Development guidelines:

  • Ensure contributions include appropriate tests
  • Follow the existing code style (enforced by ruff)
  • Add type hints for all public function signatures
  • Update documentation for user-facing changes

Authors and Maintainers:

Alice is created by Changkai Zhang as part of the Ideogenesis-AI effort in studying quantum many-body systems. The core infrastructure is maintained by the original author; individual algorithms have their respective maintenance teams. For questions about contributing or collaboration opportunities, feel free to open an issue on GitHub or contact the responsible team directly.

License

Alice is licensed under the GNU General Public License v3.0 (GPL-3.0). This means you are free to use, modify, and distribute this software under the terms of the GPL-3.0 license. We encourage you to share any improvements you make back to the community, helping Alice grow and benefit all users. See the LICENSE file for the full license text. For more information about GPL-3.0, visit https://www.gnu.org/licenses/gpl-3.0.html

Download files

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

Source Distribution

alice_net-0.2.3.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

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

alice_net-0.2.3-py3-none-any.whl (162.6 kB view details)

Uploaded Python 3

File details

Details for the file alice_net-0.2.3.tar.gz.

File metadata

  • Download URL: alice_net-0.2.3.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for alice_net-0.2.3.tar.gz
Algorithm Hash digest
SHA256 bdba61cccf669d6fe84d24569c08faf6cd93509ccb7083c2552143a289fc0cf1
MD5 55fa4cda9c7883bb0a70b566a7f14428
BLAKE2b-256 3757d70698dd859d264644fa18651286960242e24e8e675a05617bceb8a67fc0

See more details on using hashes here.

File details

Details for the file alice_net-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: alice_net-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 162.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for alice_net-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 828fe9212ed592b925a6fb5ad098d56681405f13ef9861ab6b2a82e67cc8b3f7
MD5 6c3762e23027c4706e3c8a42d45aebfa
BLAKE2b-256 94e0d734fd093e4f749bf565266db7bcda84bafb7249b972704d4b3c7b8132bf

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

This release

0.2.3 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page